2017-07-04 3 views
3

Je nach Jahreszeit sieht es so aus, als würde die Sonne an manchen Stellen nie unter einen bestimmten Winkel zum Horizont abfallen.PyEphem: Wie berechne ich die niedrigste Höhe der Sonne (größter Winkel, unter dem die Sonne den Horizont erreicht)?

Gibt es einen Weg in PyEphem, den niedrigsten möglichen Winkel zu bestimmten Zeiten und an bestimmten Orten zu berechnen, damit ich einen AlwaysUpError vermeiden kann?

+1

Im Allgemeinen müssen Sie mit AlwaysUpErrors umgehen können, wenn Sie mit Standorten über dem Polarkreis arbeiten. – thebjorn

Antwort

2

Verwenden Sie die Funktionen transit_time, next_antitransit, um die Reichweite der Winkel zu ermitteln, an denen die Sonne erscheint. Die Transitzeit ist, wenn die Sonne durch Ihren Beobachterstandort den Meridian erreicht, und das entspricht natürlich, wenn die Sonne ihre höchste Höhe erreicht. Die gleiche Idee für die Anti-Transit geht (wenn die Sonne die Rückseite des Meridians erreicht)

Zum Beispiel:

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

und die niedrigste Höhe zu erhalten, können Sie tun:

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