2017-07-04 4 views
3

En fonction des saisons, il semble que le soleil ne sera jamais inférieure à un certain angle par rapport à l'horizon à certains endroits.PyEphem: Comment calculer la plus basse altitude du soleil (le plus grand angle du soleil atteindra l'horizon)?

est-il un moyen de PyEphem pour calculer le plus bas angles possibles à des moments précis et les lieux, donc je peux éviter une AlwaysUpError?

+1

En général, vous devez être en mesure de gérer AlwaysUpErrors chaque fois que vous avez affaire à des endroits au-dessus du cercle polaire arctique .. – thebjorn

Répondre

2

Pour obtenir la gamme des angles où le soleil atteindra, utiliser les fonctions transit_time, next_antitransit. Le temps de transit est lorsque le soleil atteint le méridien par votre position d'observateur, et bien sûr, correspond au moment où le soleil atteint sa plus haute altitude. La même idée va pour l'anti-transit (lorsque le soleil atteint le côté arrière du méridien)

Par exemple:

... #create observer 
sun = ephem.Sun(obs) 
obs.date = sun.transit_time 
maximum_altitude = sun.alt 

Et pour obtenir la plus basse altitude, vous pouvez faire:

obs.date = obs.next_antitransit(sun) 
sun.compute(obs) 
minimum_altitude = sun.alt