slart
Aktives Mitglied
Hallo,
für alle die gerne mit Map-Software wie Leaflet / OpenLayer arbeiten, hier eine Möglichkeit eines Moon Lighting/Shadow on Earth in der Map darzustellen.
Benötigt wird dieses Skript:
und darin der Wert RA (Hrs) - Equatorial. Dieser muss jedoch bei seiner Berechnung wie folgt angepasst werden.
Zeile 103
// form.MoonRA.value = round(EqMoon[1]/15 *RAD2DEG, 4);
form.MoonRA.value = round(((EqMoon[1]/15 *RAD2DEG) * 0.000001), 4);
Am besten diese Berechnung gleich in einer Variable speicher, für das zweite Skript:
RA = round(((EqMoon[1]/15 *RAD2DEG) * 0.000001), 4);
Als nächstes wird dieses Skript benötigt, dass den [lon, lat] Array für Leaflet / OpenLayer berechnet:
github.com
Darin sind folgende Änderungen vorzunehmen:
Diese Funktionen können gelöscht werden, sowie die Zeilen, in denen sie verwendet werden.
function julian(date)
function GMST(julianDay)
_sunEclipticPosition: function (julianDay)
_eclipticObliquity: function (julianDay)
_sunEquatorialPosition: function (sunEclLng, eclObliq)
Die Funktion _hourAngle wie folgt anpassen ("+" durch "-" austauschen):
_hourAngle: function (lng, sunPos, gst) {
/* Compute the hour angle of the sun for a longitude on
* Earth. Return the hour angle in degrees. */
var lst = gst - lng / 15;
return lst * 15 - sunPos.alpha;
},
In der Funktion _compute muss der Wert RA (Hrs) - Equatorial aus dem ersten Skript der Variable "gst" zugeführt werden:
var gst = RA;
Voila, fertig!
Bitte selbst validieren und eventuelle Probleme und Änderungen hier posten.
für alle die gerne mit Map-Software wie Leaflet / OpenLayer arbeiten, hier eine Möglichkeit eines Moon Lighting/Shadow on Earth in der Map darzustellen.
Benötigt wird dieses Skript:
und darin der Wert RA (Hrs) - Equatorial. Dieser muss jedoch bei seiner Berechnung wie folgt angepasst werden.
Zeile 103
// form.MoonRA.value = round(EqMoon[1]/15 *RAD2DEG, 4);
form.MoonRA.value = round(((EqMoon[1]/15 *RAD2DEG) * 0.000001), 4);
Am besten diese Berechnung gleich in einer Variable speicher, für das zweite Skript:
RA = round(((EqMoon[1]/15 *RAD2DEG) * 0.000001), 4);
Als nächstes wird dieses Skript benötigt, dass den [lon, lat] Array für Leaflet / OpenLayer berechnet:
GitHub - joergdietrich/Leaflet.Terminator: Night and day regions on Earth
Night and day regions on Earth. Contribute to joergdietrich/Leaflet.Terminator development by creating an account on GitHub.
Darin sind folgende Änderungen vorzunehmen:
Diese Funktionen können gelöscht werden, sowie die Zeilen, in denen sie verwendet werden.
function julian(date)
function GMST(julianDay)
_sunEclipticPosition: function (julianDay)
_eclipticObliquity: function (julianDay)
_sunEquatorialPosition: function (sunEclLng, eclObliq)
Die Funktion _hourAngle wie folgt anpassen ("+" durch "-" austauschen):
_hourAngle: function (lng, sunPos, gst) {
/* Compute the hour angle of the sun for a longitude on
* Earth. Return the hour angle in degrees. */
var lst = gst - lng / 15;
return lst * 15 - sunPos.alpha;
},
In der Funktion _compute muss der Wert RA (Hrs) - Equatorial aus dem ersten Skript der Variable "gst" zugeführt werden:
var gst = RA;
Voila, fertig!
Bitte selbst validieren und eventuelle Probleme und Änderungen hier posten.