Linee del grande cerchio nella proiezione equirettangolare


12

Solo per verificare che sono sulla buona strada:

Sono tutti grandi cerchi sulla sfera e in proiezione equirettangolare (cioè coppie di latitudine, longitudine):

  1. meridiani (ovvero andando da polo a polo)
  2. del modulo tan latitude = sin360(longitude + rotation) * amplitude + offset

(con ulteriori restrizioni sulle combinazioni di offset / ampiezza - ovviamente, anche tutti i grandi percorsi circolari con un'ampiezza di 0 hanno offset 0 - l'equatore).

Oppure ci sono percorsi del grande cerchio che non rientrano in questo schema (di nuovo, solo in un sistema di coordinate di longitudine-latitudine, non su altre proiezioni cartografiche).

Nota: ho aggiunto quanto tansopra dopo aver pubblicato la domanda, in risposta a una risposta eccellente da parte dei whubers. Si scopre che offsetquindi è sempre 0.


Il modulo n. 2 non è un insieme di coppie (latitudine, longitudine). Cosa significa? E perché esso dipende tre parametri ( rotation, amplitudee offset) quando i grandi ambienti hanno naturalmente solo due parametri (ciascuna delle quali corrisponde ad una coppia di punti diametralmente opposti che sono "polare" ad esso)?
whuber

Sì, uno è ridondante, ma non ho la formula pronta. Come notato, amplitude==0implica offset=0; questi due sono ovviamente accoppiati. Vedi la domanda aggiornata per i dispersi latitudeper rendere ben definita la relazione.
Erich Schubert,

Risposte:


11

Sebbene la geodetica assomigli un po 'alle onde sinusoidali in alcune proiezioni, la formula non è corretta.

Ecco un geodetico in una proiezione equirettangolare. Chiaramente non è un'onda sinusoidale:

inserisci qui la descrizione dell'immagine

(L'immagine di sfondo è tratta da http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectang-projection.jpg/800px-Equirrical-projection.jpg .)

Poiché tutte le proiezioni equirettiformi sono trasformazioni affine di questa (dove la coordinata x è la longitudine e la coordinata y è la latitudine), e le trasformazioni affine delle onde sinusoidali sono ancora onde sinusoidali, non possiamo aspettarci alcuna geodetica in qualsiasi forma del Proiezione equirettangolare per essere onde sinusoidali (ad eccezione dell'equatore, che viene tracciato come una linea orizzontale). Quindi iniziamo dall'inizio e elaboriamo la formula corretta.

Lascia che l'equazione di un tale geodetico sia nella forma

latitude = f(longitude)

per trovare una funzione f . (Questo approccio ha già rinunciato ai meridiani, che non possono essere scritti in tale forma, ma per il resto è del tutto generale.) La conversione in coordinate cartesiane 3D (x, y, z) fornisce

x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))

dove l è la longitudine e si assume un raggio unitario (senza alcuna perdita di generalità). Poiché la geodetica sulla sfera sono intersezioni con i piani (passando attraverso il suo centro), deve esistere un vettore costante (a, b, c) - che è diretto tra i poli del geodetico - per il quale

a x + b y + c z = 0

non importa quale sia il valore di l . Risolvendo per f (l) si ottiene

f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)

purché c sia diverso da zero. Evidentemente, quando c si avvicina a 0, otteniamo nel limite una coppia di meridiani che differiscono di 180 gradi - precisamente la geodetica che abbiamo abbandonato all'inizio. Quindi va tutto bene. A proposito, nonostante le apparenze, questo utilizza solo due parametri pari a / c e b / c.

Si noti che tutti i geodetici possono essere ruotati fino a quando non attraversano l'equatore a zero gradi di longitudine. Ciò indica che f (l) può essere scritto in termini di f0 (l-l0) in cui l0 è la longitudine della traversata equatoriale e f0 è l'espressione di una traversata geodetica nel Primo Meridiano. Da questo otteniamo la formula equivalente

f(l) = ArcTan(gamma * sin(l - l0))

dove -180 <= l0 <180 gradi è la longitudine della traversata equatoriale (poiché il geodetico entra nell'emisfero settentrionale quando si viaggia verso est) e gamma è un numero reale positivo. Questo non include le coppie meridiane. Quando gamma = 0 indica l'equatore con un punto iniziale alla longitudine l0; possiamo sempre prendere l0 = 0 in quel caso se desideriamo una parametrizzazione unica. Ci sono ancora solo due parametri, dati questa volta da l0 e gamma .


Mathematica 8.0 è stato usato per creare l'immagine. In effetti, ha creato una "manipolazione dinamica" in cui il vettore (a, b, c) può essere controllato e il geodetico corrispondente viene immediatamente visualizzato. (È piuttosto interessante.) Innanzitutto otteniamo l'immagine di sfondo:

i = Import[
   "http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
    Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]

Ecco il codice nella sua interezza:

Manipulate[
 {a, b, c} = {Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]};
 Show[Graphics[{Texture[i], 
    Polygon[{{-\[Pi], -\[Pi]/2}, {\[Pi], -\[Pi]/2}, {\[Pi], \[Pi]/2}, {-\[Pi], \[Pi]/2}}, 
     VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}], 
  Plot[ArcTan[(a Cos[\[Lambda]] + b Sin[\[Lambda]]) / (-c)], {\[Lambda], -\[Pi], \[Pi]}, 
   PlotRange -> {Automatic, {-\[Pi]/2, \[Pi]/2}}, PlotStyle -> {Thick, Red}]],
   {u, 0, 2 \[Pi]}, {v, -\[Pi]/2, \[Pi]}]

Grazie. L'ho perso da arctanqualche parte. Immagino di aver iniziato da arctan latitudequalche parte.
Erich Schubert,

Vorrei poter votare questo più di una volta!
Ian Turton
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.