Étant donné une ligne à la surface de la terre, comment puis-je tracer une ligne perpendiculaire à celle-ci?
Toutes mes excuses si c'est une question très simple. Je pensais que ce serait une tâche simple, mais cela se révèle contre-intuitif.
Je commence par la ligne bleue dans la figure ci-dessous (voir le lien - je ne peux pas encore télécharger de chiffres). J'ai trouvé une ligne perpendiculaire en calculant le gradient de la ligne bleue (m), puis en traçant une autre ligne (verte) avec un gradient -1 / m. Lorsque je trace les lignes dans Matlab (en utilisant «plot» et «axis equal»), elles semblent perpendiculaires, comme prévu.
Cependant, lorsque j'exporte ces lignes vers Google Earth (à l'aide de la boîte à outils KML), elles ne semblent plus perpendiculaires (voir le lien ci-dessous; la ligne la plus courte est la ligne bleue de la figure précédente).
Je comprends que des choses étranges se produisent sur des surfaces courbes, mais je pensais que les lignes devraient au moins sembler perpendiculaires localement. Je soupçonne que cela a quelque chose à voir avec la projection dans Google Earth - en particulier, le fait que les cellules de la grille semblent avoir des longueurs latérales à peu près similaires, mais le bord longitudinal a une longueur = 1 degré, tandis que le bord latitudinal a une longueur = 0,5 diplôme.
Donc, en résumé:
- ma méthode de recherche d'une ligne perpendiculaire est-elle valable sur une surface courbe? (c.-à-d. tracer une ligne avec un gradient -1 / m)
- dans l'image de Google Earth, les lignes perpendiculaires semblent-elles comme prévu ou quelque chose d'étrange se passe-t-il?
MISE À JOUR:
Pour fournir plus de contexte: je regarde les données radar prises d'un avion. La zone multicolore est la «bande», où les observations ont été enregistrées. La ligne bleue avec laquelle j'ai commencé dans l'explication ci-dessus est parallèle à l'andain: c'est la ligne de vol de l'avion (l'avion se déplaçait approximativement vers le sud-ouest). Le radar regarde dans la direction orthogonale à la ligne de vol, à gauche. J'essaie de tracer une ligne perpendiculaire à la ligne de vol; ce devrait être la direction que le radar regarde, et devrait couper l'andain proprement. Comme vous pouvez le voir, ce n'est pas le cas.
la source
Réponses:
Un principe élégant apporte une réponse simple:
Cela signifie qu'après un changement affiné de coordonnées (impliquant généralement juste un redimensionnement de l'une d'entre elles), nous pouvons utiliser des formules de géométrie euclidienne, telles que le théorème de Pythagore pour calculer les distances et la formule de pente réciproque négative pour trouver des perpendiculaires.
Avec les coordonnées de latitude et de longitude sur la sphère (loin des pôles, où la longitude devient singulière), tout ce que nous devons faire est de redimensionner la direction est-ouest pour refléter la longueur rétrécie d'un degré de longitude à l'approche des pôles. Avec un modèle sphérique de la terre, ce retrait est donné par le cosinus de la latitude. Ce n'est qu'un changement dans le rapport hauteur / largeur de l'intrigue, rien de plus.
Cela fonctionne pour les régions qui ne s'étendent pas sur plus de quelques degrés de latitude nord-sud et ne s'approchent d'aucun des pôles.
Par conséquent, tout ce que vous avez à faire est de:
Multipliez toutes les longitudes par le cosinus d'une latitude typique.
Calculez la ligne perpendiculaire.
Annulez l'ajustement des coordonnées.
Par exemple, supposons que la trajectoire de l'avion l'a fait passer de (lon, lat) = (-78, 40) à (-79, 41). Nous pouvons prendre une latitude typique pour se situer entre 40 et 41, comme 40,5.
Étape 1 Les coordonnées ajustées sont (-78 * cos (40,5), 40) = (-59,31167, 40) et (-79 * cos (40,5), 41) = (-60,07207, 41).
Étape 2 La question propose de le faire en utilisant une méthode à pente réciproque négative. Ce serait correct, mais cela échouera dans certains cas (où la pente est infinie). Il est plus général et plus puissant d'utiliser l'arithmétique vectorielle. Voici comment se déroule le calcul.
Le vecteur de direction de la trajectoire du vol est le déplacement de son début à sa fin,
La rotation de tout vecteur (x, y) à angle droit dans le sens horaire produit (y, -x), d'où une direction perpendiculaire à droite est
Selon le théorème de Pythagore, la longueur de ce vecteur est la racine carrée de la somme des carrés de ses coefficients,
Déplaçons, disons, 0,2 degré le long de ce vecteur à partir du point de départ du vol de l'avion. Le début est à (-59.31167, 40) et le déplacement est de 0,2 / | w | fois w, se terminant à
Étape 3 Pour annuler l'ajustement, divisez les premières coordonnées de tout point résultant par le même cosinus utilisé à l'étape 1:
Si vous tracez ces points en utilisant un rapport d'aspect de 1: 1, l'angle semble être obtus plutôt qu'un angle droit. Mais si vous changez le rapport d'aspect à 1: cos (40,5) (environ 4: 3), l'angle apparaîtra correctement à 90 degrés. Lorsque vous tracez les points à l'aide de n'importe quelle projection conforme - y compris Mercator de Google - l'angle sera également correct.
la source