banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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 smile).

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: 518
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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Calcul de coordonnées des intersection d'un cercle

Je préfère le terme de dichotomie, ça fait plus savant big_smile

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

xavier29
Participant actif
Lieu: 29170 FOUESNANT
Date d'inscription: 5 Sep 2005
Messages: 142
Site web

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

Peio
Participant assidu
Lieu: Nantes
Date d'inscription: 23 Jul 2006
Messages: 428
Site web

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

Peio
Participant assidu
Lieu: Nantes
Date d'inscription: 23 Jul 2006
Messages: 428
Site web

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

 

Pied de page des forums

Powered by FluxBB