Inscription / Connexion Nouveau Sujet
Niveau école ingénieur
Partager :

Calcul d'angle à partir de latitudes et longitudes

Posté par
Kurk
05-07-11 à 08:50

Bonjour,

Je cherche à écrire un script dans le cadre d'un stage permettant de calculer un angle en fonction de deux (ou plus) couples longitudes latitude et je suis confronté à un petit problème de calcul. Pour positionner mon problème, voici le contexte :
Il s'agit de créer une automatisation pour orienter spécifiquement la caméra de google street via l'adresse url qui lui est passé. Par défaut, la caméra (en considérant que l'adresse gps qui lui est passée existe dans google street), se positionne orienté face au nord, alors que je voudrais qu'elle soit face à un point particulier. Et pour ce faire, j'ai besoin d'avoir l'angle de rotation de la caméra par rapport au nord.
J'ai donc prit un postulat de base relativement naif, considérant que les maisons sont toutes alignées, sans décrochés aucuns, sans courbes, etc.

Nous imaginons donc que nous avons une route droite, et les coordonnées (latitude et longitude) de trois habitations successives (le 38, le 40 et le 42, par exemple). Ce que je cherches à faire, c'est trouver l'angle qui existe entre cette "droite" et la seconde maison, afin de pouvoir positionner ma caméra correctement selon ce fameux angle.

Ci je n'ai pas été très clair, j'ai attaché un schéma qui, j'espère, le sera un peu plus. Quoique ><

En ce qui concerne les pistes, j'ai trouvé dans les archives de votre forum un problème relativement similaire ici :https://www.ilemaths.net/sujet-calcul-d-angle-a-partir-de-la-latitude-et-longitude-325978.html, mais je n'ai pas compris la réponse, sa mise en forme ayant été altéré.

Si quelqu'un se proposait pour m'aider un peu, je lui en serrais très reconnaissant. La géométrie dans l'espace et la trigonométrie n'ont jamais exactement été mon fort, et si je ne m'abuse, c'est ces deux notions dont on a besoin ici pour résoudre le problème. Si un point n'est pas clair, n'hésitez pas à me demander des précisions, ou des reformulations.

D'avance merci,

Kurk

Calcul d\'angle à partir de latitudes et longitudes

Posté par
Rumbafan
re : Calcul d'angle à partir de latitudes et longitudes 05-07-11 à 13:43

Bonjour Kurk,

Je suggère que tu mettes des lettres sur ton schéma ==> l'angle sera clairement exprimé
En effet, "entre cette "droite" et la seconde maison"  n'est pas clair

J'imagine que :
Les coordonnées de 38 40 42 déterminent un arc de grand cercle (assimilé à une droite sur le schéma)
C1 C2 C3 sont les positions successives de la caméra (alignée sur une droite parallèle à la précédente)
Tu souhaites connaitre l'angle C1,40,38  ? ou l'angle entre C1 40 et le Nord ?


A+

Posté par
DOMOREA
Calcul d'angle à partir de latitudes et longitudes 05-07-11 à 15:07

Bonjour,
Une proposition à vérifier!
Pour un calcul précis, il faut supposer que les maisons sont à la même altitude.La précision des données doit être extrème car les points en jeu sont très proches
Je traites le problème sur une sphère parfaite(le rayon n'a aucune importance évidement).
Soit (\theta_i,\phi_i)  les coordonnées sphériques deM_i
(Longitude,latitude) en hémisphère nord.
Dans le repère géographique naturel R, tu obtiens les coordonnées (cos(\phi_i)cos(\theta_i);cos(\phi_i)sin(\theta_i);sin(\phi_i) des maisons M_i
tu peux donc calculer les composantes normalisées du vecteur \vec{M_1M_3}
De même si (cos(\phi_c)cos(\theta_c);cos(\phi_c)sin(\theta_c);sin(\phi_c))sont les coordonnées sphériques de la caméra, un vecteur normalisé \vec{u} d'origine la caméra et dirigé vers le nord est colinéaire au vecteur ayant pour coordonnées:
(cos(\phi_c+\frac{\pi}{2})cos(\theta_c+\pi);cos(\phi_c+\frac{\pi}{2})sin(\theta_c+\pi);sin(\phi_c+\frac{\pi}{2})) j'utilise ici l'orientation indiquée par ton schéma.
L'angle \alpha de ces deux vecteurs est obtenu par le produit scalaire\vec{M_1M_3}.\vec{u}
après en s'apuyant sur ton schéma ta caméra doit effectuer une rotation de +\frac{\pi}{2}-\alpha

Posté par
Kurk
re : Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 09:26

Bonjour et merci à vous pour vos réponses.

Rumbafan : Effectivement, je n'ai pas été clair. Toutes mes excuses.

On a  : C1,C2 et C3 les jeux de coordonnées gps permettant de localiser la caméra devant les maisons respectivement M38, M40 et M42

Ce que je cherche à obtenir est l'angle entre C2 (le couple de coordonnées correspondants à l'adresse gps ou va se positionner la caméra pour se placer en face de la maison), M40 (la maison portant le numéro 40 de la rue) et le Nord, qui est l'orientation de base de la caméra. Cet angle sera alors l'angle selon lequel il faudra que je fasse pivoter la caméra pour qu'elle soit face à la maison M40.
J'espère avoir été plus clair avec cette formulation qu'avec la précédente. Si ce n'est pas le cas, n'hésitez pas à me demander plus de précisions.

DOMOREA : Le schéma sert juste à donner un exemple de cas concret, mais il ne peut pas représenter tous les cas effectifs. Donc j'aimerais bien comprendre comment tu trouves ce décalage de /2 pour la longitude du vecteur caméra-Nord et de pour sa latitude ? Cela me permettrait, enfin j'espère, de généraliser ta solution. En fait, je suppose que si tu ne l'as pas explicité, c'est qu'il doit être relativement évident, mais je ne vois pas en quoi ce vecteur est colinéaire, ni comment tu as obtenu ce résultat.

D'avance merci,

Kurk

Posté par
DOMOREA
Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 11:00

Bonjour Kurk,
Pour la caméra, c'est très simple . Dans ce qui suit le point C représente la caméra
Si tu veux voir les choses concrètement, dessine deux cercles différents de centre respectifs O et N
Le cercle de centre O est une vision de la terre pour laquelle le cercle est le méridien de la caméra, C un point de ce cercle, le vecteur \vec{u} est porté par la tangente au cercle en C, il est dirigé vers le sens positif trigonométrique ( vers le nord). Si G est le point de l'équateur , tu as (\vec{OG},\vec{OC})=\phi et (\vec{OG};\vec{u})=\phi+\frac{\pi}{2}
Le cercle de centre N représente la terre vue du pôle nord, le cercle visualise donc l'équateur.
Le point G est toujours à la même place et  le point C est sur un cercle de centre N donc concentrique au cercle de centre N.
On a (\vec{NG},\vec{NC}=\theta  et le vecteur u est dirigé vers N ( d'origine C si tu veux). tu vois bien que (\vec{OG},\vec{u})=\theta+\pi

Pour ce qui est du caractère géneral, la modifification est uniquement sur la rotation de la caméra   qui est d'angle \frac{\pi}{2}+\alpha ou \frac{\pi}{2}-\alpha selon que celle-ci estplacée à une latitude supérieur à celle de M2 ou inférieur à celle de M2.

les formules que je t'ai données sont valables , il me semble dans l'hémisphère nord et sud

Posté par
DOMOREA
Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 11:04

Dans mes explications concrètes j'ai choisi l'hémisphère nord, donc u pour l'hémisphère sud est dirigé à l'opposé de N, cela ne change rien au caractère génerale des formules.

Posté par
Rumbafan
re : Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 14:00

Bonjour Kurk,

Si θ désigne la longitude
Si ϕ désigne la latitude
Si R = rayon de la terre...




P1 = point C2 (R, θ, ϕ) ==> X1 Y1 Z1

Posté par
Rumbafan
re : Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 14:06

Bonjour Kurk,

Sorry pour l'envoi intempestife ci-dessus...

Pour un point de la sphère
Si θ désigne la longitude
Si ϕ désigne la latitude
Si R = rayon de la terre...

Ses coordonnées dans un repère cartésien sont
X = R cosθ cosϕ
Y = R sinθ cosϕ
Z = R sinϕ

Dès lors
P1 = point C2 (R, θ, ϕ) ==> X1 Y1 Z1
P2 = point 40  ==> X2 Y2 Z2
O = Centre de la terre (0,0,0)
N = Pole nord (0,0,R)

L'angle entre les plans P1 P2 O   et P1 N O est l'angle de rotation cherché...

A+

Posté par
DOMOREA
Calcul d'angle à partir de latitudes et longitudes 06-07-11 à 15:33

Bonjour Rumbafan,
Ta solution est fausse car tes deux plans se coupent selon (OP_1) or l'angle de deux plans sécants est l'angle de deux droites incluses dans les deux plans respectivement sécantes en un points I de l'intersection et orthogonales à l'intersection.
si la direction initiale de la caméra est bien orthogonale à(OP_1) ce n'est pas le cas de (P_1P_2) à moins de considérer que le triangle OP_1P_2 est rectangle en P_1 mais alors pourquoi pas en P_2, ce qui fait un triangle avec deux angles droits  sic!



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1732 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !