Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 27 October 2008 11:42

agrio
Juste Inscrit !
Date d'inscription: 27 Oct 2008
Messages: 1

Calcul de distance entre deux points(lat,long)

Bonjour,

Je cherche à calculer des distances entre 2 points (vol oiseau ou route) au niveau du serveur web.
J'ai tester des formules de math mais les marges d'erreur sont trop grandes.


Connaissez-vous des web-services qui propose çà? Google ne le propose pas. Il permet juste de le faire coté client en javascript.

D'avance merci.
JF

Hors ligne

 

#2 Mon 27 October 2008 12:48

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

Re: Calcul de distance entre deux points(lat,long)

Bonjour,

Pouvez-vous apportez des précisions ?

Les marges d'erreur sont trop grandes, c'est-à-dire ? Quelles sont-elles ? Et quelles marges voudriez-vous avoir ?  Quelles formules avez-vous trouvées ?

Quels sont les ordres de grandeur des distances quelques dizaines de kilomètres ou bien plusieurs milliers ?


Vous parlez de distance routière, avez-vous regardé du côté de ViaMichelin, Mappy ou GoogleMap ? L'API de GoogleMap, c'est du JavaScript OK, mais les calculs sont faits côté serveur ! C'est pas le client qui fait les calculs...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Mon 27 October 2008 12:55

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

Re: Calcul de distance entre deux points(lat,long)

Bonjour Agrio,

voir :
http://groups.google.com/group/Google-M … a479e2bc70       'Google Maps
http://groups.google.com.ag/group/Googl … 83e3f52437   'formule et restrictions calcul

Bien cordialement

--
Peio Elissalde
Magic Instinct Software

Hors ligne

 

#4 Wed 05 November 2008 11:43

sletuffe
Participant occasionnel
Date d'inscription: 4 Nov 2008
Messages: 11

Re: Calcul de distance entre deux points(lat,long)

Un peu tard, mais si ça peut servir à l'avenir à quelqu'un qui lirait j'utilise cette fonction en php, et j'en suis content.

Je ne prétend pas que l'on obtient une précision au centimètre, mais pour des distances de l'ordre de 100m à plusieurs dizaine de km c'est une très bonne approximation :

Code:

//Return Distance in meters between two coordinates
//earth's circumference is 40030 Km long, divided in 360 degrees, that's 111190
function calcDist($lat1,$lon1,$lat2,$lon2) {
  if ($lat1==$lat2 && $lon1==$lon2) return 0;
  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($lon1-$lon2));
  $dist = acos($dist); 
  $dist = rad2deg($dist);
  //debug("dist($lat1,$lon1,$lat2,$lon2)=$dist");
  if ($dist>0) return $dist * 111190;
  return 0;
  }

Hors ligne

 

#5 Wed 05 November 2008 19:39

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 519
Site web

Re: Calcul de distance entre deux points(lat,long)

Bonjour,
A l'occasion de ce sujet, je viens de parcourir mon cours de Topo, je ne me souvenait plus que le problème était si complexe. Mais surtout fondamentale, considérant l'usage commun du GPS.
J'ai trouvé ce site vraiment intéressant.
http://mayerwin.free.fr/
Par contre, je n'ai pas encore trouvé de site vraiment technique, par exemple où on trouverait la méthode pour calculer la distance entre 2 points, avec une étude de la précision, mais aussi le calcul de gisement. Ces deux points me paraissent être de base En fait, en gros, une description détaillée de tout ce qui concerne la connaissance et la représentation du géoide mis à jour et en particulier avec l'utilisation des satellites, du GPS. 
La définition de la projection Lambert 93 et d'autres projections me paraissent aussi un chapitre nécessaire.   
Cordialement

Hors ligne

 

#6 Wed 05 November 2008 20:24

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

Re: Calcul de distance entre deux points(lat,long)

La trigonométrie sphérique, c'est très sympathique.

Un petit site pour le calcul de la distance : http://documents.ref-union.org/F/F6-01.php
Sinon l'article de Wikipédiapermet de partir sur des bases saines.

Maintenant, si quelqu'un veut quelque chose de précis, je crois qu'il faudra ouvrir un livre de géodésie (de la géodésie terrestre, de l'école de ceux qui ont fait la NTF ou autre réseaux sympathiques avec des visées de 50 km). Je crois que c'est hors sujet pour une application web.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#7 Wed 05 November 2008 23:30

Fred
#JeSuisCharlie
Lieu: Paris
Date d'inscription: 24 Jun 2005
Messages: 7682
Site web

Re: Calcul de distance entre deux points(lat,long)

Bonsoir,

GeoRezo utilise une requête SQL pour faire l'envoi des méls services pour agenda et les géo-entreprises (cf. pour les inscrits Profil / Abonnement). Transposable rapidement j'imagine pour un calcul de distance.

Code:

SELECT u.latitude, u.longitude, a.distance AS rayon, (6366*acos(cos($lat)*cos(RADIANS(u.latitude))*cos(RADIANS(u.longitude)-$long)+sin($lat) *sin(RADIANS(u.latitude)))) AS Proximite 
FROM tableusers AS u 
INNER JOIN tableabonnement  AS a ON u.id=a.user_id 
WHERE a.distance > 0 
AND (u.latitude <> 0 AND u.longitude <> 0) having Proximite <= 1000 
AND rayon > Proximite 
ORDER BY Proximite asc

Fred


GeoRezo vous aide ==> Aidez GeoRezo !

Hors ligne

 

#8 Thu 06 November 2008 07:42

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

Re: Calcul de distance entre deux points(lat,long)

Fred, c'est la formule 'standard', que sletuffe a donné. La seule différence, c'est que GeoRezo compte en kilomètre et sletuffe en mètre !


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#9 Thu 06 November 2008 09:25

Fred
#JeSuisCharlie
Lieu: Paris
Date d'inscription: 24 Jun 2005
Messages: 7682
Site web

Re: Calcul de distance entre deux points(lat,long)

Ah ? Perso je n'y comprends rien en trigo j'ai trouvé la formule qqpart sur un forum et je l'ai juste adapté en utilisant la fonction mysql Radian bien pratique sur ce coup.

Fred


GeoRezo vous aide ==> Aidez GeoRezo !

Hors ligne

 

#10 Thu 06 November 2008 09:36

36blanche
Participant actif
Date d'inscription: 16 Sep 2005
Messages: 92

Re: Calcul de distance entre deux points(lat,long)

Bonjour à tous,
J'utilise souvent ceci : http://williams.best.vwh.net/gccalc.htm

Georges Schwob

Hors ligne

 

Pied de page des forums

Powered by FluxBB