Punto di intersezione per un raggio e la superficie terrestre


11

Supponiamo che io abbia un raggio vettore proveniente da qualche parte nello spazio. Un esempio potrebbe essere un raggio di luce proveniente dal sole. Come posso calcolare il punto di intersezione (se esiste) tra il raggio e la superficie terrestre? Sto usando le coordinate cartesiane (ECEF) e vorrei che la geometria ellissoidale della Terra prendesse in considerazione il calcolo.

Risposte:


12

È semplice ma disordinato.

Poiché stai lavorando in ECEF, presumibilmente hai anche l'origine del raggio (x, y, z) e il vettore di direzione (u, v, w) nelle coordinate ECEF. Per il momento supponiamo che durante il tempo di viaggio verso la superficie terrestre, la terra non si muova sensibilmente. (La parte più veloce della terra rotante, l'Equatore, si muove di circa 0,45 km / sec e la luce si muove di circa 300.000 km / sec, quindi un raggio originario, diciamo, di 1000 km sopra la terra e diretto più o meno verso il basso verso l'Equatore prenderà 1/300 di secondo per raggiungerlo, durante il quale l'equatore si sarà mosso di 1,5 metri: è probabilmente un errore accettabile.)

Dobbiamo solo calcolare l'intersezione della linea parametrizzata

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

con la superficie terrestre, che può essere considerata l'insieme zero della funzione

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

dove a è l'asse semi-maggiore (6.378.137 metri) eb b è l'asse semi-minore dell'ellissoide WGS84 (6.356.752.3142 metri). Inserisci la prima formula nella seconda e risolvi per t in termini di x, y, z, u, v, w . È un'equazione quadratica, quindi ottieni due soluzioni: una per entrare nella terra e un'altra per lasciarla di nuovo (cosa che accadrebbe, ad esempio, per un neutrino). Scegli la soluzione per cui la distanza è più breve. Questo da

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)])

Inserire questo valore nella prima equazione per ottenere il punto di intersezione.

Per un raggio originario molto lontano, ma non terribilmente lontano ( ad esempio, dal sole ma non dall'esterno del sistema solare), inizia con una stima approssimativa del tempo T che dovrebbe impiegare per raggiungere la terra (in secondi): potresti usa la distanza da (x, y, z) al centro della terra, per esempio. Modifica le coordinate iniziali (x, y, z) per tenere conto della quantità di rotazione terrestre durante questo periodo: questo cambierà le coordinate iniziali in

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

(il punto sembrerà spostarsi indietro ) dove c e s sono il seno e il coseno di 0,000072921150 * T radianti . Calcola l'intersezione per un raggio a partire da questa posizione aggiornata. Potresti essere spento fino a circa 10 metri a causa dell'uso di un tempo stimato. Se questo importa, ri-stimare il tempo trascorso sulla base di questo punto di intersezione e ripetere il calcolo con il nuovo valore di T .


Wow. Grazie mille per la risposta incredibilmente dettagliata!
Pris

Questa domanda sembra essere troppo vicina a un'altra: gis.stackexchange.com/questions/86031/… Comunque non uso ECEF. Può essere risolto in modo simile @whuber? Thx
alvarolb

1
@alvarolb Un riferimento che mostra come convertire tra ECEF e (lon, lat, altitudine) è dato su gis.stackexchange.com/questions/20714 .
whuber

Non può essere calcolato direttamente senza passare dal geodetico all'EFEC e tornare al geodetico?
alvarolb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.