IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Calcul d'itinéraire / route / étapes


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 44
    Points
    44
    Par défaut [Tableaux] Calcul d'itinéraire / route / étapes
    Bonjour,

    J'aimerais développer un script en PHP qui permette à l'utilisateur de saisir une ville de départ et une ville d'orgine. Puis, le script calcul la "route" (itinéraire) et donne quelques étapes (villes) intermédiaires.

    Je cherche des idées, expériences, méthodes, algorithmes, etc. J'ai charché un peu mais sans succès. À priori, je me dis qu'il faut stocker dans une table chaque "villes-villes" chaque relation "1 à 1" entre une ville (étape) et l'autre. Un travail initial immense de saisie. Chaque étape (ville) serait donc reliée à une autre et le script tracerait la "route".

    Est-ce plus compliqué que cela? Des idées, morceaux de codes ou logiques?

    Pour info, l'itinéraire ne doit pas être "déssiné" comme sur mappy.fr ou viamichelin.fr mais simplement donné textuellement.

    Exemple:
    input: Rome-Londres
    output: Rome-Milan-Genève-Paris-Londres

    (niveau de "granularité" assez grossier

    Merci pour votre aide!

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Cadeau (quoique) :
    http://fr.wikipedia.org/wiki/Recherche_opérationnelle
    http://fr.wikipedia.org/wiki/Théorie_des_graphes
    http://fr.wikipedia.org/wiki/Problème_du_voyageur_de_commerce
    ...
    Prévoit une boîte d'aspirine ^^

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 44
    Points
    44
    Par défaut
    Merci Mr N.!

    En effet, je crois que l'aspirine va être nécessaire... ;-)

    As-tu (ou qqn) d'autre déjà confonté à ce genre de problème? Je ne dois pas (en tout cas pas initialement) aboutir à une solution très évoluée mais à une détermination d'itinéraire de base.

    Merci d'avance pour votre aide!

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Non, à part en cours et ça m'a suffit. J'espère ne pas avoir à tomber sur un projet comme ça... ch'uis pas fou

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 44
    Points
    44
    Par défaut
    OK, merci bcp quand même, je crois aussi que l'Algorithme de Dijkstra http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra peut être utile à ceux qui se confrontent à ce même problème.

    Toutefois, je suis étonné que, bien que complexe ce problème "banal" n'ait pas produit plus de codes libres ou disponibles dans une communauté comme celle de PHP...

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Pourquoi faire ? on implémente pas un algorithme pour le plaisir. C'est en fonction d'un but, d'un besoin particulier. Et surement que ceux qui font du php, ne font pas des applications qui requiert la Théorie des graphes.

    Surtout que dans ton cas, il va falloire construire ton graphe, c'est à dire toutes les villes avec les routes et les distances... Là je reconnais qu'une telle base de données open source serait sympa.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut calcul d'itinéraire / route / étapes
    Bonjour,
    j'ai le meme probleme en langage java, et j'utilise une base de donnée d'une liste de villes avec leur latitudes et leur longitude
    je vous prie de m'aider ,comment on construit le graphe ou il faut juste utilisé dijkstra directement?merci

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 64
    Points : 71
    Points
    71
    Par défaut
    excusez moi, si le but c'est simplement de se torturer l'esprit, auquel cas, je serais hors sujet, mais sinon..


    gb-ch, en gros, tu veux un webservice de cartographie.


    http://www.maporama.com/home/fr/prod...b_services.asp
    ( celui ne semble pas permettre le point par point )


    http://ws.viamichelin.com/wswebsite/...eyFeatures.jsp

    ( RouteCalculation )


    Pour info, l'itinéraire ne doit pas être "déssiné" comme sur mappy.fr ou viamichelin.fr mais simplement donné textuellement.
    car ça serait ici que tu te tromperais,
    j'ai deja utilisé viamichelin,
    et il ( le webservice )
    renvoie bel et bien chaque "ville de passage" dans ton trajet, et ce au format texte


    regarde la documentation.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Avec de la chance, j'ai encore un dijikstra, un bell et un floyd en C/C++ (VC++6) que j'avais codé lors de mes études...
    Si tu veux, je peux essayer de te les retrouver
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  10. #10
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 145
    Points : 74
    Points
    74
    Par défaut
    J'ai essayé de fair le même genre de truc mais en plus simple, juste donner les distance de ville à ville.

    Voir www.paysdebray.eu rubrique etablissement

    J'ai récuperé les coordonées GPS des villes qui m'interessé (plus de 200) et après c'est que du calcule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $distance = 6366 * acos(cos(deg2rad($lat_a)) * cos(deg2rad($lat_b)) * cos(deg2rad($long_b)-deg2rad($long_a))+sin(deg2rad($lat_a)) * sin(deg2rad($lat_b)));
    Et ça me donne une distance en Km (les long et lat doivent être en degré decimaux)

    De là tu peut avoir toute des distances de ville à ville.

    Ma table contiens aussi le nombre d'habitant, à partir de là tu peut faire une selection de ville "importante" (qui sont souvent relié pas des grands axes routier) et faire un algorithme qui par exemple l'oblige à calculé la distance mais en passant par d'autre ville suivant leur impotance.

Discussions similaires

  1. Service de routing (calcul d'itinéraires) sur la BDTOPO
    Par pscheven dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 23/02/2015, 14h26
  2. [Google Maps] Calcul d'itinéraire à étapes avec temps de pause
    Par soulryo dans le forum APIs Google
    Réponses: 3
    Dernier message: 16/01/2013, 22h50
  3. [Tableaux] Calcul de somme
    Par Flushovsky dans le forum Langage
    Réponses: 2
    Dernier message: 21/09/2006, 16h45
  4. [Tableaux] Calcul de champ ?
    Par Sparkle dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2006, 22h13
  5. pb dans un calcul d'itinéraire
    Par yohan.fay dans le forum Delphi
    Réponses: 8
    Dernier message: 31/05/2006, 06h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo