#1 Fri 05 December 2008 18:14
- danathane
- Juste Inscrit !
- Date d'inscription: 5 Dec 2008
- Messages: 6
Calcul de coordonnées des intersection d'un cercle
Bonjour tout le monde!!!
Je suis entrein de me faire un petit soft, qui permet de calculer les intersection entre des zone circulaire sur google maps.
Pour ce faire j'ai en entrée les longitude et latitudes des centre des cercles et bien sur le rayon des cercle.
J'ai déjà réussi à trouver toute sorte de calcul sur les distances entre points, et le calcul des coordonnées des points à partir de rayon.
Là ou je bloque c'est pour calculer la longitude et la latiude des points d'intersection de deux cercles.
En cartésien 2D c'est pas un soucis... mais comment faire quand on essai d'appliquer ca à la "terre"
j'utilise le WGS84 comme norme pour les coordonnées.
Si vous avez des exemple de calcul simple ou bien des méthodes de transfert de coordonnées géographique vers cartésiens qui permettent après de calculer les points d'intersection des deux cercle, je suis preneur.
J'ai déjà fait des transfert de coordonées géographique vers cartésien, le calcul des point d'intersection et ensuite le transfert des coordonnées cartésiennes vers les coordonnées géographique.. mais les coordonnées calculée ne correspondent par aux coordonnées réelle.
Merci d'avance.
Hors ligne
#2 Fri 05 December 2008 19:02
Re: Calcul de coordonnées des intersection d'un cercle
Voir le mot clé projection. Le passage de coordonnées géographiques en cartésien 2D, cela s'appelle une projection, et nous appelons ça des coordonnées projetées ou bien des coordonnées cartographiques.
Tu peux trouver des algorithmes de projections diverses sur le site de l'IGN ou Wikipédia (encore une tâche de plus pour notre wiki ).
En géomatique le terme de coordonnées cartésiennes corresponde aux cooordonnées liées à un repère tridimensionnel dont le centre est au centre de la Terre, l'axe Z l'axe de rotation et les deux autres axes dans le plan de l'équateur. Si c'est ça tes coordonnées cartésiennes, il est normal que tes calculs soient faux.
Après, quand on dit ne correspondent pas, il faut toujours être précis et donner l'écart, car des petits malins essayent d'avoir une précision micromètrique.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Fri 05 December 2008 19:26
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Calcul de coordonnées des intersection d'un cercle
Bonjour,
Compte tenu de ce qu'à dit Jérome, il y a une solution qui peut rendre des services où le calcul numérique n'est pa tout à fait simple, ce qui est la cas.
Je veux parler de la méthode du point approché.
On calcule on point proche du point cherché, par n'importe quelle méthode, par exemple le passage par une phase de projection.
Le point cherché DOIT être à la bonne distance de chacun des centres. Le calcul des deux distances donne des écarts.
En calculant alternativement par rapport à un centre puis l'autre, par itération, on recalcule le point concerné, jusqu'à ce que les écarts soient inférieurs à la précision recherchée.
Vous serez surpris par le petit nombre d'itérations nécessaires.
Cette méthode est tout à fait générale et parfaitement correcte.
Cordialement.
Hors ligne
#4 Sat 06 December 2008 01:19
Re: Calcul de coordonnées des intersection d'un cercle
Je préfère le terme de dichotomie, ça fait plus savant
Mais le problème reste le même, car calculer des distances avec des coordonnées géographiques, ce n'est pas la joie non plus.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Sat 06 December 2008 17:57
Re: Calcul de coordonnées des intersection d'un cercle
Bonjour,
pour ce genre de calculs d'intersections, de distances,... "tout" est là, que cela soit sur la sphère ou bien sur l'ellipsoïde.
Ed Williams' Aviation page : http://williams.best.vwh.net/
plus exactement là:
Aviation Formulary V1.44 : http://williams.best.vwh.net/avform.htm
les formules sont expliquées, (même si c'est an anglais) et facilement adaptables. et pourquoi faire des approximations quand on peut calculer "juste" du premier coup?
Xavier Germain
Dernière modification par xavier29 (Sat 06 December 2008 17:58)
SARL Géodésie: Cartographie Numérique
2 Résidence de Hent Du
29170 Fouesnant
Hors ligne
#6 Mon 08 December 2008 10:07
- danathane
- Juste Inscrit !
- Date d'inscription: 5 Dec 2008
- Messages: 6
Re: Calcul de coordonnées des intersection d'un cercle
Merci pour toutes ces réponses!!! Je vais lire tout ca et voir ce que j'arrive à en tirer.
pour ce qui est de la précision, je suis environ à 2.5km du point recherché... je pense que je peux espérer une plus grande précision non?
Hors ligne
#7 Mon 08 December 2008 13:47
- danathane
- Juste Inscrit !
- Date d'inscription: 5 Dec 2008
- Messages: 6
Re: Calcul de coordonnées des intersection d'un cercle
Je viens de lire un peu tout les documents, mais je dois dire que je n'ai pas vraiment trouvé de solution à mon problème... Dans les liens que Xavier29 m'a fourni, je n'ai pas trouvé celle qui correspondait le plus à mon cas. est ce que vous auriez d'autre exemple ou autre sur lesquels je pourrais me baser pour faire ems calcul?
Merci
Hors ligne
#8 Mon 08 December 2008 15:46
Re: Calcul de coordonnées des intersection d'un cercle
Bonjour Danathane,
Voir le source de l'exemple de Marcelo Montana, calcul d'intersection de 2 cercles sur Google Maps :
http://maps.forum.nu/gm_circle_intersection.html
Note : calcul effectué en pixels à un niveau de zoom donné (donc ne tenant pas compte de la projection Mercator)
Bien cordialement
--
Peio Elissalde
Magic Instinct Software
Hors ligne
#9 Mon 08 December 2008 17:43
- danathane
- Juste Inscrit !
- Date d'inscription: 5 Dec 2008
- Messages: 6
Re: Calcul de coordonnées des intersection d'un cercle
Yaurai pas une page ou il explique comment il a fait son calcul?
Moi c'est surtout la façon de calculer qui m'intéresse.
Hors ligne
#10 Tue 09 December 2008 09:30
Re: Calcul de coordonnées des intersection d'un cercle
Bonjour Danathane,
Calcul basé sur :
http://www.sonoma.edu/users/w/wilsonst/ … 5/T13.html
Source code :
Code:
function intersection(x1,y1,r1,x2,y2,r2) { /* Circle 1: center at (x1,y1) and radius r1 Circle 2: center at (x2,y2) and radius r2 */ var zoom = 17 with (Math) { var d = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); var x = ((x2+x1)/2) + ( ((x2-x1)* (r1*r1-r2*r2)) / (2*d*d) ) + ((y2-y1) / (2*d*d) ) * sqrt(((r1+r2)*(r1+r2)-d*d) * ((d*d)-(r2-r1)*(r2-r1)) ) var y = ((y2+y1)/2) + ( ((y2-y1)* (r1*r1-r2*r2)) / (2*d*d) ) - ((x2-x1) / (2*d*d) ) * sqrt(((r1+r2)*(r1+r2)-d*d) * ((d*d)-(r2-r1)*(r2-r1)) ) x = round(x); y = round(y); var p = new GPoint(x,y); var latLng1 = normalProj.fromPixelToLatLng(p, zoom); GLog.write('intersection point 1 (x,y): ' + x + ' - ' + y + ' - LatLng: ' + latLng1); var x = ((x2+x1)/2) + ( ((x2-x1)* (r1*r1-r2*r2)) / (2*d*d) ) - ((y2-y1) / (2*d*d) ) * sqrt(((r1+r2)*(r1+r2)-d*d) * ((d*d)-(r2-r1)*(r2-r1)) ) var y = ((y2+y1)/2) + ( ((y2-y1)* (r1*r1-r2*r2)) / (2*d*d) ) + ((x2-x1) / (2*d*d) ) * sqrt(((r1+r2)*(r1+r2)-d*d) * ((d*d)-(r2-r1)*(r2-r1)) ) x = round(x); y = round(y); var p = new GPoint(x,y); var latLng2 = normalProj.fromPixelToLatLng(p, zoom); GLog.write('intersection point 2 (x,y): ' + x + ' - ' + y + ' - LatLng: ' + latLng2); } }
Bien cordialement
--
Peio Elissalde
Magic Instinct Software
Hors ligne
#11 Wed 10 December 2008 15:39
- danathane
- Juste Inscrit !
- Date d'inscription: 5 Dec 2008
- Messages: 6
Re: Calcul de coordonnées des intersection d'un cercle
merci peio pour ce sacrécoup de main.
A force de gribouiller sur mon brouillon j'ai fini par trouver une solution pas trop mauvaise qui permet d'arriver ah meme résultat sans tenir compte du zoom.
A plus tard.
Hors ligne