2016-07-23 5 views
1

Hier ist ein Beispielskript, das die Sonnen Deklination auf 2016.07.23 bei 00:00:00 GMT mit beiden PyEphem und Skyfield berechnet: Wie kann ich Skyfield dazu bringen, dem nautischen Almanach für die Neigung der Sonne zuzustimmen?

import ephem 

sun1 = ephem.Sun('2016/7/23 00:00:00') 
dec1 = sun1.dec 

print 'PyEphem Declination:', dec1 

#------------------------------------- 
from skyfield.api import load 

planets = load('de421.bsp') 

earth = planets['earth'] 
sun2 = planets['sun'] 

ts = load.timescale() 
time2 = ts.utc(2016, 7, 23) 

dec2 = earth.at(time2).observe(sun2).apparent().radec()[1] 

print 'Skyfield Declination:', dec2 

Als ich dies laufe ich bekommen

:

PyEphem Declination: 20:01:24.0 
Skyfield Declination: +20deg 04' 30.0" 

Der nautische Almanach gibt 20deg 01.4 'für diese Zeit. Ich bin nicht sicher, was ich falsch mache, um diese Diskrepanz zu verursachen. Vielen Dank!

P.S. Ich benutze Python 2.7 und Skyfield 0.8.

Antwort

1

Die Antwort, die PyEphem Ihnen gibt, ist in genauer Übereinstimmung mit dem Almanach, aber ausgedrückt in traditionellen Stunden-Minuten-Sekunden von Bogen statt in Stunden und Dezimalminuten. Der Bruchteil .4, der Teil der Minutenminutenzahl 1.4 ist, wird, wenn er als Bogensekunden ausgedrückt wird, 60 × 0,4 = 24 Bogensekunden. Also:

20 ° 1,4 '= 20 ° 1'24 "

Skyfield dir gibt, die standardmäßig Koordinaten im permanenten GCRS Koordinatensystem, das der aktualisierte Ersatz für J2000 ist. Aber der Almanach verwendet nicht das Äquator-Äquinoktium-Koordinatensystem des Jahres 2000, sondern das aktuelle Jahr - und tatsächlich den genauen Zeitpunkt - jedes von ihm berichteten Datums. Fragen Skyfield die Deklination in Jahr-2016-Koordinaten auszudrücken, geben Sie ihm den Wert epoch"date":

from skyfield.api import load 

ts = load.timescale() 
planets = load('de421.bsp') 

earth = planets['earth'] 
sun = planets['sun'] 

t = ts.utc(2016, 7, 23) 
ra, dec, distance = earth.at(t).observe(sun).apparent().radec(epoch='date') 
print(dec) 

Das Ergebnis:

+20deg 01' 24.0" 
+1

Danke. Bis jetzt habe ich PyEphem benutzt, aber jetzt, wo ich den Nautical Almanac mit Skyfield abgleichen kann, werde ich damit anfangen. Danke für deine Arbeit! – JoshP

Verwandte Themen