Aller au contenu

comment calculer la distance entre 2 lieux géographiques ?


Sujets conseillés

Posté

bonjour

pour un portail marchand, je dois calculer la distance kilométrique pour trouver la boutique la plus proche géographiquement de l'acheteur.

J'ai pensé demander à l'acheteur de renseigner son code postal, mais comment calculer ensuite la distance par rapport à la base d'adresses de ma centaine de boutiques en France ?

Merci a ceux qui ont réfléchi a la question, je suis un peu sec sur la question ... :wacko:

Peut etre Google-map ou autre ont-ils des web-services a ce sujet ?

:)

Posté

Bonjour,

La distance kilométrique "à vol d'oiseau" ? Par la route ? Le chemin le plus court ? Le plus rapide ?...

Si c'est la distance à vol d'oiseau qui t'intéresse, un calcul à l'aide des coordonnées géographiques (latitudes et longitudes de chaque point) te donnera la distance.

Tu as un exemple de code (en Perl, et explications en anglais) et des valeurs a utiliser ici : Latitude and Longitude formula

Pour trouver les valeurs des longitudes et latitude des points dont tu souhaites trouver la distance tu peux utiliser Maporama, chercher les adresses postales et tu trouveras les coordonnées sur la page de résultat.

Posté

As tu vu sur www.mappy.fr ou sur www.viamichelin.fr. Je pense qu'il faut sous traiter le systeme chez eux. Sans quoi, a ma connaissance, il te faudra une base de données SIG mais cela coute relativement cher.

Pour une base de données SIG, tu peux aller sur www.intercarto.com

Mais, c'est pour faire quoi?

Posté

Merci de vos réponses.

Pour PERL ... je ne connais pas => j'élimine, pas le temps de m'y mettre pour cette seule fonction :/

Merci pour Intercartoo, je viens effctivement de les contacter.

je vais ausi le faire pour mappy et via michelin, je n'y avais pas pensé...

Comme je l'explique plus haut, le but est d'attribuer une vente a la boutique la plus proche de l'acheteur sur un portail d'une centaine de commerçants.

Il y a peut être d'autres méthodes ? C'est en cours de recherche, vos expériences sont bienvenues :)

Posté

Ben a la limite, lister les code postaux et les attribuer par boutique, mais fastidieux et si tu as pas un code postal saisi, c'est le bordel.

Bon courage pour ta recherche :)

Posté
Pour PERL ... je ne connais pas => j'élimine, pas le temps de m'y mettre pour cette seule fonction :/

Le fait que ce soit du Perl n'est pas trop d'importance dans ce cas... C'était juste pour te montrer que dès l'instant out tu as les coordonnées géographiques des deux points le problème se règle en une ligne...

Maintenant comme l'a dit nounours1956 si ce calcul et donc la récupération des coordonnées viennent à être ponctuelles il va de soit que sous-traiter cette tâche est la bonne option. Tu peux chercher également du côté de Map24 France, ils ont des solutions commerciales intéressantes.

Posté
Bonjour,

Je ne connais absolument rien à la programmation...

es-tu sûr ? Ta classe est géniale :D !!! Merci Régis !

le probleme est maintenant de transformer une adresse en coordonnées latitude/longitude, si je peux resoudre celà, le reste est une question de code ...

Il y a des api ou autres a ce sujet ?

Pour Info, map24 propose effectivement une API Ajax gratuite qui permet pas mal de choses en matiere de geolocalisation, je n'ai pas fini de regarder la doc : http://devnet.map24.com/manuals/doku.php?i...rials:tutorials

Posté

Si tu regardes bien la page qui correspond au lien que je t'ai donné tu verras l'api de google maps permet de géocoder une adresse et pas seulement d'afficher des cartes.

Voir la section : HTTP Request qui est un peu plus bas.

Steph.

Posté

Je ne pense pas qu'un systeme de geolocalisation soit suffisant (a moins de preciser que c'est du pifometrique) car, en plus de la distance, il faut aussi tenir compte des routes (vitesses, sinuosite, ...) et eventuellement des travaux sur ces dernieres.

J'ai travaille chez Michelin il y a quelques annees aux cartes et guides et ils avaient a l'epoque une solution pro tres performantes sur Minitel, qui doit toujours exister d'ailleurs. Idem sur Internet.

Maintenant, je ne sais pas s'ils ont depuis ouvert des API/WebService sur Internet. Faut voir avec eux.

Posté (modifié)
Si tu regardes bien la page qui correspond au lien que je t'ai donné tu verras l'api de google maps permet de géocoder une adresse et pas seulement d'afficher des cartes.

Voir la section : HTTP Request qui est un peu plus bas.

Steph.

exact : s'cuze je n'avais pas vu.

Du coup il suffit de rajouter un ch'ti calcul de distance entre les 2 adresse géolocalisées (il y a une tres bonne classe de calcul PHP ici : http://www.imaginerc.com/software/GeoCalc/)

Ca reste quand meme lourd, et comme dit destroyedlolo ( :thumbsup: ce pseudo !) tres théorique... mais ce que client veut... webmaster veut :whistling::smartass:

Merci de vos tuyaux, ca se precise peu a peu.

J'aurais aimé trouvé une solution "clef en main" comme d'habitude, mais en dessous de 4000 à 6000/an (maporama, map24...)... c'est difficile !

Modifié par jerkoo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...