Distance entre deux points sur une carte avec python
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Distance entre deux points sur une carte avec python



  1. #1
    Anne27SSD

    Distance entre deux points sur une carte avec python


    ------

    Bonjour,

    Je suis en train de faire un projet sur les autoroutes d'Occitanie (pas toutes heureusement), et j'aimerai afficher le nombre de kilomètre et la durée entre chaque station. J'ai déjà la carte avec les points correspondant aux péages d'afficher et j'aimerai y rajouter les distances.
    La commande existante pour la distance et la durée ne fonctionne que pour la distance totale et durée totale, de base le code était pour un trajet entre deux points que j'ai modifié car j'avais beaucoup de points.
    Merci d'avance.

    Code:
    import openrouteservice
    import json 
    from openrouteservice import convert
    import folium
    import numpy as np
    import pandas as pd
    
    class carte:
    
        def __init__(self,Coord,data):
            
    
            client = openrouteservice.Client(key='My_Key')
            m = folium.Map(location=[43.1837661,3.0042121],zoom_start=10, control_scale=True,tiles="cartodbpositron")
            coords=()
            for i in range (len(Coord)-1):
                coords= coords+(tuple(Coord[i,:]),)
            res = client.directions(coords)
    
            with(open('test.json','+w')) as f:
                f.write(json.dumps(res,indent=4, sort_keys=True))
    
            geometry = client.directions(coords)['routes'][0]['geometry']
            decoded = convert.decode_polyline(geometry)
            
            distance_txt = "<h4> <b>Distance :&nbsp" + "<strong>"+str(round(res['routes'][0]['summary']['distance']/1000,1))+" Km </strong>" +"</h4></b>"
            duration_txt = "<h4> <b>Duration :&nbsp" + "<strong>"+str(round(res['routes'][0]['summary']['duration']/60,1))+" Mins. </strong>" +"</h4></b>"
    
            folium.GeoJson(decoded).add_child(folium.Popup(distance_txt+duration_txt,max_width=300)).add_to(m)
    
            for i in range (len(Coord)-1):
                folium.Marker(
                location=list(coords[i][::-1]),
                popup=data[i],
                icon=folium.Icon(color="green"),
                ).add_to(m)
    
            m.save('map.html')

    -----

  2. #2
    umfred

    Re : Distance entre deux points sur une carte avec python

    tu es sûre que dans la réponse res tu n'as pas la distance et le temps entre le point de départ et chaque point ?
    fait un print de res pour vérifier (ou ouvre le fichier test.json)

Discussions similaires

  1. DM 1eS Distance entre deux points
    Par invite06fe016b dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 27/01/2009, 16h07
  2. Distance entre deux points
    Par invite21a23dbc dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 12/01/2009, 17h09
  3. Distance entre deux points
    Par inviteb2b74320 dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 23/11/2006, 08h20
  4. Distance entre deux points
    Par invite5f1db7a1 dans le forum Mathématiques du collège et du lycée
    Réponses: 10
    Dernier message: 07/08/2006, 06h34
  5. distance entre deux points
    Par invite73ed442a dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 25/05/2005, 22h39