From cd728e5b5a0e1b9846a3109c1cf363615a5df551 Mon Sep 17 00:00:00 2001 From: Aix Lena <lena.aix@student-cs.fr> Date: Wed, 14 Apr 2021 01:38:22 +0200 Subject: [PATCH] =?UTF-8?q?=C3=A7a=20marche=20jalon=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 29 +++++++++++++++++------------ ordre_arbres.py | 9 +++++---- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index fc12d77..1c18c40 100644 --- a/main.py +++ b/main.py @@ -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 diff --git a/ordre_arbres.py b/ordre_arbres.py index 51e1a11..cdf0d15 100644 --- a/ordre_arbres.py +++ b/ordre_arbres.py @@ -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 -- GitLab