Poznámky:
-
Oproti minulé verzi (z 11.11.2009) byla upravena inicializace třídy, první parametr je zeměpisná šířka a druhý parametr je zeměpisná délka. Třetí je pak časové pásmo. Všechny tři parametry jsou nepovinné.
-
Tato třída není určena pro velmi přesné astronomické výpočty, ostatně ani jazyk PHP není pro tyto věci z principu vhodný.
-
Výpočty poloh planet jsou prováděny podle zkrácene teorie pohybu planet VSOP87, výpočty Měsíce dle obdobně upravené teorie pohybu Měsíce ELP2000-85.
-
Vstupy a výstupy úhlové míry jsou vždy ve stupních. Pro případný převod lze použít funkce v knihovně csFunctions.php distribuované společně s třídou. Vzdálenosti planet jsou v astronomických jednotkách (1AU=149 597 871km), pouze vzdálenost Měsíce je v kilometrech.
-
Nejpřesněji je určována poloha Slunce (potažmo Země), pak Měsíce a nakonec planet.
-
Ekliptikální šířka Slunce, zjištěná pomocí get("Sun", "latitude"), je vždy přesně 0°. A pochopitelně: get("Sun", "longitude") = get("Earth", "longitude") + 180.
-
Azimut je astronomický, jih má tedy 0°, západ 90°, sever 180° a východ 270°.
-
32bitové servery pracují pouze s časem od 13.12.1901 20:45:54 do 19.1.2038 03:14:07 GMT. Některé platformy dokonce nezvládají záporný timestamp, pak lze používat pouze časy od 1.1.1970 00:00:00 GMT, viz poznámka na php.net. Vnitřně však třída pracuje s julianským datem, případná úprava je proveditelná.
-
Při inicializaci třídy lze, kromě zeměpisných souřadnic, zadat i časové pásmo, například new celestialSphere(51.476, 0.0, "GMT") je pozice Královské greenwichské observatoře. Veškeré výpočty pak budou prováděny pro její časové pásmo. Další časová pásma naleznete na
PHP: List of Supported Timezones
. Pokud chcete pracovat s naším časovým pásmem, ale bez případného přepočtu na letní čas, použijte pásmo "Etc/GMT-1".
-
Třída převádí zadaný čas na dynamický čas, rozdíl obou časů udává proměnná třídy deltaT. Chcete-li zadat přímo dynamický čas metodou setTime, uveďte jako druhý parametr false.
-
Při zadávání dalších objektů - hvězd - se předpokládá ekvinokcium 2000.
Rovníkové souřadnice hvězd se pak přepočítavají s ohledem na precesi.
Příklad zadání souřadnic hvězdy Polárka: setObject("Polaris", 37.946, 89.264). Její výšku nad obzorem pak zjistíte pomocí get("Polaris", "height"). Pokud chcete zamezit počítání precese, zadejte jako čtvrtý parametr metody false, například zadání jarního bodu: setObject("Vernal equinox", 0, 0, false).
- Kontakt na autora:
J. Jozif (jirkaj(z)beda.cz)
zdroj
® MaI™ 2011