Aller au contenu
jerkoo

comment calculer la distance entre 2 lieux géographiques ?

Noter ce sujet :

Recommended Posts

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 ?

:)

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites
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.

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×