2010-04-09 11 views
5

Ich verwende derzeit this code, um die Zeiten für Sonnenaufgang/Sonnenuntergang zu berechnen. (Um genauer zu sein, suche ich nach zivile Dämmerung/zivile Dämmerung Zeiten, die als die Zeit definiert sind, wenn die Sonne zwischen 0 ° und -6 ° Höhe ist). Als nächsten Schritt möchte ich die Endzeit der Morgendämmerung und der Dämmerung berechnen. Ich glaube, dass die Berechnungen sehr ähnlich sein müssen.So berechnen Sie die Zeiten für Morgen- und Abenddämmerung

Meine Idee ist, dass, wenn ich die Dämmerung Anfang (Abenddämmerung) Zeit für einen Ort berechnen möchte ich nur die Sonnenaufgang (Sonnenuntergang) Zeiten für einen Ort 6 ° weiter Osten (Westen) berechnen.

Kann jemand diese Annahme bestätigen, oder denke ich falsch?

Danke für die Antworten!

- Ry

EDIT: Gedanken darüber ein wenig mehr und kam zu dem Schluss, dass meine Annahme falsch ist. 6 ° Ost zu bewegen ist falsch, 6 ° orthogonal zur Licht/Schatten-Grenze zu bewegen wäre richtig. (Es wird offensichtlich, wenn man sich vorstellt, dass die Erdachse nicht um 23.xx °, sondern um 90 ° geneigt ist - eine Bewegung nach Osten würde nichts ändern).

+0

geht hier um die Lösung http://stackoverflow.com/questions/7064531/ sunrise-sunset-times-in-c/9425781 # 9425781 – Geetha

Antwort

2

Der Code, den Sie verknüpfen, verwendet eine Konstante (90.833) in den Methoden calcHourAngle*. Wenn Sie these definitions von Sonnenaufgang/Sonnenuntergang betrachten, werden Sie die gleiche Konstante 90.833 unter Technische Definitionen und Computational Details feststellen. Etwas weiter unten, in der zivilen Dämmerung, wird die ähnliche Konstante von 96 verwendet. Vielleicht würde das Ändern dieser Konstante das bekommen, wonach Sie suchen?

+0

Danke! Genau danach habe ich gesucht! – ryyst

0

Dies funktioniert, aber nur, wenn es in Ordnung ist anzunehmen, dass die Höhe unbedeutend ist. Je nachdem, wie genau Sie sein müssen, wird jemand auf einem hohen Berg den Sonnenaufgang (oder Sonnenuntergang) kurz vor (oder nach) jemandem auf Meereshöhe erleben. Zum Beispiel, wenn Sie auf dem Mount Everest stehen, sind Sonnenaufgang und Sonnenuntergang um ~ 16 Minuten relativ zum Meeresspiegel verschoben (Quelle: Rückseite des Umschlags Mathe).

Beachten Sie, dass die Kontraste zwischen längeren Sommertagen und längeren Winternächten um so ausgeprägter sind, je extremer Ihr Breitengrad ist. Einige Orte auf der Erde erhalten im Sommer den ganzen Tag über 24 Stunden Sonnenlicht und sind alle 24 Stunden in Dunkelheit gehüllt. Diese Orte haben keine tägliche "Morgendämmerung" oder "Abenddämmerung", obwohl Sie die Zeit dazwischen wählen können, wenn die Sonne am tiefsten und am höchsten am Himmel ist.

+0

Nun, die Algorithmen, die zur Berechnung der Sonnenposition verwendet werden, sind an Orten oberhalb des Polarkreises ohnehin sehr ungenau, daher schließe ich all diese Stellen in meinem Programm aus. Elevation wird ab sofort nicht unterstützt. Aber Sie denken, der Algorithmus funktioniert für Orte wie New York City (d. H. Keine extremen Orte)? – ryyst

+0

Wenn Sie damit einverstanden sind, dann ja, es sollte funktionieren. –

+0

Re: New York, es hängt wahrscheinlich davon ab, in welchem ​​Stockwerk du bist .. ;-) –

0

Dies funktioniert nicht. Eine einfache Möglichkeit, dies selbst zu beweisen, ist, dass sich an den Polen die Höhe der Sonne nicht ändert, wenn du deinen Körper drehst, also nach Osten oder Westen um 6 Grad zu gehen wird deine Zeiten nicht beeinflussen.

Wenn Sie näher am Äquator sind, wird diese Berechnung wahrscheinlich genauer sein, aber ich denke nicht, dass es jemals perfekt ist.

+0

@clahey: Ich denke deine Behauptung ist aus. An den Polen gibt es eine Singularität.Du kannst N Grad "Ost" nicht vom Nordpol weg bewegen, weil du nirgendwo anders hingehen kannst. Wir reden auch nicht über das Drehen an Ort und Stelle, wir sprechen davon, einen Winkelabstand über eine Parallele zu verschieben, was eine andere Übersetzung ist. –

+0

Okay, gehen Sie 10 Schritte vom Nordpol entfernt. 6 Grad östlich von Ihnen ist ein Schritt nach links. Sie werden feststellen, dass sich die Uhrzeit des Sonnenuntergangs um einen winzigen Betrag geändert hat. Anfang und Ende der Abenddämmerung sind jedoch noch Tage (Wochen, Monate?) Voneinander entfernt. – clahey

Verwandte Themen