Grand cercle en projection équirectangulaire

12

Juste pour vérifier que je suis sur la bonne voie:

Tous les grands cercles sont-ils sur la sphère et en projection équirectangulaire (c'est-à-dire les paires de latitude, longitude):

  1. méridiens (c.-à-d. aller de pôle en pôle)
  2. de la forme tan latitude = sin360(longitude + rotation) * amplitude + offset

(avec des restrictions supplémentaires sur les combinaisons décalage / amplitude - évidemment, tous les grands chemins de cercle avec une amplitude de 0 ont également un décalage 0 - l'équateur).

Ou y a-t-il des chemins en grand cercle qui ne rentrent pas dans ce schéma (encore une fois, uniquement dans un système de coordonnées longitude-latitude, pas sur d'autres projections de carte).

Remarque: J'ai ajouté ce qui tanprécède après avoir posté la question, en réaction à l'excellente réponse des whubers. Il s'avère que offsetalors toujours 0.

Erich Schubert
la source
Le formulaire n ° 2 n'est pas un ensemble de paires (latitude, longitude). Qu'est-ce que ça veut dire? Et pourquoi cela dépend de trois paramètres ( rotation, amplitudeet offset) quand les grands cercles ont naturellement que deux paramètres (chacun correspond à une paire de points diamétralement opposés qui sont « polaire » à elle)?
whuber
Oui, l'un est redondant, mais je n'ai pas la formule prête. Comme indiqué, amplitude==0implique offset=0; ces deux sont évidemment couplés. Voir la question mise à jour pour les manquants latitudepour que la relation soit bien formée.
Erich Schubert

Réponses:

11

Bien que les géodésiques ressemblent un peu aux ondes sinusoïdales dans certaines projections, la formule est incorrecte.

Voici une géodésique dans une projection équirectangulaire. Ce n'est clairement pas une onde sinusoïdale:

entrez la description de l'image ici

(L'image d'arrière-plan provient de http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)

Parce que toutes les projections équirectangulaires sont des transformations affines de celle-ci (où la coordonnée x est la longitude et la coordonnée y est la latitude), et les transformations affines des ondes sinusoïdales sont toujours des ondes sinusoïdales, nous ne pouvons nous attendre à aucune géodésique sous aucune forme de la La projection équirectangulaire doit être des ondes sinusoïdales (à l'exception de l'équateur, qui représente une ligne horizontale). Commençons donc au début et trouvons la bonne formule.

Soit l'équation d'une telle géodésique sous la forme

latitude = f(longitude)

pour qu'une fonction f soit trouvée. (Cette approche a déjà abandonné les méridiens, qui ne peuvent pas être écrits sous une telle forme, mais sinon, c'est tout à fait général.) La conversion en coordonnées cartésiennes 3D (x, y, z) donne

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

l est la longitude et un rayon unitaire est supposé (sans aucune perte de généralité). Puisque les géodésiques sur la sphère sont des intersections avec des plans (passant par son centre), il doit exister un vecteur constant (a, b, c) - qui est dirigé entre les pôles de la géodésique - pour lequel

a x + b y + c z = 0

quelle que soit la valeur de l . La résolution de f (l) donne

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

à condition que c soit différent de zéro. Evidemment, lorsque c s'approche de 0, on obtient à la limite une paire de méridiens différant de 180 degrés - précisément les géodésiques que nous avons abandonnées au départ. Donc tout va bien. Soit dit en passant, malgré les apparences, cela n'utilise que deux paramètres égaux à a / c et b / c.

Notez que toutes les géodésiques peuvent être tournées jusqu'à ce qu'elles traversent l'équateur à zéro degré de longitude. Cela indique que f (l) peut être écrit en termes de f0 (l-l0) où l0 est la longitude du croisement équatorial et f0 est l'expression d'un croisement géodésique au premier méridien. De là, nous obtenons la formule équivalente

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

où -180 <= l0 <180 degrés est la longitude du croisement équatorial (lorsque la géodésique pénètre dans l'hémisphère nord en voyageant vers l'est) et gamma est un nombre réel positif. Cela n'inclut pas les paires de méridiens. Lorsque gamma = 0, il désigne l'équateur avec un point de départ à la longitude l0; on peut toujours prendre l0 = 0 dans ce cas si l'on souhaite un paramétrage unique. Il n'y a encore que deux paramètres, donnés par l0 et gamma cette fois.


Mathematica 8.0 a été utilisé pour créer l'image. En fait, il a créé une "manipulation dynamique" dans laquelle le vecteur (a, b, c) peut être contrôlé et la géodésique correspondante est affichée instantanément. (C'est plutôt cool.) Nous obtenons d'abord l'image d'arrière-plan:

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

Voici le code dans son intégralité:

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
la source
Merci. J'ai perdu ça arctanquelque part. Je suppose que j'ai commencé arctan latitudequelque part.
Erich Schubert
J'aimerais pouvoir voter plus d'une fois!
Ian Turton