diff --git a/main.py b/main.py index b56b503a3e3ed0523fce912271ce3f1c491901c6..2090ef0ac25e56990fcfd14b9b64e15d06f7e9e6 100644 --- a/main.py +++ b/main.py @@ -13,18 +13,24 @@ def tree_position(lat, lon): json = search_osm(main_street, city, country) intersections = all_intersect(json) [begin,end,coord_begin, coord_end] = coord_to_inter(intersections, lat, lon, main_street) + #pour la suite, on a besoin de stocker le couple début et fin de troncon sous frome de tuple + # et non de liste car on va s'en servir comme clé d'un dictionnaire 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 + #on classe les arbres afin de les regrouper par tronçon commun, on obtient un dictionnaire + #ayant en clé les caractéristique du troncon, et en valeur les coordonnées des arbres de ce troncon classement=classement_arbres(liste_coord) dict={} + #pour chaque troncon, on cherche l'ordre des arbres for troncon in classement: print('troncon') - dict[troncon]={} - ordre=ordre_arbre(classement[troncon],troncon[-1]) + dict[troncon]={} # ce dictionnaire contiendra, pour chaque arbre du troncon, toutes les informations demandées + ordre=ordre_arbre(classement[troncon],troncon[-1]) #troncon[-1] est la coordonnée du début de troncon à partir de laquelle on classe les arbres + #ordre est le dictionnaire qui contient à la clé i les coordonnées du ième arbre du troncon for i in range(len(ordre)): 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) @@ -34,6 +40,8 @@ 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 les coordonnées des arbres for i in info: + #si le troncon n'est pas encore dans le dictionnaire, on le crée=é + #NB : peu importe si fin et début de troncon sont inversés, on choisit arbitrairement un début de troncon commun à tous les arbres du troncon, quitte a devoir les inverser dans les infos de l'arbre 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['lon'],i['lat'])] print(i)