Großkreislinien in äquirektangulärer Projektion

12

Nur um zu überprüfen, ob ich auf dem richtigen Weg bin:

Sind alle Großkreise auf der Kugel und in gleichwinkliger Projektion (dh Breiten-, Längengradpaare) entweder:

  1. Meridiane (dh von Pol zu Pol gehen)
  2. der Form tan latitude = sin360(longitude + rotation) * amplitude + offset

(mit zusätzlichen Einschränkungen für die Versatz- / Amplitudenkombinationen - natürlich haben alle Großkreisbahnen mit einer Amplitude von 0 auch den Versatz 0 - den Äquator).

Oder gibt es Großkreiswege, die nicht in dieses Schema passen (wiederum nur in einem Längen- und Breitengrad-Koordinatensystem, nicht in anderen Kartenprojektionen).

Hinweis: Ich habe das tanoben Gesagte hinzugefügt, nachdem ich die Frage gestellt habe, als Reaktion auf Whubers ausgezeichnete Antwort. Es stellt sich heraus, dass offsetdann immer 0 ist.

Erich Schubert
quelle
Form # 2 ist keine Menge von (Breiten-, Längen-) Paaren. Was bedeutet es? Und warum hängt es von drei Parametern ab ( rotation, amplitudeund offset), wenn die Großkreise natürlich nur zwei Parameter haben (jeder entspricht einem Paar diametral entgegengesetzter Punkte, die dazu "polar" sind)?
Whuber
Ja, man ist überflüssig, aber ich habe die Formel nicht fertig. Wie bereits erwähnt, amplitude==0impliziert offset=0; diese beiden sind offensichtlich gekoppelt. Siehe aktualisierte Frage für die fehlende latitude, um die Beziehung gut zu gestalten.
Erich Schubert

Antworten:

11

Obwohl Geodäten in einigen Projektionen ein wenig wie Sinuswellen aussehen, ist die Formel falsch.

Hier ist eine Geodät in einer gleichwinkligen Projektion. Offensichtlich ist es keine Sinuswelle:

Bildbeschreibung hier eingeben

(Das Hintergrundbild stammt von http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)

Da alle äquirektangulären Projektionen affine Transformationen von dieser sind (wobei die x-Koordinate die Länge und die y-Koordinate die Breite ist) und affine Transformationen von Sinuswellen immer noch Sinuswellen sind, können wir in keiner Form Geodäten erwarten Die gleichwinklige Projektion muss Sinuswellen sein (mit Ausnahme des Äquators, der als horizontale Linie dargestellt wird). Fangen wir also am Anfang an und erarbeiten wir die richtige Formel.

Die Gleichung eines solchen Geodäten sei in der Form

latitude = f(longitude)

für eine Funktion f gefunden werden. (Dieser Ansatz hat bereits die Meridiane aufgegeben, die nicht in einer solchen Form geschrieben werden können, ansonsten aber völlig allgemein sind.) Die Umrechnung in kartesische 3D-Koordinaten (x, y, z) ergibt

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

Dabei ist l die Länge und ein Einheitsradius wird angenommen (ohne Verlust der Allgemeinheit). Da es sich bei Geodäten auf der Kugel um Schnittpunkte mit Ebenen handelt (die durch ihren Mittelpunkt verlaufen), muss ein konstanter Vektor (a, b, c) existieren, der zwischen die Pole der Geodätischen gerichtet ist

a x + b y + c z = 0

egal wie groß der Wert von l sein mag. Das Auflösen nach f (l) ergibt

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

vorausgesetzt, c ist ungleich Null. Offensichtlich erhalten wir , wenn c gegen 0 geht, an der Grenze ein Paar Meridiane, die sich um 180 Grad unterscheiden - genau die Geodäten, die wir zu Beginn aufgegeben haben. Also ist alles gut. Übrigens, trotz des Auftretens werden nur zwei Parameter verwendet, die a / c und b / c entsprechen.

Beachten Sie, dass alle Geodäten gedreht werden können, bis sie den Äquator bei null Grad Länge überqueren. Dies zeigt an, dass f (l) in Form von f0 (l-l0) geschrieben werden kann, wobei l0 die Länge des Äquatorübergangs und f0 der Ausdruck eines geodätischen Übergangs am Nullmeridian ist. Daraus erhalten wir die äquivalente Formel

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

Dabei ist -180 <= 10 <180 Grad die Länge des Äquatorübergangs (wenn die Geodät in östlicher Richtung in die nördliche Hemisphäre eintritt) und Gamma ist eine positive reelle Zahl. Dies schließt die Meridianpaare nicht ein. Wenn gamma = 0 ist, bezeichnet es den Äquator mit einem Startpunkt bei Länge 10; wir können in diesem Fall immer l0 = 0 nehmen, wenn wir eine eindeutige Parametrisierung wünschen. Es gibt nur noch zwei Parameter, die dieses Mal durch l0 und gamma gegeben sind .


Mathematica 8.0 wurde verwendet, um das Bild zu erstellen. Tatsächlich wurde eine "dynamische Manipulation" erstellt, bei der der Vektor (a, b, c) gesteuert werden kann und die entsprechende Geodäsie sofort angezeigt wird. (Das ist ziemlich cool.) Zuerst erhalten wir das Hintergrundbild:

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

Hier ist der Code in seiner Gesamtheit:

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]}]
whuber
quelle
Vielen Dank. Ich habe das arctanirgendwo verloren. Ich schätze, ich habe arctan latitudeirgendwo angefangen .
Erich Schubert
Ich wünschte, ich könnte dies mehr als einmal abstimmen!
Ian Turton