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

Lazarus Pascal Discussion :

Calculer distance entre deux adresses [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut Calculer distance entre deux adresses
    Bonjour,

    Je cherche un moyen pour calculer le nombre de kilomètres entre deux adresses.
    Savez-vous s'il existe des API pour lazarus avec une documentation claire ?

    Sinon, avez-vous une solution autre à me proposer ?

    Merci d'avance,

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Bonjour

    Du genre nombre de kilomètres entre le 2 rue du tondu et le 4 avenue du Coupetifs ? entre 2 coordonnées GPS ?

    Soit plus précis. Merci
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Bonjour

    Du genre nombre de kilomètres entre le 2 rue du tondu et le 4 avenue du Coupetifs ? entre 2 coordonnées GPS ?

    Soit plus précis. Merci
    Quand tu demandes l’adresse a quelqu’un pour se rendre chez lui tu as l’habitude de demander des coordonnées gps?

    Il s’agit de l’adresse postal, en passant par la route. Entre le 2 rue des poulettes 86270 City et 14 route des moutons à cinq pattes 79210 City2.

    Merci de ton aide.

  4. #4
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    C'est bien ce que je disais il te faut donc les coordonnées GPS Longitude/Latitude

    Pour les récupérer il existe les Apis Google présente dans FPC Cherche sur le forum Anglais et si je me souviens bien il existe un composant TMapViewer qui utilise google map. et n'oublis pas Google est ton ami

    Puis pour le calcul voir cette discussion

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    J'ai déjà lu tout ça et épluché les forums anglophones depuis des semaines.
    Mais ces calculs ne vont pas me calculer la distance en passant par les routes. Ça va me calculer une distance à vol d'oiseau et c'est trop approximatif...

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 299
    Points
    11 299
    Billets dans le blog
    6
    Par défaut
    Il s’agit de l’adresse postale, en passant par la route
    Ce calcul s'adresse donc à des véhicules, ou également à des piétons ou cyclistes, qui peuvent emprunter des voies inaccessibles aux véhicules à moteur ?

    [EDIT] Une piste ici avec openrouteservice
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  7. #7
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    Ce calcul s'adresse donc à des véhicules, ou également à des piétons ou cyclistes, qui peuvent emprunter des voies inaccessibles aux véhicules à moteur ?

    [EDIT] Une piste ici avec openrouteservice
    Ce calcul s’adresse aux voitures uniquement.
    Merci de ton aide!

  8. #8
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    C'est bien ce que je disais il te faut donc les coordonnées GPS Longitude/Latitude

    Pour les récupérer il existe les Apis Google présente dans FPC Cherche sur le forum Anglais et si je me souviens bien il existe un composant TMapViewer qui utilise google map. et n'oublis pas Google est ton ami

    Puis pour le calcul voir cette discussion

    A+
    TMapViewer ne permet pas de retrouver une adresse postale. On peut retrouver une ville, mais pas une rue avec numéro.

  9. #9
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    J'ai réussi avec les API google.
    Marche à suivre :
    1 : S'inscrire pour obtenir sa clé API :
    https://developers.google.com/maps/d...ng/get-api-key
    Choisir l'option "Routes".
    INFORMATION : Nous devrez renseigner un moyen de paiement. J'ai parcouru la chartre google, j'ai contacté le service commercial, et voila ce qui en ressort : Vous avez une valeur de 200$ par mois offert suivant ce calcul $5 * (40,000 elements / 1000 elements) = $200
    En gros, avec la politique actuelle de google, vous avez droit tous les mois à 40 000 requêtes mensuelles gratuites sur DistanceMatrix.

    L'utilisation est assez simple.
    Le principe : Vous lancer une URL avec vos données d'itinéraire, le site vous retourne les données sous forme de code structuré. il ne reste plus qu'à lire les données que l'on souhaite.

    Par default, DistanceMatrix calcul le trajet voiture.
    Plus d'info concernant l'utilisation ici : https://developers.google.com/maps/d...distancematrix

    2 : Lancer l'URL depuis lazarus et exploiter l'information :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    uses fphttpclient,fpjson,jsonparser;
    procedure TForm1.FormCreate(Sender: TObject);
    var
      Resultat : TJSONObject;
      AdresseDepart : String;
      AdresseDestination : String;
    begin
      AdresseDepart:='26+rue+de+la+somme+32000+auch';
      AdresseDestination:='parc+du+futuroscope+86360+Chasseneuil-du-Poitou';
     
      with TJSONObject(GetJSON(TFPHTTPClient.SimpleGet('https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins='+AdresseDepart+'&destinations='+AdresseDestination+'&key=VOTRE_Cle_Google_API'))) do
        try
          Resultat := TJSONObject(FindPath('rows[0].elements[0].distance'));
          showmessage('Le trajet fera une distance de : ' + Resultat['text'].AsString);
        finally
          Free;
        end;
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calculer la distance entre deux adresse situé dans un fichier Excel,
    Par yoryas dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 06/10/2017, 11h04
  2. [Google Maps] Calculer distance entre deux villes
    Par ahmedpa dans le forum APIs Google
    Réponses: 1
    Dernier message: 27/04/2016, 19h16
  3. calcul distance entre 2 adresses
    Par cdsoft dans le forum Général Java
    Réponses: 2
    Dernier message: 02/10/2014, 17h09
  4. Calcul distance entre deux coordonnées GPS
    Par hamdouch89 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 03/05/2012, 15h14
  5. calcul distance entre deux villes
    Par alexfrei04 dans le forum Access
    Réponses: 2
    Dernier message: 08/01/2007, 21h49

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