From 4a4af6eec99985c92d420d6b3f46557c2e97e050 Mon Sep 17 00:00:00 2001
From: "a.pradeilles" <alexandre.pradeilles@student-cs.fr>
Date: Wed, 14 Apr 2021 11:59:55 +0200
Subject: [PATCH] commentaires

---
 .../coord_to_intersections.cpython-38.pyc     | Bin 2937 -> 3002 bytes
 __pycache__/ordre_arbres.cpython-38.pyc       | Bin 0 -> 523 bytes
 coord_to_intersections.py                     |  31 +++++++++++++-----
 main.py                                       |   7 ++--
 request.py                                    |   1 +
 request2.py                                   |   2 ++
 research.py                                   |   2 ++
 7 files changed, 33 insertions(+), 10 deletions(-)
 create mode 100644 __pycache__/ordre_arbres.cpython-38.pyc

diff --git a/__pycache__/coord_to_intersections.cpython-38.pyc b/__pycache__/coord_to_intersections.cpython-38.pyc
index 26e01917afeb2438f975e81a5ef0c71bafdf4b17..4e434e589c9f348322a23a18123b699838c1e18e 100644
GIT binary patch
delta 454
zcmew<wo9BZl$V!_fq{V`YgJi-p!h_-WsFS|w>}grVM}3YW@KbYXQ<^(XQ<^%XQ<^b
zVV}H&F_igV4e#VWW-+-M{sjy*EHwg>3=0_<84CZEFxId(Go~<QGfZGA3Yu)dq|bP7
zasrbzqtxUCCf&&=nJm<cO4w3ZLB^J_fz*PH7fNTS6)s^fVXR?jW^873VTjF`tiWs~
zRKo!=yhc!*A)93aQ&HLE9%gCdvJ|!ywsfXikrc*S(Hhnok!<D(%tcitY$@zDqAASc
z49!f83^k%DOkxZvjM+>Rn2U5KpJ6s;WShid9QUS%wT4ZcA(%mv!>@>ufq~&A6Nmt@
zN~IVW7+emoOe!r=NGVk)Day|~ygWY-#3(I0ys}iBfq@|{GY^~GEru!<-$XBk$pI|t
zJOxFWc_p`4ixTtFQ#UuW<T5h$O#aBK#m&gU#KH)I0xXkN*bL-2pd1S(Ax1t%K1L9q
z3(VqU<YC%e#P*PpF=}!M$0bJI$?BX=jFpqKIIlA{PIltj#@IReCs!qV7>7Iu2L}fL
DggbSG

delta 379
zcmdlb{!@%El$V!_fq{X+c2QZv9?^+>%NScGZhgp?&QQyn&QJ@Y`AgU)uVD;j{#L^~
zxsF+EvJ?|P|F;sx8rEjU6sBy32~0&^lP#F^8Lv&wV6tWunw-I;JNY7$g?v^CJ4g*9
zLpnpPP&z}ca0y!pV+}(yV>6=*Lu|)n17<6u680K~8Uaa$W=2Ma680L78Ws>wf}uuG
z0xSj-sSy-s$Yz<qRFpQkhFMxQErlh8C7r2OB!#h7w1%}tB%65xb5Tu=XbO`ULkeRy
z(*))sy~(GTjTzY||6?|m{ZqqQ!zRuU%%I8YSH#G`!0?g@M1WYg7$*0#sPhyh=B20J
zVl61j%q!V^h$WYiv1_scn-(V%3nK^$FilQnGmv9pWML9uvS8$46k!x%<YVMx<X~iB
z<N~vJST=8Fd&tNbK6xs~B}Sgf8JtdxWs_HPUT3VE+|0F&v2C&ycO`o;hdc)d2L}Kp
CuUp^%

diff --git a/__pycache__/ordre_arbres.cpython-38.pyc b/__pycache__/ordre_arbres.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b05408dc19e6d84c4888815c085ff8cdd17f892a
GIT binary patch
literal 523
zcmWIL<>g{vU|@(|T$Zqtk%8ech=Yuo7#J8F7#J9ec^DWNQW#PgTNt7kQka4nG?|k@
zaxk^*3=9k)><m)d!oa|g&QQyg$xzE&!{EXYYgEfp!?b{*h9!kjlA(qXL`pEEFbRW1
zn86~<k_-?LafXGAj0}Z5C5$CZH4M#+&5U6EtTjvvm`hk{n3@?EGS;%yFx0R~GSo2F
zu-Y)xFfCxMVFT%^VSup;eQKD488lh^UV<F>66DgCj0_A6nrye&5(^4a^HOfH7A5AT
zr`}@DNzJ>(nwgi9T5*dxH#6@Rb3uNACVP}nPG)gQYJ75jeo;z%Vo_32YH^e>gqM<<
zR9X^WQk0*UoS%1#B_*@C1Vkp6++qbQxW$-xi!C!RB{Mm7B|{NE0|Ub^mt?D$(Bjmh
z;uy!A)QZHsl%iCHfTF~d)Xbcm)Z!SI{N&Qy)Vz}780X-a)TGp8T_Xb{!<hV{l%iCq
z<$48`x44l6Kwc^q0r`%Rg^`7kgVBIdfRT@phmnhshp|YIfq}tK6GDSsfJ6u|FfiQW
Su*uC&Da}c>1DW#~WDEcdr+%OS

literal 0
HcmV?d00001

diff --git a/coord_to_intersections.py b/coord_to_intersections.py
index 4d518b1..082d1e7 100644
--- a/coord_to_intersections.py
+++ b/coord_to_intersections.py
@@ -6,79 +6,94 @@ def coord_to_inter(liste_coord,lat,long,main_street):
     inter_street=[]
     inter_street_coord=[]
     for inter in liste_coord:
+        #Calcul des distances entre les intersections et l'arbre
         d=(inter[0]-long)**2 + (inter[1]-lat)**2
         dist.append(d)
     while len(inter_street)<1 :
+        #On regarde l'intersection la plus proche de l'arbre
         candidat=liste_coord[dist.index(min(dist))]
-        #print(candidat)
+        #On regarde si cette intersection correspond bien au croisement avec une autre rue, on trouve le nom de cette autre rue
         nom_de_rue=circular_research(candidat[1], candidat[0], main_street)
         if nom_de_rue== None :
+            #Si on ne trouve pas d'autre rue a cette intersection on écarte cette intersection
             indice=dist.index(min(dist))
             dist.pop(indice)
             liste_coord.pop(indice)
         else : 
+            #Si on trouve, on a notre début de tronçon
             inter_street.append(nom_de_rue)
             inter_street_coord.append(candidat)
             indice=dist.index(min(dist))
             d_1 = min(dist)
             dist.pop(indice)
             liste_coord.pop(indice)
-    #Calcul du tronçon de l'autre coté
+    print('Début du tronçon trouvé')
+    #Recherche de la fin du tronçon
     liste_coord_admissibles = []
     d_1_2 = []
     dist2 = []
     for i in range(len(liste_coord)):
         #On prend la liste des intersection situé du second coté de l'arbe
+        #Pour cela on calcule les distances entre le premier point trouvé, l'arbre et les autres points
+        #On conserve les points qui permettent de former un triangle avec un angle obtu au niveau de l'arbre
         d=(liste_coord[i][0]-inter_street_coord[0][0])**2 + (liste_coord[i][1]-inter_street_coord[0][1])**2
         if d > dist[i] + d_1:
             liste_coord_admissibles.append(liste_coord[i])
             d_1_2.append(d)
             dist2.append(dist[i])
     while len(inter_street)<2 :
+        #On regarde l'intersection admissible la plus proche du début du tronçon
         candidat=liste_coord_admissibles[d_1_2.index(min(d_1_2))]
         nom_de_rue=circular_research(candidat[1], candidat[0], main_street)
         if nom_de_rue== None :
+            #Si cette intersection ne donne rien, on la rejette
             indice=d_1_2.index(min(d_1_2))
             d_1_2.pop(indice)
             liste_coord_admissibles.pop(indice)
             dist2.pop(indice)
         elif nom_de_rue==inter_street[0]:
+            #Si l'intersection est la même rue que le début de tronçon, on rejette
             indice=d_1_2.index(min(d_1_2))
             d_1_2.pop(indice)
             liste_coord_admissibles.pop(indice)
             dist2.pop(indice)
         else : 
+            #Sinon on à trouvé la fin de tronçon
             inter_street.append(nom_de_rue)
             inter_street_coord.append(candidat)
             indice=d_1_2.index(min(d_1_2))
             d_2 = dist2[indice]
             liste_coord_admissibles.pop(indice)
+    print('fin du tronçon trouvé')
     print(inter_street)
+    #On souhaite ensuite s'asssurer que l'on à le couple début/fin de tronçon le plus rapproché possible pour
+    #réduire la zone de recherche
     liste_coord_admissibles2 = []
     d_2_1 = []
-    #dist = fct_dist(liste_coord, lat, long)
     for i in range(len(liste_coord)):
         #On prend la liste des intersection situé du premier coté de l'arbe
+        #Pour cela on calcule les distances entre le second point trouvé, l'arbre et les autres points
+        #On conserve les points qui permettent de former un triangle avec un angle obtu au niveau de l'arbre
         d=(liste_coord[i][0]-inter_street_coord[1][0])**2 + (liste_coord[i][1]-inter_street_coord[1][1])**2
-        print(liste_coord[i])
-        print(d - dist[i] - d_2)
-        if d > dist[i] + d_2:  #+ 2* 10**(-12)
+
+        if d > dist[i] + d_2:  
             liste_coord_admissibles2.append(liste_coord[i])
             d_1_2.append(d)
     inter_street2 = ['', '']
     c = 0
     while inter_street != inter_street2:
+        print('MaJ ', c+1)
+        #Calcul des intersections admissibles et des distances
         if c % 2 == 0:
             liste_coord_admissibles2 += [inter_street_coord[0]]
             d_2_1 = fct_d_2_1(liste_coord_admissibles2, inter_street_coord)
-            #print(liste_coord_admissibles2)
-            #print(d_2_1)
         else:
             liste_coord_admissibles += [inter_street_coord[1]]
             d_1_2 = fct_d_2_1(liste_coord_admissibles, inter_street_coord)
             print(d_1_2)
 
         inter_street2 = deepcopy(inter_street)
+        #Recherche du nouveau tronçon optimal
         inter_street, inter_street_coord = opti_inter_street(c, main_street, liste_coord_admissibles, liste_coord_admissibles2, d_1_2, d_2_1, inter_street, inter_street_coord)
         c +=1
     return inter_street+inter_street_coord
diff --git a/main.py b/main.py
index 2ffe912..8743d4f 100644
--- a/main.py
+++ b/main.py
@@ -43,11 +43,14 @@ def classement_arbres(liste_coord):
     return dict
 
 if __name__=="__main__":
-    lat = 48.89394122
-    lon = 2.247959188
+    
+    lat = 48.89627806
+    lon = 2.248657510
     print(tree_position(lat, lon))
+    '''
     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(trees_positions(liste))
+    '''
\ No newline at end of file
diff --git a/request.py b/request.py
index 8978afd..7f87b5b 100644
--- a/request.py
+++ b/request.py
@@ -4,6 +4,7 @@ import requests
 
 
 def requete_osm(lat, lon):
+    #Recherche l'addresse d'un point gps
     params = {
         'lat':lat,
         'lon':lon,
diff --git a/request2.py b/request2.py
index ad08795..2e8964a 100644
--- a/request2.py
+++ b/request2.py
@@ -2,6 +2,7 @@ import requests
 import json
 
 def search_osm(main_street, city, country):
+    #requete pour obtenir les intersections d'une rue donnée
     params = {
         'street' : main_street,
         'city' : city,
@@ -16,6 +17,7 @@ def search_osm(main_street, city, country):
     return reqJson
 
 def all_intersect(json):
+    #concaténation des intersections des différents morceaux de rue trouvés
     intersection = []
     for road in json:
         try:
diff --git a/research.py b/research.py
index 2e42ee9..b1f28c7 100644
--- a/research.py
+++ b/research.py
@@ -2,6 +2,7 @@ from request import requete_osm
 from math import sqrt
 
 def circular_research(lat, lon, main_street):
+    #Recherche un rue autre que main_street par recherche circulaire autour du point d'intersection
     street = requete_osm(lat, lon)['address']['road']
     if not(street == main_street) and not(street == ''):
         return street
@@ -15,6 +16,7 @@ def circular_research(lat, lon, main_street):
     return None
 
 def check_position(lat, lon, step, main_street, i):
+    #Calcul les positions autour du point centrale et récupère la rue associée à cette position
     street = ''
     step_diag = step/sqrt(2)
     if i == 0:
-- 
GitLab