Schnittpunkt für einen Strahl und die Erdoberfläche

11

Angenommen, ich habe einen Strahlenvektor, der von irgendwo im Weltraum stammt. Ein Beispiel könnte ein Lichtstrahl von der Sonne sein. Wie kann ich den Schnittpunkt (falls vorhanden) zwischen dem Strahl und der Erdoberfläche berechnen? Ich verwende kartesische Koordinaten (ECEF) und möchte, dass die Ellipsoidgeometrie der Erde in die Berechnung einfließt.

Pris
quelle

Antworten:

12

Es ist einfach, aber chaotisch.

Da Sie in ECEF arbeiten, haben Sie vermutlich auch den Ursprung (x, y, z) und den Richtungsvektor (u, v, w) des Strahls in ECEF-Koordinaten. Nehmen wir für den Moment an, dass sich die Erde während der Reise zur Erdoberfläche nicht nennenswert bewegt. (Der schnellste Teil der rotierenden Erde, der Äquator, bewegt sich ungefähr 0,45 km / s und das Licht bewegt sich ungefähr 300.000 km / s, so dass ein Strahl, der beispielsweise 1000 km über der Erde stammt und mehr oder weniger direkt in Richtung Äquator gerichtet ist, benötigt 1/300 Sekunde, um es zu erreichen, während der sich der Äquator 1,5 Meter bewegt hat: das ist wahrscheinlich ein akzeptabler Fehler.)

Wir müssen nur den Schnittpunkt der parametrisierten Linie berechnen

t --> (x,y,z) + t*(u,v,w)

mit der Erdoberfläche, die als Nullmenge der Funktion betrachtet werden kann

(x/a)^2 + (y/a)^2 + (z/b)^2 - 1

wo a die große Halbachse (6.378.137 m) ist und b die kleine Halbachse der WGS84 Ellipsoid (6,356,752.3142 Meter). Stecke die erste Formel in die zweite und löse nach t in x, y, z, u, v, w . Da es sich um eine quadratische Gleichung handelt, erhalten Sie bis zu zwei Lösungen: eine zum Betreten der Erde und eine zum erneuten Verlassen der Erde (was beispielsweise bei einem Neutrino passieren würde). Wählen Sie die Lösung, für die die Entfernung am kürzesten ist. Das gibt

t = -(1/(b^2 (u^2 + v^2) +  a^2 w^2)) * (b^2 (u x + v y) + a^2 w z + 1/2 Sqrt[
     4 (b^2 (u x + v y) + a^2 w z)^2 - 
     4 (b^2 (u^2 + v^2) + a^2 w^2) (b^2 (-a^2 + x^2 + y^2) + a^2 z^2)])

Fügen Sie diesen Wert in die erste Gleichung ein, um den Schnittpunkt zu erhalten.

Beginnen Sie für einen Strahl, der weit entfernt, aber nicht sehr weit entfernt ist ( z. B. von der Sonne, aber nicht von außerhalb des Sonnensystems), mit einer groben Schätzung der Zeit T , die benötigt wird, um die Erde zu erreichen (in Sekunden): Sie könnten Verwenden Sie zum Beispiel den Abstand von (x, y, z) zum Erdmittelpunkt. Ändern Sie die Startkoordinaten (x, y, z), um den Betrag der Erdrotation während dieser Zeit zu berücksichtigen: Dadurch werden die Startkoordinaten auf geändert

(x*c + y*s, -x*s + y*c, z)

(Der Punkt scheint sich rückwärts zu bewegen ) wobei c und s der Sinus und Cosinus von 0,000072921150 * T Bogenmaß sind . Berechnen Sie den Schnittpunkt für einen Strahl, der an dieser aktualisierten Stelle beginnt. Aufgrund der geschätzten Zeit können Sie bis zu 10 Meter entfernt sein. Wenn diese Fragen, wieder schätzen die verstrichene Zeit basierend auf diesem Schnittpunkt und wiederholen Sie die Berechnung mit dem neuen Wert von T .

whuber
quelle
Beeindruckend. Vielen Dank für die unglaublich detaillierte Antwort!
Pris
Diese Frage scheint dieser anderen zu nahe zu kommen: gis.stackexchange.com/questions/86031/… Ich verwende jedoch keine ECEF. Kann auf ähnliche Weise @whuber gelöst werden? Thx
Alvarolb
1
@alvarolb Eine Referenz, die zeigt, wie zwischen ECEF und (lon, lat, height) konvertiert wird, finden Sie unter gis.stackexchange.com/questions/20714 .
whuber
Kann nicht direkt berechnet werden, ohne von geodätisch zu EFEC und zurück zu geodätisch zu wechseln?
Alvarolb