2017-06-29 4 views
1

L'attribut: .date, donc par exemplePyEphem: que dois-je régler l'heure dans l'attribut de date d'un objet pour trouver l'heure de lever/coucher du soleil?

>>> gatech.date = '1984/5/30 16:22:56' # 12:22:56 EDT 

En regardant la documentation, il semble qu'en raison des changements astronomiques, l'emplacement de divers objets par rapport aux changements d'observateurs avec le temps et c'est ce que le compte de la date pour.

Toutefois, je ne souhaite recevoir que les heures de lever et de coucher du soleil à un endroit particulier. Dans ce cas, je ne sais pas exactement ce que je devrais mettre pour l'instant dans l'attribut date.

Répondre

1

La composante temporelle de gatech.date doit simplement être une valeur UTC qui n'est pas proche de l'heure de lever/coucher du soleil. Le pari le plus sûr est de choisir midi local ou minuit. Il ne doit pas être EXACTEMENT midi ou minuit, tant qu'il est suffisamment éloigné du lever/coucher du soleil pour éviter de confondre les fonctions suivantes/précédentes de Pyephem - même lorsque DST essaie de faire un gâchis.

Utiliser minuit locale:

gatech.date = '1984/5/30 4:00:00' # 0:00:00 local time (ignoring DST) 
gatech.lat = str(33.775618) 
gatech.lon = str(-84.396285) 

sunrise = gatech.next_rising(ephem.Sun()) # local sunrise on 5/30/1984 in UTC 
sunset = gatech.next_setting(ephem.Sun()) # local sunset on 5/30/1984 in UTC 

Si vous utilisez midi, heure locale, vous pouvez utiliser les fonctions previous_rising et next_setting.

+0

merci, c'est une bonne chose à noter! –