Projet de cours

Fermé
HackeurNul - Modifié le 31 mai 2018 à 19:10
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 - 31 mai 2018 à 19:10
Bonjour,
Je suis bloqué à la fin de mon programme que j'ai fait en python.
Le but de mon programme est de récupérer les coordonnées des emplacement de vélib et des restaurants. Ensuite j'ai calculé la distance entre tout les vélib et les restaurants. Je l'ai rentré dans une liste pour la remettre dans l'ordre.
Je veux garder la liste dans le désordre et celle dans l'ordre pour retrouver quelle distance correspond à quel restaurants. Puis je veux recupérer les trois emplacement de vélib les plus proches des restaurants et retrouver les coordonnées des restaurants.
Mais je suis bloqués à la fin.

Voici mon programme :

import json, requests
from math import sqrt
i=0
url = 'http://opendata.paris.fr/api/records/1.0/search/?dataset=velib-emplacement-des-stations&rows=-1'
resp = requests.get(url, verify=True) #le truc de dabitude
dico = resp.json()
data=dico.get("records")
lst_velib=[]
for i in data:         #boucle pour prendre tout les data
    data0=i
    data1=data0.get("geometry") #on recupere tout dans geometry
    data2=data1.get("coordinates") # et la de coordiantes
    Xa=data2[0]
    Ya=data2[1]
    lst_velib.append([Xa,Ya])
y=0
url = 'http://opendata.paris.fr/api/records/1.0/search/?dataset=restaurants-casvp&rows=-1&facet=code&facet=type'
resp = requests.get(url, verify=True) #le truc de dabitude
dico = resp.json()
data=dico.get("records")
lst_restau=[]
for y in data:         #boucle pour prendre tout les data
    try:
        dataa=y
        datab=dataa.get("geometry") #on recupere tout dans geometry
        datac=datab.get("coordinates") # et la de coordiantes
        Xb=datac[0]
        Yb=datac[1]
    except:
        print()
    lst_restau.append([Xb,Yb])
r=40030173
w=0
g=0
distance=[]

for w in range (len(lst_velib)):
    for g in range (len(lst_restau)):
        f1=sqrt((lst_velib[w][0]-lst_restau[g][0])**2+(lst_velib[w][1]-lst_restau[g][1])**2)*r
        distance.append(f1)
        #print(distance)
dis=distance
dis.sort()

print(dis)

1 réponse

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
31 mai 2018 à 19:10
0