diff --git a/__pycache__/research.cpython-38.pyc b/__pycache__/research.cpython-38.pyc index afacca98aac9733bd63f19ac1325b5a92f644af1..ed2ca150e2e72ec77e82ae5798e6c587af0df0f5 100644 Binary files a/__pycache__/research.cpython-38.pyc and b/__pycache__/research.cpython-38.pyc differ diff --git a/main.py b/main.py index d05ef1fa470ffe229f7ce173cc13c89515d07ef2..c221b79dc4c63cc988b5a7041dc29cfc9f7d72f5 100644 --- a/main.py +++ b/main.py @@ -10,6 +10,6 @@ def tree_position(lat, lon): return {'lat':lat, 'lon':lon, 'ville':city, 'rue':main_street, 'début tronçon': begin, 'fin tronçon':end} if __name__=="__main__": - lat = 48.89525193 - lon = 2.247122897 + lat = 48.89394122 + lon = 2.247959188 print(tree_position(lat, lon)) \ No newline at end of file diff --git a/research.py b/research.py index fc827f6464bbe393bbfdf78aed0bfa1f78c70741..b605890007240ead947516bf3f9e2ad265b72b86 100644 --- a/research.py +++ b/research.py @@ -3,13 +3,13 @@ from math import sqrt def circular_research(lat, lon, main_street): street = requete_osm(lat, lon)['address']['road'] - if not(street == main_street): + if not(street == main_street) and not(street == ''): return street step = 10**(-5) while step < 10**(-4): for i in range(8): street = check_position(lat, lon, step, main_street, i) - if not(street == main_street): + if not(street == main_street) and not(street == ''): return street step += 10**(-5) return None @@ -18,19 +18,43 @@ def check_position(lat, lon, step, main_street, i): street = '' step_diag = step/sqrt(2) if i == 0: - street = requete_osm(lat+step, lon)['address']['road'] + try: + street = requete_osm(lat+step, lon)['address']['road'] + except KeyError: + pass elif i == 1: - street = requete_osm(lat+step_diag, lon+step_diag)['address']['road'] + try: + street = requete_osm(lat+step_diag, lon+step_diag)['address']['road'] + except KeyError: + pass elif i == 2: - street = requete_osm(lat, lon+step)['address']['road'] + try: + street = requete_osm(lat, lon+step)['address']['road'] + except KeyError: + pass elif i == 3: - street = requete_osm(lat-step_diag, lon+step_diag)['address']['road'] + try: + street = requete_osm(lat-step_diag, lon+step_diag)['address']['road'] + except KeyError: + pass elif i == 4: - street = requete_osm(lat-step, lon)['address']['road'] + try: + street = requete_osm(lat-step, lon)['address']['road'] + except KeyError: + pass elif i == 5: - street = requete_osm(lat-step_diag, lon-step_diag)['address']['road'] + try: + street = requete_osm(lat-step_diag, lon-step_diag)['address']['road'] + except KeyError: + pass elif i == 6: - street = requete_osm(lat, lon-step)['address']['road'] + try: + street = requete_osm(lat, lon-step)['address']['road'] + except KeyError: + pass elif i == 7: - street = requete_osm(lat+step_diag, lon-step_diag)['address']['road'] + try: + street = requete_osm(lat+step_diag, lon-step_diag)['address']['road'] + except KeyError: + pass return street