Skip to content
Snippets Groups Projects
Commit cd728e5b authored by Léna Aix's avatar Léna Aix
Browse files

ça marche jalon 3

parent aaf6d9ad
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,10 @@ def tree_position(lat, lon):
city = req['address']['town']
intersections = req['geojson']['coordinates']
[begin,end,coord_begin, coord_end] = coord_to_inter(intersections, lat, lon, main_street)
return {'lat':lat, 'lon':lon, 'ville':city, 'rue':main_street, 'début tronçon': begin, 'fin tronçon':end, 'coordonnées début tronçon': coord_begin, 'coordonnées fin tronçon': coord_end}
tuple_c_begin=(coord_begin[0],coord_begin[1])
tuple_c_end=(coord_end[0],coord_end[1])
return {'lat':lat, 'lon':lon, 'ville':city, 'rue':main_street, 'début tronçon': begin, 'fin tronçon':end, 'coordonnées début tronçon': tuple_c_begin, 'coordonnées fin tronçon': tuple_c_end}
def trees_positions(liste_coord): #ATTENTION mettre la longitude en premier
classement=classement_arbres(liste_coord)
......@@ -16,27 +19,29 @@ def trees_positions(liste_coord): #ATTENTION mettre la longitude en premier
for troncon in classement:
print('troncon')
dict[troncon]={}
ordre=ordre_arbre(classement[troncon][3:],classement[troncon][2])
ordre=ordre_arbre(classement[troncon],troncon[4])
for i in range(len(ordre)):
dict[troncon][i]={'lat':ordre[i][1], 'lon':ordre[i][0], 'ville':troncon[0], 'rue':troncon[1], 'début tronçon': classement[troncon][0], 'fin tronçon':classement[troncon][1]}
print(i)
dict[troncon][i+1]={'lat':ordre[i][1], 'lon':ordre[i][0], 'ville':troncon[0], 'rue':troncon[1], 'début tronçon': troncon[2], 'fin tronçon':troncon[3]}
print(i+1)
return dict
def classement_arbres(liste_coord):
info=[tree_position(coord[1], coord[0]) for coord in liste_coord]
dict={} #dictionnaire ayant en clés la ville, la rue, le troncon de début et de fin et pour valeur une liste avec le début du tronçon choisi, sa coordonnées et les coordonnées des arbres
dict={} #dictionnaire ayant en clés la ville, la rue, le troncon de début et de fin et pour valeur une liste avec les coordonnées des arbres
for i in info:
if [i['ville'],i['rue'],{i['début tronçon'],i['fin tronçon']}] not in dict:
dict[[i['ville'],i['rue'],{i['début tronçon'],i['fin tronçon']}] ]=[i['début tronçon'],i['fin tronçon'],i['coordonnées début tronçon'],(i['lat'],i['lon'])]
if (i['ville'],i['rue'],i['début tronçon'],i['fin tronçon'],i['coordonnées début tronçon']) not in dict and (i['ville'],i['rue'],i['fin tronçon'],i['début tronçon'],i['coordonnées fin tronçon']) not in dict :
dict[(i['ville'],i['rue'],i['début tronçon'],i['fin tronçon'],i['coordonnées début tronçon']) ]=[(i['lat'],i['lon'])]
print(i)
else:
dict[[i['ville'],i['rue'],{i['début tronçon'],i['fin tronçon']}] ].append((i['lat'],i['lon']))
elif (i['ville'],i['rue'],i['début tronçon'],i['fin tronçon'],i['coordonnées début tronçon']) not in dict:
dict[(i['ville'],i['rue'],i['fin tronçon'],i['début tronçon'],i['coordonnées fin tronçon']) ].append((i['lat'],i['lon']))
print(i)
else:
dict[(i['ville'],i['rue'],i['début tronçon'],i['fin tronçon'],i['coordonnées début tronçon'])].append((i['lat'],i['lon']))
return dict
if __name__=="__main__":
#lat = 48.89227652
#lon = 2.253773690
lat = 48.89227652
lon = 2.253773690
#print(tree_position(lat, lon))
liste=[(2.24697,48.89535),(2.24705,48.89529),(2.2472,48.89518)]
print(tree_position(liste[0][1],liste[0][0]))
\ No newline at end of file
print(trees_positions(liste))
\ No newline at end of file
......@@ -4,10 +4,11 @@ def ordre_arbre(liste_coord_arbres, coord_debut_troncon):
dict= {}
for coord in liste_coord_arbres:
dist.append((coord[0]-coord_debut_troncon[0])**2 + (coord[1]-coord_debut_troncon[1])**2)
for i in len(liste_coord_arbres):
dict[i]=liste_coord_arbres[dist.index(min(dist))]
dist.pop(dist.index(min(dist)))
liste_coord_arbres.pop(dist.index(min(dist)))
for i in range(len(liste_coord_arbres)):
indice=dist.index(min(dist))
dict[i]=liste_coord_arbres[indice]
dist.pop(indice)
liste_coord_arbres.pop(indice)
return dict
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment