Maan op / Maan onder
Maan op: | uur | |
Maan onder: | uur |
Op veel populaire sites zie je gegevens over zon en maan. Dat is niet zo vreemd als je bedenkt dat zon en maan
de voornaamste levensritmes van de mens bepalen.
Op deze bladzijde wordt een JavaScript gepresenteerd dat het tijdstip van maanopkomst en maanondergang berekent
op de dag van vandaag, zoals hier rechts.
Het berekenen van de tijdstippen waarop de maan opkomt en ondergaat is niet echt eenvoudig. Dat komt doordat de maan om de aarde draait en de aarde om de zon draait. Daarbij komt nog dat de baan van de aarde om de zon in een schuin vlak ligt ten opzichte van de rotatie-as van de aarde.
De code staat onderaan deze bladzijde. Je kunt hem downloaden om zelf te gebruiken.
- De JavaScript-functions waarmee de berekeningen worden gedaan zijn overgenomen uit het werk van Keith Burnett. Hij presenteert o.a. een JavaScript waarmee een tabel kan worden gemaakt van de opkomst en ondergang van zon en maan. Een (iets gemodificeerde) Nederlandstalige versie van dat programma vind je op de site van Bert Kassies.
- De werking van het script blijft hier verder onbesproken. De website van Burnett is –helaas– verdwenen.
- De mogelijkheden van dit script zijn beperkt. Het geeft alleen de mogelijkheid om de tijden van maanopkomst en -ondergang op je site te zetten.
- Bij de bewerking voor deze website is een aanpassing gemaakt:
- De berekening van Burnett houdt geen rekening met zomertijd. Dat is in deze versie ingebouwd.
- Het script heeft een beperkte nauwkeurigheid. Dat heeft twee oorzaken:
- De formules hebben een beperkte nauwkeurigheid.
- De berekeningen gelden voor één plaats op aarde, bepaald door de lengte- en breedtegraad.
De versie van het script op deze website geldt voor Spijkenisse.
- Het JavaScript staat in de file maanoponder.js. Je moet het aanpassen als je het wilt laten rekenen voor andere plaatsen dan Spijkenisse.
- Je kunt de plaats van zonsopkomst en ondergang veranderen door in maanoponder.js de variabelen mlongitude (= lengtegraad) en mlatitude (= breedtegraad) te wijzigen. Wijzig eventueel ook de variabele timezone. Voor een groot deel van West-Europa is dat (tijdens wintertijd!) +1 uur t.o.v. UTC (Greenwich tijd).
- Let er bij het wijzigen van de lengte- en breedte graad op dat:
- Geef de coördinaten (mlongitude,mlatitude) aan in decimale graden.
- Voor Noorderbreedte is longitude > 0.
Voor Zuiderbreedte is longitude < 0. - Voor Westerlengte is latitude < 0.
Voor Oosterlengte is latitude > 0. - Een goed hulpmiddel voor het bepalen van de juiste coördinaten is Google Earth. Google Earth geeft coördinaten in graden, minuten en seconden.
Dat reken je als volgt om:
decimale hoek in graden =
hoek + minuten/60 + seconden/3600
- Bij het openen van de pagina wordt het tijdstip van maanopkomst en -ondergang meteen berekend, geldend voor de dag van vandaag. Het is dus noodzakelijk dat de systeemklok van de PC redelijk op tijd loopt, anders gaat het fout.
- De tijden van maanopkomst en -ondergang worden door het script beschikbaar gesteld in het formaat
hh:mm, dus in uren en minuten.
Als er geen maanopkomst of -ondergang is krijg je --:--. Dat heeft direct te maken met de stand van de maan, maar ook als er "ergens" wat fout gaat in de berekening. - Het kan voorkomen dat de maan het gehele etmaal boven de horizon staat. Dan krijg je **:** als resultaat.
Het komt ook voor dat de maan het gehele etmaal onder de horizon blijft. Dan wordt het resultaat: ##:##. - Maanopkomst verschijnt in de variabele moon_rise.
Maanondergang verschijnt in de variabele moon_set.
Met behulp van JavaScript kun je dit in je document weergeven. De opmaak bepaal je zelf naar eigen smaak. Als voorbeeld staat hieronder de code met de opmaak op deze bladzijde. - Het script houdt rekening met zomer- en wintertijd. Daarvoor is noodzakelijk om behalve maanoponder.js ook de file zomertijd.js in je code op te nemen. De file zomertijd.js hoeft niet te worden aangepast. Wel is het noodzakelijk om zomertijd.js vóór maanoponder.js in de code te zetten.
Gebruik:
- De code staat gedeeltelijk in de <HEAD> en gedeeltelijk in de <BODY>.
De code ziet er als volgt uit:
(Zet dit in de <HEAD>. De volgorde is belangrijk!)
(Dit is het voorbeeld op deze bladzijde. Zet het in de <BODY>)<script src="zomertijd.js"></script>
<script src="maanoponder.js"></script>
Sommige regels code staan verdeeld over twee regels, vanwege de leesbaarheid. In je site moet dat op één regel staan.
<div style="float:right; margin:10px 0 20px 30px; padding:10px; border:1px solid navy; background:#FFFFD8">
<table border="0" cellpadding="0" cellspacing="0"><tr>
<td align="right">Maan op: </td>
<td align="right">
<script>document.write(moon_rise);</script></td>
<td> uur</td>
</tr><tr>
<td align="right">Maan onder: </td>
<td align="right">
<script>document.write(moon_set);</script></td>
<td> uur</td>
</tr></table></div>
Downloaden:
Druk op de knop:
File: voorb264.zip, 5084 bytes.
Opmerking:
Een vergelijkbaar script dat de opkomst en de ondergang van de zon berekent is beschikbaar. Zie het item
Zon op / Zon onder.
Voor dit soort berekeningen bestaat ook een uitgebreide maan-calculator. Zie het item Maancalculator.