diff --git a/backend/src/landmarks_manager.py b/backend/src/landmarks_manager.py index 1377586..37eb032 100644 --- a/backend/src/landmarks_manager.py +++ b/backend/src/landmarks_manager.py @@ -15,7 +15,33 @@ SHOPPING = LandmarkType(landmark_type='shopping') # Include the json here # Create a list of all things to visit given some preferences and a city. Ready for the optimizer -def generate_landmarks(preferences: Preferences, city_country: str = None, coordinates: Tuple[float, float] = None) -> Tuple[List[Landmark], List[Landmark]] : +def generate_landmarks(preferences: Preferences, coordinates: Tuple[float, float]) : + + l_sights, l_nature, l_shop = get_amenities() + L = [] + + # List for sightseeing + if preferences.sightseeing.score != 0 : + L1 = get_landmarks(l_sights, SIGHTSEEING, coordinates=coordinates) + correct_score(L1, preferences.sightseeing) + L += L1 + + # List for nature + if preferences.nature.score != 0 : + L2 = get_landmarks(l_nature, NATURE, coordinates=coordinates) + correct_score(L2, preferences.nature) + L += L2 + + # List for shopping + if preferences.shopping.score != 0 : + L3 = get_landmarks(l_shop, SHOPPING, coordinates=coordinates) + correct_score(L3, preferences.shopping) + L += L3 + + return remove_duplicates(L), take_most_important(L) + + +"""def generate_landmarks(preferences: Preferences, city_country: str = None, coordinates: Tuple[float, float] = None) -> Tuple[List[Landmark], List[Landmark]] : l_sights, l_nature, l_shop = get_amenities() L = [] @@ -39,8 +65,7 @@ def generate_landmarks(preferences: Preferences, city_country: str = None, coord L += L3 return remove_duplicates(L), take_most_important(L) - - +""" # Helper function to gather the amenities list def get_amenities() -> List[List[str]] : @@ -199,7 +224,71 @@ def create_bbox(coordinates: Tuple[float, float], side_length: int) -> Tuple[flo return min_lat, min_lon, max_lat, max_lon -def get_landmarks(list_amenity: list, landmarktype: LandmarkType, city_country: str = None, coordinates: Tuple[float, float] = None) -> List[Landmark] : +def get_landmarks(list_amenity: list, landmarktype: LandmarkType, coordinates: Tuple[float, float]) -> List[Landmark] : + + # Read the parameters from the file + with open (os.path.dirname(os.path.abspath(__file__)) + '/parameters/landmarks_manager.params', "r") as f : + parameters = json.loads(f.read()) + tag_coeff = parameters['tag coeff'] + park_coeff = parameters['park coeff'] + church_coeff = parameters['church coeff'] + radius = parameters['radius close to'] + bbox_side = parameters['city bbox side'] + + # Create bbox around start location + bbox = create_bbox(coordinates, bbox_side) + + # Initialize some variables + N = 0 + L = [] + overpass = Overpass() + + for amenity in list_amenity : + query = overpassQueryBuilder(bbox=bbox, elementType=['way', 'relation'], selector=amenity, includeCenter=True, out='body') + result = overpass.query(query) + N += result.countElements() + + for elem in result.elements(): + + name = elem.tag('name') # Add name + location = (elem.centerLat(), elem.centerLon()) # Add coordinates (lat, lon) + + # skip if unprecise location + if name is None or location[0] is None: + continue + + # skip if unused + if 'disused:leisure' in elem.tags().keys(): + continue + + # skip if part of another building + if 'building:part' in elem.tags().keys() and elem.tag('building:part') == 'yes': + continue + + else : + osm_type = elem.type() # Add type : 'way' or 'relation' + osm_id = elem.id() # Add OSM id + elem_type = landmarktype # Add the landmark type as 'sightseeing + n_tags = len(elem.tags().keys()) # Add number of tags + + # Add score of given landmark based on the number of surrounding elements. Penalty for churches as there are A LOT + if amenity == "'amenity'='place_of_worship'" : + score = int((count_elements_within_radius(location, radius) + n_tags*tag_coeff )*church_coeff) + elif amenity == "'leisure'='park'" : + score = int((count_elements_within_radius(location, radius) + n_tags*tag_coeff )*park_coeff) + else : + score = count_elements_within_radius(location, radius) + n_tags*tag_coeff + + if score is not None : + # Generate the landmark and append it to the list + landmark = Landmark(name=name, type=elem_type, location=location, osm_type=osm_type, osm_id=osm_id, attractiveness=score, must_do=False, n_tags=n_tags) + L.append(landmark) + + return L + + + +"""def get_landmarks(list_amenity: list, landmarktype: LandmarkType, city_country: str = None, coordinates: Tuple[float, float] = None) -> List[Landmark] : if city_country is None and coordinates is None : raise ValueError("Either one of 'city_country' and 'coordinates' arguments must be specified") @@ -277,3 +366,4 @@ def get_landmarks(list_amenity: list, landmarktype: LandmarkType, city_country: L.append(landmark) return L +""" \ No newline at end of file diff --git a/backend/src/main.py b/backend/src/main.py index dd052c0..8065161 100644 --- a/backend/src/main.py +++ b/backend/src/main.py @@ -1,6 +1,6 @@ from optimizer import solve_optimization +from refiner import refine_optimization from landmarks_manager import generate_landmarks -from structs.landmarks import LandmarkTest from structs.landmarks import Landmark from structs.landmarktype import LandmarkType from structs.preferences import Preferences, Preference @@ -12,35 +12,45 @@ app = FastAPI() # Assuming frontend is calling like this : #"http://127.0.0.1:8000/process?param1={param1}¶m2={param2}" -@app.post("/optimizer_coords/{latitude}/{longitude}/{city_country}") -def main1(preferences: Preferences = Body(...), latitude: float = None, longitude: float = None, city_country: str = None) -> List[Landmark]: +@app.post("/optimizer_coords/{start_lat}/{start_lon}/{finish_lat}/{finish_lon}") +def main1(start_lat: float, start_lon: float, preferences: Preferences = Body(...), finish_lat: float = None, finish_lon: float = None) -> List[Landmark]: if preferences is None : raise ValueError("Please provide preferences in the form of a 'Preference' BaseModel class.") - elif latitude is None and longitude is None and city_country is None : - raise ValueError("Please provide GPS coordinates or a 'city_country' string.") - elif latitude is not None and longitude is not None and city_country is not None : - raise ValueError("Please provide EITHER GPS coordinates or a 'city_country' string.") + if bool(start_lat) ^ bool(start_lon) : + raise ValueError("Please provide both latitude and longitude for the starting point") + if bool(finish_lat) ^ bool(finish_lon) : + raise ValueError("Please provide both latitude and longitude for the finish point") - - # From frontend get longitude, latitude and prefence list - if city_country is None : - coordinates = tuple((latitude, longitude)) + start = Landmark(name='start', type=LandmarkType(landmark_type='start'), location=(start_lat, start_lon), osm_type='start', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) + + if bool(finish_lat) and bool(finish_lon) : + finish = Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=(finish_lat, finish_lon), osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) + else : + finish = Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=(start_lat, start_lon), osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) - [], landmarks_short = generate_landmarks(preferences=preferences, city_country=city_country, coordinates=coordinates) - start = Landmark(name='start', type=LandmarkType(landmark_type='start'), location=(48.8375946, 2.2949904), osm_type='start', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) finish = Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=(48.8375946, 2.2949904), osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) + # Generate the landmarks from the start location + landmarks, landmarks_short = generate_landmarks(preferences=preferences, coordinates=start.location) + + # insert start and finish to the landmarks list landmarks_short.insert(0, start) landmarks_short.append(finish) - max_walking_time = 4 # hours + # TODO use these parameters in another way + max_walking_time = 4 # hours + detour = 30 # minutes - visiting_list = solve_optimization(landmarks_short, max_walking_time*60, True) - - return visiting_list + # First stage optimization + base_tour = solve_optimization(landmarks_short, max_walking_time*60, True) + + # Second stage optimization + refined_tour = refine_optimization(landmarks, base_tour, max_walking_time*60+detour, True) + + return refined_tour diff --git a/backend/src/optimizer.py b/backend/src/optimizer.py index 2a19bb3..76fd0ed 100644 --- a/backend/src/optimizer.py +++ b/backend/src/optimizer.py @@ -141,19 +141,19 @@ def get_distance(p1: Tuple[float, float], p2: Tuple[float, float], detour: float else: dist = 6371.01 * acos(sin(radians(p1[0]))*sin(radians(p2[0])) + cos(radians(p1[0]))*cos(radians(p2[0]))*cos(radians(p1[1]) - radians(p2[1]))) - # Consider the detour factor for average city - wdist = dist*detour + # Consider the detour factor for average cityto deterline walking distance (in km) + walk_dist = dist*detour # Time to walk this distance (in minutes) - wtime = wdist/speed*60 + walk_time = walk_dist/speed*60 - if wtime > 15 : - wtime = 5*round(wtime/5) + if walk_time > 15 : + walk_time = 5*round(walk_time/5) else : - wtime = round(wtime) + walk_time = round(walk_time) - return round(wdist, 1), wtime + return round(walk_dist, 1), walk_time # Initialize A and c. Compute the distances from all landmarks to each other and store attractiveness @@ -291,27 +291,47 @@ def respect_order(N: int, A_eq, b_eq): # Computes the path length given path matrix (dist_table) and a result -def add_time_to_reach(order: List[Landmark], landmarks: List[Landmark])->List[Landmark] : - - j = 0 - L = [] +def add_time_to_reach(order: List[int], landmarks: List[Landmark])->List[Landmark] : # Read the parameters from the file with open (os.path.dirname(os.path.abspath(__file__)) + '/parameters/optimizer.params', "r") as f : parameters = json.loads(f.read()) - detour = parameters['detour factor'] + detour_factor = parameters['detour factor'] speed = parameters['average walking speed'] + j = 0 + L = [] prev = landmarks[0] + while(len(L) != len(order)) : elem = landmarks[order[j]] if elem != prev : - elem.time_to_reach = get_distance(elem.location, prev.location, detour, speed)[1] + elem.time_to_reach = get_distance(elem.location, prev.location, detour_factor, speed)[1] elem.must_do = True L.append(elem) prev = elem j += 1 + + return L + +def add_time_to_reach_simple(ordered_visit: List[Landmark])-> List[Landmark] : + + # Read the parameters from the file + with open (os.path.dirname(os.path.abspath(__file__)) + '/parameters/optimizer.params', "r") as f : + parameters = json.loads(f.read()) + detour_factor = parameters['detour factor'] + speed = parameters['average walking speed'] + + L = [] + prev = ordered_visit[0] + L.append(prev) + + for elem in ordered_visit[1:] : + elem.time_to_reach = get_distance(elem.location, prev.location, detour_factor, speed)[1] + elem.must_do = True + L.append(elem) + prev = elem return L @@ -356,7 +376,7 @@ def solve_optimization (landmarks :List[Landmark], max_steps: int, printing_deta # Add the times to reach and stop optimizing L = add_time_to_reach(order, landmarks) break - print(i) + #print(i) i += 1 if i == timeout : diff --git a/backend/src/parameters/optimizer.params b/backend/src/parameters/optimizer.params index a87d35b..5d32077 100644 --- a/backend/src/parameters/optimizer.params +++ b/backend/src/parameters/optimizer.params @@ -1,4 +1,4 @@ { - "detour factor" : 10, - "average walking speed" : 27.5 + "detour factor" : 1.4, + "average walking speed" : 4.8 } \ No newline at end of file diff --git a/backend/src/refiner.py b/backend/src/refiner.py index 9711bd2..b57610c 100644 --- a/backend/src/refiner.py +++ b/backend/src/refiner.py @@ -1,9 +1,10 @@ -from shapely import buffer, LineString, Point, Polygon +from shapely import buffer, LineString, Point, Polygon, MultiPoint, convex_hull, concave_hull, LinearRing from typing import List from math import pi from structs.landmarks import Landmark from landmarks_manager import take_most_important +from optimizer import solve_optimization, add_time_to_reach_simple, print_res def create_corridor(landmarks: List[Landmark], width: float) : @@ -34,10 +35,78 @@ def is_in_area(area: Polygon, coordinates) -> bool : def get_minor_landmarks(all_landmarks: List[Landmark], visited_landmarks: List[Landmark], width: float) -> List[Landmark] : second_order_landmarks = [] + visited_names = [] area = create_corridor(visited_landmarks, width) + for visited in visited_landmarks : + visited_names.append(visited.name) + for landmark in all_landmarks : - if is_in_area(area, landmark.location) and landmark not in visited_landmarks: + if is_in_area(area, landmark.location) and landmark.name not in visited_names: second_order_landmarks.append(landmark) - return take_most_important(second_order_landmarks) \ No newline at end of file + return take_most_important(second_order_landmarks) + + + +"""def refine_optimization(landmarks: List[Landmark], base_tour: List[Landmark], max_time: int, print_infos: bool) -> List[Landmark] : + + minor_landmarks = get_minor_landmarks(landmarks, base_tour, 200) + + if print_infos : print("There are " + str(len(minor_landmarks)) + " minor landmarks around the predicted path") + + full_set = base_tour[:-1] + minor_landmarks # create full set of possible landmarks (without finish) + full_set.append(base_tour[-1]) # add finish back + + new_route = solve_optimization(full_set, max_time, print_infos) + + return new_route""" + + +def refine_optimization(landmarks: List[Landmark], base_tour: List[Landmark], max_time: int, print_infos: bool) -> List[Landmark] : + + minor_landmarks = get_minor_landmarks(landmarks, base_tour, 200) + + if print_infos : print("There are " + str(len(minor_landmarks)) + " minor landmarks around the predicted path") + + # full set of visitable landmarks + full_set = base_tour[:-1] + minor_landmarks # create full set of possible landmarks (without finish) + full_set.append(base_tour[-1]) # add finish back + + # get a new route + new_route = solve_optimization(full_set, max_time, False) + + coords = [] # Coordinates of the new route + coords_dict = {} # maps the location of an element to the element itself. Used to access the elements back once we get the geometry + + # Iterate through the new route without finish + for elem in new_route[:-1] : + coords.append(Point(elem.location)) + coords_dict[elem.location] = elem # if start = goal, only finish remains + + # Create a concave polygon using the coordinates + better_route_poly = concave_hull(MultiPoint(coords)) # Create concave hull with "core" of route leaving out start and finish + xs, ys = better_route_poly.exterior.xy + + better_route = [] # List of ordered visit + name_index = {} # Maps the name of a landmark to its index in the concave polygon + + # Loop through the polygon and generate the better (ordered) route + for i,x in enumerate(xs[:-1]) : + better_route.append(coords_dict[tuple((x,ys[i]))]) + name_index[coords_dict[tuple((x,ys[i]))].name] = i + + + # Scroll the list to have start in front again + start_index = name_index['start'] + better_route = better_route[start_index:] + better_route[:start_index] + + # Append the finish back and correct the time to reach + better_route.append(new_route[-1]) + better_route = add_time_to_reach_simple(better_route) + + if print_infos : + print("\nRefined tour (result of second stage optimization): ") + print_res(better_route, len(better_route)) + + return better_route diff --git a/backend/src/tester.py b/backend/src/tester.py index a354d44..4920847 100644 --- a/backend/src/tester.py +++ b/backend/src/tester.py @@ -5,7 +5,7 @@ from landmarks_manager import generate_landmarks from fastapi.encoders import jsonable_encoder from optimizer import solve_optimization -from refiner import get_minor_landmarks +from refiner import refine_optimization from structs.landmarks import Landmark from structs.landmarktype import LandmarkType from structs.preferences import Preferences, Preference @@ -80,38 +80,32 @@ def test4(coordinates: tuple[float, float]) -> List[Landmark]: type=LandmarkType(landmark_type='shopping'), score = 5)) - city_country = None - landmarks, landmarks_short = generate_landmarks(preferences=preferences, city_country=city_country, coordinates=coordinates) + # Create start and finish + start = Landmark(name='start', type=LandmarkType(landmark_type='start'), location=coordinates, osm_type='start', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) + finish = Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=coordinates, osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) + + # Generate the landmarks from the start location + landmarks, landmarks_short = generate_landmarks(preferences=preferences, coordinates=start.location) #write_data(landmarks, "landmarks.txt") + # Insert start and finish to the landmarks list + landmarks_short.insert(0, start) + landmarks_short.append(finish) - start = Landmark(name='start', type=LandmarkType(landmark_type='start'), location=(48.8375946, 2.2949904), osm_type='start', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) - finish = Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=(48.8375946, 2.2949904), osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags = 0) - - test = landmarks_short - - test.insert(0, start) - test.append(finish) - + # TODO use these parameters in another way max_walking_time = 4 # hours detour = 30 # minutes - visited_list = solve_optimization(test, max_walking_time*60, True) - #visited_list = [Landmark(name='start', type=LandmarkType(landmark_type='start'), location=(48.8375946, 2.2949904), osm_type='start', osm_id=0, attractiveness=0, must_do=True, n_tags=0, time_to_reach=0), Landmark(name='Palais du Louvre', type=LandmarkType(landmark_type='sightseeing'), location=(48.8614768, 2.3351677), osm_type='relation', osm_id=3262297, attractiveness=32, must_do=False, n_tags=32, time_to_reach=85), Landmark(name='Musée du Louvre', type=LandmarkType(landmark_type='sightseeing'), location=(48.8611474, 2.3358637), osm_type='relation', osm_id=7515426, attractiveness=34, must_do=False, n_tags=33, time_to_reach=1), Landmark(name='Bourse de Commerce — Pinault Collection', type=LandmarkType(landmark_type='sightseeing'), location=(48.8628167, 2.3428183), osm_type='way', osm_id=19856722, attractiveness=32, must_do=False, n_tags=32, time_to_reach=12), Landmark(name='Centre Georges Pompidou', type=LandmarkType(landmark_type='sightseeing'), location=(48.8605235, 2.3524395), osm_type='way', osm_id=55503397, attractiveness=43, must_do=False, n_tags=43, time_to_reach=15), Landmark(name='Tour Saint-Jacques', type=LandmarkType(landmark_type='sightseeing'), location=(48.8579983, 2.3489178), osm_type='way', osm_id=20326709, attractiveness=33, must_do=False, n_tags=31, time_to_reach=8), Landmark(name='Hôtel de Ville', type=LandmarkType(landmark_type='sightseeing'), location=(48.8564265, 2.352527), osm_type='relation', osm_id=284089, attractiveness=34, must_do=False, n_tags=32, time_to_reach=7), Landmark(name='Cathédrale Notre-Dame de Paris', type=LandmarkType(landmark_type='sightseeing'), location=(48.8529372, 2.3498701), osm_type='way', osm_id=201611261, attractiveness=55, must_do=False, n_tags=54, time_to_reach=9), Landmark(name='Sainte-Chapelle', type=LandmarkType(landmark_type='sightseeing'), location=(48.8553966, 2.3450136), osm_type='relation', osm_id=3344870, attractiveness=57, must_do=False, n_tags=54, time_to_reach=10), Landmark(name='finish', type=LandmarkType(landmark_type='finish'), location=(48.8375946, 2.2949904), osm_type='finish', osm_id=0, attractiveness=0, must_do=True, n_tags=0, time_to_reach=90)] - - - minor_landmarks = get_minor_landmarks(landmarks, visited_list, 200) - #write_data(minor_landmarks, 'minor_landmarks.txt') - print("There are " + str(len(minor_landmarks)) + " minor landmarks around the predicted path") - - full_set = visited_list[:-1] + minor_landmarks[:30] - full_set.append(finish) - - new_route = solve_optimization(full_set, max_walking_time*60+detour, True) + # First stage optimization + base_tour = solve_optimization(landmarks_short, max_walking_time*60, True) - return new_route + # Second stage optimization + refined_tour = refine_optimization(landmarks, base_tour, max_walking_time*60+detour, True) + + return refined_tour -test4(tuple((48.8795156, 2.3660204))) +#test4(tuple((48.8344400, 2.3220540))) # Café Chez César +test4(tuple((48.8375946, 2.2949904))) # Point random #test3('Vienna, Austria') \ No newline at end of file diff --git a/landmarks.txt b/landmarks.txt index c916945..7ee474a 100644 --- a/landmarks.txt +++ b/landmarks.txt @@ -4144,502 +4144,22 @@ "time_to_reach":0 }, "259":{ - "name":"Césure", + "name":"Église Saint-Séverin", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.839818, - 2.3539553 + 48.8520913, + 2.3457237 ], "osm_type":"way", - "osm_id":17044233, - "attractiveness":22, + "osm_id":19740659, + "attractiveness":15, "must_do":false, - "n_tags":22, + "n_tags":25, "time_to_reach":0 }, "260":{ - "name":"La Gare Expérimentale", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8784984, - 2.4063687 - ], - "osm_type":"way", - "osm_id":63224605, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "261":{ - "name":"Institut hongrois", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8491305, - 2.3324247 - ], - "osm_type":"way", - "osm_id":63354216, - "attractiveness":5, - "must_do":false, - "n_tags":5, - "time_to_reach":0 - }, - "262":{ - "name":"Grande Halle de la Villette", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8909125, - 2.3908221 - ], - "osm_type":"way", - "osm_id":63971649, - "attractiveness":14, - "must_do":false, - "n_tags":14, - "time_to_reach":0 - }, - "263":{ - "name":"WIP Villette", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8958997, - 2.385039 - ], - "osm_type":"way", - "osm_id":64040324, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "264":{ - "name":"Espace Fondation EDF", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8523494, - 2.3282306 - ], - "osm_type":"way", - "osm_id":64941360, - "attractiveness":9, - "must_do":false, - "n_tags":9, - "time_to_reach":0 - }, - "265":{ - "name":"Centre national de la danse", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8954653, - 2.4021216 - ], - "osm_type":"way", - "osm_id":67561076, - "attractiveness":13, - "must_do":false, - "n_tags":13, - "time_to_reach":0 - }, - "266":{ - "name":"Centre Culturel Coréen", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8752293, - 2.3216144 - ], - "osm_type":"way", - "osm_id":67725937, - "attractiveness":14, - "must_do":false, - "n_tags":14, - "time_to_reach":0 - }, - "267":{ - "name":"Villa Belleville", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8720528, - 2.3795927 - ], - "osm_type":"way", - "osm_id":69999925, - "attractiveness":5, - "must_do":false, - "n_tags":5, - "time_to_reach":0 - }, - "268":{ - "name":"Pavillon Carré de Baudouin", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.870081, - 2.3939858 - ], - "osm_type":"way", - "osm_id":70000298, - "attractiveness":22, - "must_do":false, - "n_tags":21, - "time_to_reach":0 - }, - "269":{ - "name":"La Bellevilloise", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8683098, - 2.3920151 - ], - "osm_type":"way", - "osm_id":70004207, - "attractiveness":10, - "must_do":false, - "n_tags":10, - "time_to_reach":0 - }, - "270":{ - "name":"Maison Revel", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.90221, - 2.3920317 - ], - "osm_type":"way", - "osm_id":73112211, - "attractiveness":12, - "must_do":false, - "n_tags":12, - "time_to_reach":0 - }, - "271":{ - "name":"Soukmachine", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9041572, - 2.401025 - ], - "osm_type":"way", - "osm_id":73113433, - "attractiveness":9, - "must_do":false, - "n_tags":9, - "time_to_reach":0 - }, - "272":{ - "name":"CNAP La nouvelle adresse", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9018571, - 2.4039975 - ], - "osm_type":"way", - "osm_id":73113678, - "attractiveness":10, - "must_do":false, - "n_tags":10, - "time_to_reach":0 - }, - "273":{ - "name":"La Dynamo de Banlieues Bleues", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9033501, - 2.3933072 - ], - "osm_type":"way", - "osm_id":73114280, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "274":{ - "name":"Conservatoire Léo Delibes", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9022746, - 2.3066126 - ], - "osm_type":"way", - "osm_id":74475750, - "attractiveness":5, - "must_do":false, - "n_tags":5, - "time_to_reach":0 - }, - "275":{ - "name":"Le BAL", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8852691, - 2.327352 - ], - "osm_type":"way", - "osm_id":76031543, - "attractiveness":16, - "must_do":false, - "n_tags":15, - "time_to_reach":0 - }, - "276":{ - "name":"Le Hasard Ludique", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8957023, - 2.3286954 - ], - "osm_type":"way", - "osm_id":77670163, - "attractiveness":20, - "must_do":false, - "n_tags":20, - "time_to_reach":0 - }, - "277":{ - "name":"Maison des ensembles", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8480847, - 2.3771241 - ], - "osm_type":"way", - "osm_id":78146448, - "attractiveness":10, - "must_do":false, - "n_tags":10, - "time_to_reach":0 - }, - "278":{ - "name":"Maison de l’Amérique latine", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8571575, - 2.3234807 - ], - "osm_type":"way", - "osm_id":166220702, - "attractiveness":10, - "must_do":false, - "n_tags":10, - "time_to_reach":0 - }, - "279":{ - "name":"Conservatoire De Musique de Danse et d'Art Dramatique d'Aubervilliers La Courneuve", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9103441, - 2.3829444 - ], - "osm_type":"way", - "osm_id":228362260, - "attractiveness":7, - "must_do":false, - "n_tags":7, - "time_to_reach":0 - }, - "280":{ - "name":"Galerie Thaddaeus Ropac", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8995242, - 2.407969 - ], - "osm_type":"way", - "osm_id":239775793, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "281":{ - "name":"Le Cent Quatre", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8902444, - 2.3700712 - ], - "osm_type":"way", - "osm_id":278632326, - "attractiveness":17, - "must_do":false, - "n_tags":17, - "time_to_reach":0 - }, - "282":{ - "name":"Sheds Cartier-Bresson", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.9062952, - 2.3971653 - ], - "osm_type":"way", - "osm_id":399969522, - "attractiveness":10, - "must_do":false, - "n_tags":10, - "time_to_reach":0 - }, - "283":{ - "name":"Quai de la photo", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8366196, - 2.3754076 - ], - "osm_type":"way", - "osm_id":618744163, - "attractiveness":13, - "must_do":false, - "n_tags":13, - "time_to_reach":0 - }, - "284":{ - "name":"Bateau Daphné", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8520929, - 2.3494633 - ], - "osm_type":"way", - "osm_id":618750321, - "attractiveness":6, - "must_do":false, - "n_tags":6, - "time_to_reach":0 - }, - "285":{ - "name":"Atelier des Lumières", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8619116, - 2.38113 - ], - "osm_type":"way", - "osm_id":973123037, - "attractiveness":14, - "must_do":false, - "n_tags":14, - "time_to_reach":0 - }, - "286":{ - "name":"Maison du Val d'Aoste", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8588546, - 2.3457567 - ], - "osm_type":"relation", - "osm_id":537232, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "287":{ - "name":"La Gaîté lyrique", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8665653, - 2.3534157 - ], - "osm_type":"relation", - "osm_id":550514, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "288":{ - "name":"Les Plateaux Sauvages", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8680107, - 2.3891033 - ], - "osm_type":"relation", - "osm_id":1103386, - "attractiveness":7, - "must_do":false, - "n_tags":7, - "time_to_reach":0 - }, - "289":{ - "name":"Cité Internationale des Arts", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8542814, - 2.356698 - ], - "osm_type":"relation", - "osm_id":3514193, - "attractiveness":11, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "290":{ "name":"Église Saint-Pierre de Montmartre", "type":{ "landmark_type":"sightseeing" @@ -4655,7 +4175,7 @@ "n_tags":14, "time_to_reach":0 }, - "291":{ + "261":{ "name":"Église Notre-Dame de l'Arche d'Alliance", "type":{ "landmark_type":"sightseeing" @@ -4671,7 +4191,7 @@ "n_tags":12, "time_to_reach":0 }, - "292":{ + "262":{ "name":"Église Notre-Dame-de-Lorette", "type":{ "landmark_type":"sightseeing" @@ -4687,7 +4207,7 @@ "n_tags":21, "time_to_reach":0 }, - "293":{ + "263":{ "name":"Église Notre-Dame de Clignancourt", "type":{ "landmark_type":"sightseeing" @@ -4703,7 +4223,7 @@ "n_tags":10, "time_to_reach":0 }, - "294":{ + "264":{ "name":"Synagogue de la rue Sainte-Isaure", "type":{ "landmark_type":"sightseeing" @@ -4719,7 +4239,7 @@ "n_tags":10, "time_to_reach":0 }, - "295":{ + "265":{ "name":"Synagogue Chivté Israël", "type":{ "landmark_type":"sightseeing" @@ -4735,7 +4255,7 @@ "n_tags":6, "time_to_reach":0 }, - "296":{ + "266":{ "name":"Église Sainte-Hélène", "type":{ "landmark_type":"sightseeing" @@ -4751,7 +4271,7 @@ "n_tags":7, "time_to_reach":0 }, - "297":{ + "267":{ "name":"Église de la Sainte-Trinité", "type":{ "landmark_type":"sightseeing" @@ -4767,7 +4287,7 @@ "n_tags":19, "time_to_reach":0 }, - "298":{ + "268":{ "name":"Église Saint-Leu - Saint-Gilles", "type":{ "landmark_type":"sightseeing" @@ -4783,7 +4303,7 @@ "n_tags":23, "time_to_reach":0 }, - "299":{ + "269":{ "name":"Basilique Notre-Dame-des-Victoires", "type":{ "landmark_type":"sightseeing" @@ -4799,7 +4319,7 @@ "n_tags":24, "time_to_reach":0 }, - "300":{ + "270":{ "name":"Église Notre-Dame-de-Bonne-Nouvelle", "type":{ "landmark_type":"sightseeing" @@ -4815,7 +4335,7 @@ "n_tags":22, "time_to_reach":0 }, - "301":{ + "271":{ "name":"Église Saint-Louis-en-l'Île", "type":{ "landmark_type":"sightseeing" @@ -4831,7 +4351,7 @@ "n_tags":17, "time_to_reach":0 }, - "302":{ + "272":{ "name":"Église Saint-Étienne-du-Mont", "type":{ "landmark_type":"sightseeing" @@ -4847,7 +4367,7 @@ "n_tags":26, "time_to_reach":0 }, - "303":{ + "273":{ "name":"Église Orthodoxe Roumaine des Saints Archanges", "type":{ "landmark_type":"sightseeing" @@ -4863,7 +4383,7 @@ "n_tags":16, "time_to_reach":0 }, - "304":{ + "274":{ "name":"Église Saint-Merri", "type":{ "landmark_type":"sightseeing" @@ -4879,7 +4399,7 @@ "n_tags":26, "time_to_reach":0 }, - "305":{ + "275":{ "name":"Temple du Marais", "type":{ "landmark_type":"sightseeing" @@ -4895,7 +4415,7 @@ "n_tags":17, "time_to_reach":0 }, - "306":{ + "276":{ "name":"Église Sainte-Elisabeth", "type":{ "landmark_type":"sightseeing" @@ -4911,7 +4431,7 @@ "n_tags":18, "time_to_reach":0 }, - "307":{ + "277":{ "name":"Synagogue Vauquelin", "type":{ "landmark_type":"sightseeing" @@ -4927,7 +4447,7 @@ "n_tags":5, "time_to_reach":0 }, - "308":{ + "278":{ "name":"Chapelle de la congrégation du Saint-Esprit", "type":{ "landmark_type":"sightseeing" @@ -4943,7 +4463,7 @@ "n_tags":8, "time_to_reach":0 }, - "309":{ + "279":{ "name":"Maison Fraternelle", "type":{ "landmark_type":"sightseeing" @@ -4959,7 +4479,7 @@ "n_tags":6, "time_to_reach":0 }, - "310":{ + "280":{ "name":"Église du Val-de-Grâce", "type":{ "landmark_type":"sightseeing" @@ -4975,7 +4495,7 @@ "n_tags":12, "time_to_reach":0 }, - "311":{ + "281":{ "name":"Église Notre-Dame-des-Vertus", "type":{ "landmark_type":"sightseeing" @@ -4991,7 +4511,7 @@ "n_tags":17, "time_to_reach":0 }, - "312":{ + "282":{ "name":"Église Saint-Ouen", "type":{ "landmark_type":"sightseeing" @@ -5007,7 +4527,7 @@ "n_tags":14, "time_to_reach":0 }, - "313":{ + "283":{ "name":"Église Saint-Germain des Prés", "type":{ "landmark_type":"sightseeing" @@ -5023,7 +4543,7 @@ "n_tags":21, "time_to_reach":0 }, - "314":{ + "284":{ "name":"Chapelle Notre-Dame de la Sagesse", "type":{ "landmark_type":"sightseeing" @@ -5039,7 +4559,23 @@ "n_tags":18, "time_to_reach":0 }, - "315":{ + "285":{ + "name":"Église Evangélique Baptiste", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8588762, + 2.3292649 + ], + "osm_type":"way", + "osm_id":63149138, + "attractiveness":5, + "must_do":false, + "n_tags":8, + "time_to_reach":0 + }, + "286":{ "name":"Église Saint-Laurent", "type":{ "landmark_type":"sightseeing" @@ -5055,7 +4591,7 @@ "n_tags":17, "time_to_reach":0 }, - "316":{ + "287":{ "name":"Chapelle de l'hôpital Saint-Louis", "type":{ "landmark_type":"sightseeing" @@ -5071,7 +4607,7 @@ "n_tags":18, "time_to_reach":0 }, - "317":{ + "288":{ "name":"Église Saint-Joseph-Artisan", "type":{ "landmark_type":"sightseeing" @@ -5087,7 +4623,7 @@ "n_tags":11, "time_to_reach":0 }, - "318":{ + "289":{ "name":"Église Saint-Jean-Baptiste de Belleville", "type":{ "landmark_type":"sightseeing" @@ -5103,7 +4639,7 @@ "n_tags":23, "time_to_reach":0 }, - "319":{ + "290":{ "name":"Synagogue Michkenot Israël", "type":{ "landmark_type":"sightseeing" @@ -5119,7 +4655,7 @@ "n_tags":6, "time_to_reach":0 }, - "320":{ + "291":{ "name":"Église Notre-Dame-de-l'Assomption des Buttes-Chaumont", "type":{ "landmark_type":"sightseeing" @@ -5135,7 +4671,7 @@ "n_tags":12, "time_to_reach":0 }, - "321":{ + "292":{ "name":"Église Sainte-Claire d'Assise", "type":{ "landmark_type":"sightseeing" @@ -5151,7 +4687,7 @@ "n_tags":15, "time_to_reach":0 }, - "322":{ + "293":{ "name":"Temple Antoiniste", "type":{ "landmark_type":"sightseeing" @@ -5167,7 +4703,7 @@ "n_tags":7, "time_to_reach":0 }, - "323":{ + "294":{ "name":"Église Saint-Serge", "type":{ "landmark_type":"sightseeing" @@ -5183,7 +4719,7 @@ "n_tags":11, "time_to_reach":0 }, - "324":{ + "295":{ "name":"Église Saint-Joseph des Carmes", "type":{ "landmark_type":"sightseeing" @@ -5199,7 +4735,23 @@ "n_tags":11, "time_to_reach":0 }, - "325":{ + "296":{ + "name":"Mosquée Omar bn El Khattab", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8679659, + 2.3772772 + ], + "osm_type":"way", + "osm_id":63638391, + "attractiveness":5, + "must_do":false, + "n_tags":8, + "time_to_reach":0 + }, + "297":{ "name":"Église Réformée du Luxembourg", "type":{ "landmark_type":"sightseeing" @@ -5215,7 +4767,7 @@ "n_tags":9, "time_to_reach":0 }, - "326":{ + "298":{ "name":"Église Saint-Jean-des-Grésillons", "type":{ "landmark_type":"sightseeing" @@ -5231,7 +4783,7 @@ "n_tags":9, "time_to_reach":0 }, - "327":{ + "299":{ "name":"Église Sainte-Geneviève", "type":{ "landmark_type":"sightseeing" @@ -5247,7 +4799,7 @@ "n_tags":8, "time_to_reach":0 }, - "328":{ + "300":{ "name":"Église Saint-Jacques Saint-Christophe", "type":{ "landmark_type":"sightseeing" @@ -5263,7 +4815,7 @@ "n_tags":12, "time_to_reach":0 }, - "329":{ + "301":{ "name":"Église Notre-Dame des Foyers", "type":{ "landmark_type":"sightseeing" @@ -5279,7 +4831,7 @@ "n_tags":9, "time_to_reach":0 }, - "330":{ + "302":{ "name":"Église Notre-Dame des Champs", "type":{ "landmark_type":"sightseeing" @@ -5295,7 +4847,7 @@ "n_tags":11, "time_to_reach":0 }, - "331":{ + "303":{ "name":"Centre Quaker International", "type":{ "landmark_type":"sightseeing" @@ -5311,7 +4863,7 @@ "n_tags":9, "time_to_reach":0 }, - "332":{ + "304":{ "name":"Basilique Sainte-Clotilde", "type":{ "landmark_type":"sightseeing" @@ -5327,7 +4879,7 @@ "n_tags":18, "time_to_reach":0 }, - "333":{ + "305":{ "name":"Église Saint-Yves-des-Quatre-Routes", "type":{ "landmark_type":"sightseeing" @@ -5343,7 +4895,23 @@ "n_tags":10, "time_to_reach":0 }, - "334":{ + "306":{ + "name":"Église anglicane Saint-Michael", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8700841, + 2.3190066 + ], + "osm_type":"way", + "osm_id":67233894, + "attractiveness":5, + "must_do":false, + "n_tags":8, + "time_to_reach":0 + }, + "307":{ "name":"Église protestante unie du Saint-Esprit", "type":{ "landmark_type":"sightseeing" @@ -5359,7 +4927,7 @@ "n_tags":15, "time_to_reach":0 }, - "335":{ + "308":{ "name":"Église Saint-Augustin", "type":{ "landmark_type":"sightseeing" @@ -5375,7 +4943,7 @@ "n_tags":21, "time_to_reach":0 }, - "336":{ + "309":{ "name":"Église Saint-André de l'Europe", "type":{ "landmark_type":"sightseeing" @@ -5391,7 +4959,7 @@ "n_tags":8, "time_to_reach":0 }, - "337":{ + "310":{ "name":"Chapelle Baltard", "type":{ "landmark_type":"sightseeing" @@ -5407,7 +4975,7 @@ "n_tags":7, "time_to_reach":0 }, - "338":{ + "311":{ "name":"Chapelle Notre-Dame de l'Annonciation", "type":{ "landmark_type":"sightseeing" @@ -5423,7 +4991,7 @@ "n_tags":8, "time_to_reach":0 }, - "339":{ + "312":{ "name":"Synagogue Rashi", "type":{ "landmark_type":"sightseeing" @@ -5439,7 +5007,7 @@ "n_tags":9, "time_to_reach":0 }, - "340":{ + "313":{ "name":"Consistoire", "type":{ "landmark_type":"sightseeing" @@ -5455,7 +5023,7 @@ "n_tags":7, "time_to_reach":0 }, - "341":{ + "314":{ "name":"Église Luthérienne Saint-Jean", "type":{ "landmark_type":"sightseeing" @@ -5471,7 +5039,7 @@ "n_tags":8, "time_to_reach":0 }, - "342":{ + "315":{ "name":"Église Protestante Unie de Paris-Belleville", "type":{ "landmark_type":"sightseeing" @@ -5487,7 +5055,7 @@ "n_tags":10, "time_to_reach":0 }, - "343":{ + "316":{ "name":"Église Notre-Dame-des-Otages", "type":{ "landmark_type":"sightseeing" @@ -5503,7 +5071,7 @@ "n_tags":15, "time_to_reach":0 }, - "344":{ + "317":{ "name":"Église Notre-Dame-de-la-Croix", "type":{ "landmark_type":"sightseeing" @@ -5519,7 +5087,7 @@ "n_tags":26, "time_to_reach":0 }, - "345":{ + "318":{ "name":"Église protestante évangélique de Télégraphe", "type":{ "landmark_type":"sightseeing" @@ -5535,7 +5103,7 @@ "n_tags":7, "time_to_reach":0 }, - "346":{ + "319":{ "name":"Église Saint-Gabriel", "type":{ "landmark_type":"sightseeing" @@ -5551,7 +5119,7 @@ "n_tags":11, "time_to_reach":0 }, - "347":{ + "320":{ "name":"Église Protestante Danoise", "type":{ "landmark_type":"sightseeing" @@ -5567,7 +5135,7 @@ "n_tags":7, "time_to_reach":0 }, - "348":{ + "321":{ "name":"Cathédrale Saint-Alexandre-Nevsky", "type":{ "landmark_type":"sightseeing" @@ -5583,7 +5151,7 @@ "n_tags":22, "time_to_reach":0 }, - "349":{ + "322":{ "name":"Temple protestant", "type":{ "landmark_type":"sightseeing" @@ -5599,7 +5167,7 @@ "n_tags":7, "time_to_reach":0 }, - "350":{ + "323":{ "name":"Église Saint-Paul-du-Montfort", "type":{ "landmark_type":"sightseeing" @@ -5615,7 +5183,7 @@ "n_tags":8, "time_to_reach":0 }, - "351":{ + "324":{ "name":"Église Saint-Germain", "type":{ "landmark_type":"sightseeing" @@ -5631,7 +5199,7 @@ "n_tags":15, "time_to_reach":0 }, - "352":{ + "325":{ "name":"Assoc Ligue amicale des cultures et de recherche scientifique", "type":{ "landmark_type":"sightseeing" @@ -5647,7 +5215,7 @@ "n_tags":10, "time_to_reach":0 }, - "353":{ + "326":{ "name":"Église Sainte-Marthe", "type":{ "landmark_type":"sightseeing" @@ -5663,7 +5231,23 @@ "n_tags":10, "time_to_reach":0 }, - "354":{ + "327":{ + "name":"Oratoire de Padre Pio", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.9033824, + 2.3946926 + ], + "osm_type":"way", + "osm_id":73121140, + "attractiveness":5, + "must_do":false, + "n_tags":9, + "time_to_reach":0 + }, + "328":{ "name":"Église de la Sainte-Famille", "type":{ "landmark_type":"sightseeing" @@ -5679,7 +5263,7 @@ "n_tags":8, "time_to_reach":0 }, - "355":{ + "329":{ "name":"Église Notre-Dame-du-Rosaire", "type":{ "landmark_type":"sightseeing" @@ -5695,7 +5279,7 @@ "n_tags":9, "time_to_reach":0 }, - "356":{ + "330":{ "name":"Église de Jésus-Christ des saints des derniers jours", "type":{ "landmark_type":"sightseeing" @@ -5711,7 +5295,7 @@ "n_tags":11, "time_to_reach":0 }, - "357":{ + "331":{ "name":"Église Notre-Dame-Auxiliatrice", "type":{ "landmark_type":"sightseeing" @@ -5727,7 +5311,7 @@ "n_tags":9, "time_to_reach":0 }, - "358":{ + "332":{ "name":"Chapelle Saint-Pierre - Saint-Paul", "type":{ "landmark_type":"sightseeing" @@ -5743,7 +5327,7 @@ "n_tags":9, "time_to_reach":0 }, - "359":{ + "333":{ "name":"Église Saint-Joseph des Épinettes", "type":{ "landmark_type":"sightseeing" @@ -5759,7 +5343,7 @@ "n_tags":14, "time_to_reach":0 }, - "360":{ + "334":{ "name":"Église de l'Immaculée Conception", "type":{ "landmark_type":"sightseeing" @@ -5775,7 +5359,7 @@ "n_tags":9, "time_to_reach":0 }, - "361":{ + "335":{ "name":"Église Sainte-Geneviève des Grandes-Carrières", "type":{ "landmark_type":"sightseeing" @@ -5791,7 +5375,7 @@ "n_tags":9, "time_to_reach":0 }, - "362":{ + "336":{ "name":"Chapelle Orthodoxe", "type":{ "landmark_type":"sightseeing" @@ -5807,7 +5391,7 @@ "n_tags":7, "time_to_reach":0 }, - "363":{ + "337":{ "name":"Église Saint-Jean de Montmartre", "type":{ "landmark_type":"sightseeing" @@ -5823,7 +5407,7 @@ "n_tags":27, "time_to_reach":0 }, - "364":{ + "338":{ "name":"Église Saint-Bernard-de-La-Chapelle", "type":{ "landmark_type":"sightseeing" @@ -5839,7 +5423,7 @@ "n_tags":17, "time_to_reach":0 }, - "365":{ + "339":{ "name":"Église Notre-Dame du Bon Conseil", "type":{ "landmark_type":"sightseeing" @@ -5855,7 +5439,7 @@ "n_tags":11, "time_to_reach":0 }, - "366":{ + "340":{ "name":"Église Notre-Dame de Bercy", "type":{ "landmark_type":"sightseeing" @@ -5871,7 +5455,7 @@ "n_tags":21, "time_to_reach":0 }, - "367":{ + "341":{ "name":"Église réformée Port-Royal Quartier Latin", "type":{ "landmark_type":"sightseeing" @@ -5887,7 +5471,7 @@ "n_tags":10, "time_to_reach":0 }, - "368":{ + "342":{ "name":"Église Saint-Marcel", "type":{ "landmark_type":"sightseeing" @@ -5903,7 +5487,23 @@ "n_tags":11, "time_to_reach":0 }, - "369":{ + "343":{ + "name":"Cathédrale Saint-Étienne", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8665953, + 2.2984346 + ], + "osm_type":"way", + "osm_id":79232285, + "attractiveness":7, + "must_do":false, + "n_tags":12, + "time_to_reach":0 + }, + "344":{ "name":"Chapelle Saint-Jean", "type":{ "landmark_type":"sightseeing" @@ -5919,7 +5519,7 @@ "n_tags":6, "time_to_reach":0 }, - "370":{ + "345":{ "name":"Église Notre-Dame-du-Travail", "type":{ "landmark_type":"sightseeing" @@ -5935,7 +5535,7 @@ "n_tags":16, "time_to_reach":0 }, - "371":{ + "346":{ "name":"Paroisse de Plaisance", "type":{ "landmark_type":"sightseeing" @@ -5951,7 +5551,7 @@ "n_tags":10, "time_to_reach":0 }, - "372":{ + "347":{ "name":"Église Orthodoxe Saint-Séraphin de Sarov", "type":{ "landmark_type":"sightseeing" @@ -5967,7 +5567,7 @@ "n_tags":11, "time_to_reach":0 }, - "373":{ + "348":{ "name":"Église Saint-Jean-Baptiste-de-La-Salle", "type":{ "landmark_type":"sightseeing" @@ -5983,7 +5583,7 @@ "n_tags":10, "time_to_reach":0 }, - "374":{ + "349":{ "name":"Église de Tous-les-Saints", "type":{ "landmark_type":"sightseeing" @@ -5999,7 +5599,7 @@ "n_tags":10, "time_to_reach":0 }, - "375":{ + "350":{ "name":"Chapelle Notre-Dame-de-l'Étoile", "type":{ "landmark_type":"sightseeing" @@ -6015,7 +5615,7 @@ "n_tags":10, "time_to_reach":0 }, - "376":{ + "351":{ "name":"Église Saint-Leu-Saint-Gilles", "type":{ "landmark_type":"sightseeing" @@ -6031,7 +5631,7 @@ "n_tags":15, "time_to_reach":0 }, - "377":{ + "352":{ "name":"Chapelle des Saints-Apôtres", "type":{ "landmark_type":"sightseeing" @@ -6047,7 +5647,7 @@ "n_tags":8, "time_to_reach":0 }, - "378":{ + "353":{ "name":"Église Saint-André", "type":{ "landmark_type":"sightseeing" @@ -6063,7 +5663,7 @@ "n_tags":9, "time_to_reach":0 }, - "379":{ + "354":{ "name":"Église Saint-Denys de la Chapelle", "type":{ "landmark_type":"sightseeing" @@ -6079,7 +5679,7 @@ "n_tags":9, "time_to_reach":0 }, - "380":{ + "355":{ "name":"Église Saint-François-de-Sales (ancienne église)", "type":{ "landmark_type":"sightseeing" @@ -6095,7 +5695,7 @@ "n_tags":8, "time_to_reach":0 }, - "381":{ + "356":{ "name":"Église Luthérienne de l'Ascension", "type":{ "landmark_type":"sightseeing" @@ -6111,7 +5711,7 @@ "n_tags":9, "time_to_reach":0 }, - "382":{ + "357":{ "name":"Foyer Culturel Myriam Zana", "type":{ "landmark_type":"sightseeing" @@ -6127,7 +5727,7 @@ "n_tags":4, "time_to_reach":0 }, - "383":{ + "358":{ "name":"Église Saint-Charles-de-Monceau", "type":{ "landmark_type":"sightseeing" @@ -6143,7 +5743,7 @@ "n_tags":17, "time_to_reach":0 }, - "384":{ + "359":{ "name":"Église Saint-François-de-Sales (nouvelle église)", "type":{ "landmark_type":"sightseeing" @@ -6159,7 +5759,7 @@ "n_tags":9, "time_to_reach":0 }, - "385":{ + "360":{ "name":"Mosquée de Drancy", "type":{ "landmark_type":"sightseeing" @@ -6175,7 +5775,7 @@ "n_tags":6, "time_to_reach":0 }, - "386":{ + "361":{ "name":"Chapelle de la Visitation", "type":{ "landmark_type":"sightseeing" @@ -6191,7 +5791,7 @@ "n_tags":9, "time_to_reach":0 }, - "387":{ + "362":{ "name":"Chapelle Laennec", "type":{ "landmark_type":"sightseeing" @@ -6207,7 +5807,7 @@ "n_tags":8, "time_to_reach":0 }, - "388":{ + "363":{ "name":"Basilique Sainte-Jeanne-d’Arc", "type":{ "landmark_type":"sightseeing" @@ -6223,7 +5823,7 @@ "n_tags":10, "time_to_reach":0 }, - "389":{ + "364":{ "name":"Église Notre-Dame-de-Lourdes", "type":{ "landmark_type":"sightseeing" @@ -6239,7 +5839,7 @@ "n_tags":12, "time_to_reach":0 }, - "390":{ + "365":{ "name":"Église Sainte-Marguerite", "type":{ "landmark_type":"sightseeing" @@ -6255,7 +5855,7 @@ "n_tags":17, "time_to_reach":0 }, - "391":{ + "366":{ "name":"Église du Saint-Esprit", "type":{ "landmark_type":"sightseeing" @@ -6271,7 +5871,7 @@ "n_tags":20, "time_to_reach":0 }, - "392":{ + "367":{ "name":"Église Saint-Vincent-de-Paul", "type":{ "landmark_type":"sightseeing" @@ -6287,7 +5887,7 @@ "n_tags":8, "time_to_reach":0 }, - "393":{ + "368":{ "name":"Église Notre-Dame-de-Pontmain", "type":{ "landmark_type":"sightseeing" @@ -6303,7 +5903,7 @@ "n_tags":10, "time_to_reach":0 }, - "394":{ + "369":{ "name":"Prieuré Saint-Benoît", "type":{ "landmark_type":"sightseeing" @@ -6319,7 +5919,7 @@ "n_tags":9, "time_to_reach":0 }, - "395":{ + "370":{ "name":"Église Protestante Suédoise", "type":{ "landmark_type":"sightseeing" @@ -6335,7 +5935,7 @@ "n_tags":10, "time_to_reach":0 }, - "396":{ + "371":{ "name":"Église luthérienne Saint-Paul", "type":{ "landmark_type":"sightseeing" @@ -6351,7 +5951,7 @@ "n_tags":11, "time_to_reach":0 }, - "397":{ + "372":{ "name":"Église Saint-Luc", "type":{ "landmark_type":"sightseeing" @@ -6367,7 +5967,7 @@ "n_tags":11, "time_to_reach":0 }, - "398":{ + "373":{ "name":"Église Saint-Paul de la Plaine", "type":{ "landmark_type":"sightseeing" @@ -6383,7 +5983,7 @@ "n_tags":8, "time_to_reach":0 }, - "399":{ + "374":{ "name":"Synagogue Kedouchat Levy", "type":{ "landmark_type":"sightseeing" @@ -6399,7 +5999,7 @@ "n_tags":7, "time_to_reach":0 }, - "400":{ + "375":{ "name":"Ass Culturelle Fraternité De Pantin", "type":{ "landmark_type":"sightseeing" @@ -6415,7 +6015,7 @@ "n_tags":8, "time_to_reach":0 }, - "401":{ + "376":{ "name":"Chapelle Saint-Bernard", "type":{ "landmark_type":"sightseeing" @@ -6431,7 +6031,7 @@ "n_tags":12, "time_to_reach":0 }, - "402":{ + "377":{ "name":"Mosquée du foyer", "type":{ "landmark_type":"sightseeing" @@ -6447,7 +6047,23 @@ "n_tags":3, "time_to_reach":0 }, - "403":{ + "378":{ + "name":"Cathédrale de la Sainte-Trinité", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8618757, + 2.3010168 + ], + "osm_type":"way", + "osm_id":449077939, + "attractiveness":11, + "must_do":false, + "n_tags":17, + "time_to_reach":0 + }, + "379":{ "name":"JW - Salle du Royaume", "type":{ "landmark_type":"sightseeing" @@ -6463,7 +6079,7 @@ "n_tags":7, "time_to_reach":0 }, - "404":{ + "380":{ "name":"Grande Mosquée de Saint-Ouen Al Hashimi", "type":{ "landmark_type":"sightseeing" @@ -6479,7 +6095,7 @@ "n_tags":11, "time_to_reach":0 }, - "405":{ + "381":{ "name":"Église Notre-Dame-du-Rosaire", "type":{ "landmark_type":"sightseeing" @@ -6495,7 +6111,7 @@ "n_tags":7, "time_to_reach":0 }, - "406":{ + "382":{ "name":"Mosquée Islah", "type":{ "landmark_type":"sightseeing" @@ -6511,7 +6127,7 @@ "n_tags":6, "time_to_reach":0 }, - "407":{ + "383":{ "name":"Grande Mosquée de Gennevilliers", "type":{ "landmark_type":"sightseeing" @@ -6527,7 +6143,23 @@ "n_tags":5, "time_to_reach":0 }, - "408":{ + "384":{ + "name":"Église Orthodoxe Notre-Dame-Joie-des-Affligés-et-Sainte-Geneviève", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.848068, + 2.3516065 + ], + "osm_type":"way", + "osm_id":1056837934, + "attractiveness":8, + "must_do":false, + "n_tags":13, + "time_to_reach":0 + }, + "385":{ "name":"Association Culturelle Islamique Kurdes", "type":{ "landmark_type":"sightseeing" @@ -6543,7 +6175,7 @@ "n_tags":6, "time_to_reach":0 }, - "409":{ + "386":{ "name":"ACIP Vincennes", "type":{ "landmark_type":"sightseeing" @@ -6559,7 +6191,7 @@ "n_tags":8, "time_to_reach":0 }, - "410":{ + "387":{ "name":"Fontaine des quatre évêques", "type":{ "landmark_type":"sightseeing" @@ -6575,7 +6207,7 @@ "n_tags":8, "time_to_reach":0 }, - "411":{ + "388":{ "name":"Vivier sud", "type":{ "landmark_type":"sightseeing" @@ -6591,7 +6223,7 @@ "n_tags":7, "time_to_reach":0 }, - "412":{ + "389":{ "name":"Monument d'Eugène Delacroix", "type":{ "landmark_type":"sightseeing" @@ -6607,7 +6239,7 @@ "n_tags":9, "time_to_reach":0 }, - "413":{ + "390":{ "name":"Fontaine aux Lions", "type":{ "landmark_type":"sightseeing" @@ -6623,7 +6255,7 @@ "n_tags":8, "time_to_reach":0 }, - "414":{ + "391":{ "name":"Miroir d'Eau", "type":{ "landmark_type":"sightseeing" @@ -6639,7 +6271,7 @@ "n_tags":3, "time_to_reach":0 }, - "415":{ + "392":{ "name":"La fontaine de la Vierge", "type":{ "landmark_type":"sightseeing" @@ -6655,7 +6287,7 @@ "n_tags":6, "time_to_reach":0 }, - "416":{ + "393":{ "name":"Fontaine de Diane", "type":{ "landmark_type":"sightseeing" @@ -6671,7 +6303,7 @@ "n_tags":10, "time_to_reach":0 }, - "417":{ + "394":{ "name":"Fontaine Saussure", "type":{ "landmark_type":"sightseeing" @@ -6687,7 +6319,7 @@ "n_tags":2, "time_to_reach":0 }, - "418":{ + "395":{ "name":"Square Jean Chérioux", "type":{ "landmark_type":"nature" @@ -6703,7 +6335,7 @@ "n_tags":5, "time_to_reach":0 }, - "419":{ + "396":{ "name":"Jardin Bargue-Platon", "type":{ "landmark_type":"nature" @@ -6719,7 +6351,7 @@ "n_tags":4, "time_to_reach":0 }, - "420":{ + "397":{ "name":"Jardin d'Alleray", "type":{ "landmark_type":"nature" @@ -6735,7 +6367,7 @@ "n_tags":8, "time_to_reach":0 }, - "421":{ + "398":{ "name":"Square de la Tour Saint-Jacques", "type":{ "landmark_type":"nature" @@ -6751,7 +6383,23 @@ "n_tags":12, "time_to_reach":0 }, - "422":{ + "399":{ + "name":"Square des Missions Étrangères", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.852336, + 2.3243813 + ], + "osm_type":"way", + "osm_id":16190318, + "attractiveness":6, + "must_do":false, + "n_tags":4, + "time_to_reach":0 + }, + "400":{ "name":"Jardin Villemin - Mahsa Jîna Amini", "type":{ "landmark_type":"nature" @@ -6767,7 +6415,7 @@ "n_tags":10, "time_to_reach":0 }, - "423":{ + "401":{ "name":"Square Jean XXIII", "type":{ "landmark_type":"nature" @@ -6783,7 +6431,7 @@ "n_tags":15, "time_to_reach":0 }, - "424":{ + "402":{ "name":"Square René Le Gall", "type":{ "landmark_type":"nature" @@ -6799,7 +6447,7 @@ "n_tags":23, "time_to_reach":0 }, - "425":{ + "403":{ "name":"Jardin des Grands-Explorateurs Marco Polo et Robert Cavelier-de-la-Salle", "type":{ "landmark_type":"nature" @@ -6815,7 +6463,7 @@ "n_tags":13, "time_to_reach":0 }, - "426":{ + "404":{ "name":"Square Robert Montagne", "type":{ "landmark_type":"nature" @@ -6831,7 +6479,7 @@ "n_tags":3, "time_to_reach":0 }, - "427":{ + "405":{ "name":"Square d'Estienne d'Orves", "type":{ "landmark_type":"nature" @@ -6847,7 +6495,7 @@ "n_tags":6, "time_to_reach":0 }, - "428":{ + "406":{ "name":"Square Roger-Stéphane", "type":{ "landmark_type":"nature" @@ -6863,7 +6511,7 @@ "n_tags":9, "time_to_reach":0 }, - "429":{ + "407":{ "name":"Square Sarah Bernhardt", "type":{ "landmark_type":"nature" @@ -6879,7 +6527,7 @@ "n_tags":5, "time_to_reach":0 }, - "430":{ + "408":{ "name":"Square Émile Chautemps", "type":{ "landmark_type":"nature" @@ -6895,7 +6543,7 @@ "n_tags":14, "time_to_reach":0 }, - "431":{ + "409":{ "name":"Square d'Alleray Labrouste-Saint-Amand", "type":{ "landmark_type":"nature" @@ -6911,7 +6559,7 @@ "n_tags":7, "time_to_reach":0 }, - "432":{ + "410":{ "name":"Parc Abel-Mézières", "type":{ "landmark_type":"nature" @@ -6927,7 +6575,7 @@ "n_tags":2, "time_to_reach":0 }, - "433":{ + "411":{ "name":"Parc François Mitterrand", "type":{ "landmark_type":"nature" @@ -6943,7 +6591,7 @@ "n_tags":6, "time_to_reach":0 }, - "434":{ + "412":{ "name":"Jardin Henri-Sauvage", "type":{ "landmark_type":"nature" @@ -6959,7 +6607,7 @@ "n_tags":4, "time_to_reach":0 }, - "435":{ + "413":{ "name":"Square des Epinettes", "type":{ "landmark_type":"nature" @@ -6975,7 +6623,7 @@ "n_tags":10, "time_to_reach":0 }, - "436":{ + "414":{ "name":"Square Claude Nicolas Ledoux", "type":{ "landmark_type":"nature" @@ -6991,7 +6639,23 @@ "n_tags":7, "time_to_reach":0 }, - "437":{ + "415":{ + "name":"Square Laurent Prache", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.8542571, + 2.333953 + ], + "osm_type":"way", + "osm_id":26583593, + "attractiveness":9, + "must_do":false, + "n_tags":5, + "time_to_reach":0 + }, + "416":{ "name":"Square Eugène Varlin", "type":{ "landmark_type":"nature" @@ -7007,7 +6671,7 @@ "n_tags":10, "time_to_reach":0 }, - "438":{ + "417":{ "name":"Square Henri Christiné", "type":{ "landmark_type":"nature" @@ -7023,7 +6687,7 @@ "n_tags":8, "time_to_reach":0 }, - "439":{ + "418":{ "name":"Jardin Claire Motte", "type":{ "landmark_type":"nature" @@ -7039,7 +6703,7 @@ "n_tags":4, "time_to_reach":0 }, - "440":{ + "419":{ "name":"Square de Clignancourt", "type":{ "landmark_type":"nature" @@ -7055,7 +6719,7 @@ "n_tags":5, "time_to_reach":0 }, - "441":{ + "420":{ "name":"Parc municipal Lucie-Aubrac", "type":{ "landmark_type":"nature" @@ -7071,7 +6735,7 @@ "n_tags":4, "time_to_reach":0 }, - "442":{ + "421":{ "name":"Square Aristide Cavaillé-Coll", "type":{ "landmark_type":"nature" @@ -7087,7 +6751,7 @@ "n_tags":8, "time_to_reach":0 }, - "443":{ + "422":{ "name":"Place Salvador Allende", "type":{ "landmark_type":"nature" @@ -7103,7 +6767,7 @@ "n_tags":2, "time_to_reach":0 }, - "444":{ + "423":{ "name":"Jardin Rachmaninov", "type":{ "landmark_type":"nature" @@ -7119,7 +6783,7 @@ "n_tags":5, "time_to_reach":0 }, - "445":{ + "424":{ "name":"Square Serge Reggiani", "type":{ "landmark_type":"nature" @@ -7135,7 +6799,7 @@ "n_tags":7, "time_to_reach":0 }, - "446":{ + "425":{ "name":"Square Emmanuel Fleury", "type":{ "landmark_type":"nature" @@ -7151,7 +6815,7 @@ "n_tags":6, "time_to_reach":0 }, - "447":{ + "426":{ "name":"Square Charles Hermite", "type":{ "landmark_type":"nature" @@ -7167,7 +6831,7 @@ "n_tags":4, "time_to_reach":0 }, - "448":{ + "427":{ "name":"Jardin Anaïs Nin", "type":{ "landmark_type":"nature" @@ -7183,7 +6847,7 @@ "n_tags":3, "time_to_reach":0 }, - "449":{ + "428":{ "name":"Square de Stalingrad", "type":{ "landmark_type":"nature" @@ -7199,7 +6863,7 @@ "n_tags":10, "time_to_reach":0 }, - "450":{ + "429":{ "name":"Parc Eli Lotar", "type":{ "landmark_type":"nature" @@ -7215,7 +6879,7 @@ "n_tags":5, "time_to_reach":0 }, - "451":{ + "430":{ "name":"Parc Diderot", "type":{ "landmark_type":"nature" @@ -7231,7 +6895,7 @@ "n_tags":4, "time_to_reach":0 }, - "452":{ + "431":{ "name":"Espaces Verts des Courtillères", "type":{ "landmark_type":"nature" @@ -7247,7 +6911,7 @@ "n_tags":2, "time_to_reach":0 }, - "453":{ + "432":{ "name":"Square Edmond Pépin", "type":{ "landmark_type":"nature" @@ -7263,7 +6927,7 @@ "n_tags":2, "time_to_reach":0 }, - "454":{ + "433":{ "name":"Square d'Anvers - Jean-Claude-Carrière", "type":{ "landmark_type":"nature" @@ -7279,7 +6943,7 @@ "n_tags":10, "time_to_reach":0 }, - "455":{ + "434":{ "name":"Square Marcel Sembat", "type":{ "landmark_type":"nature" @@ -7295,7 +6959,7 @@ "n_tags":3, "time_to_reach":0 }, - "456":{ + "435":{ "name":"Square Léon-Frapié", "type":{ "landmark_type":"nature" @@ -7311,7 +6975,7 @@ "n_tags":6, "time_to_reach":0 }, - "457":{ + "436":{ "name":"Square de la Marseillaise", "type":{ "landmark_type":"nature" @@ -7327,7 +6991,7 @@ "n_tags":7, "time_to_reach":0 }, - "458":{ + "437":{ "name":"Square Léon-Serpollet", "type":{ "landmark_type":"nature" @@ -7343,7 +7007,7 @@ "n_tags":7, "time_to_reach":0 }, - "459":{ + "438":{ "name":"Parc Roger Salengro", "type":{ "landmark_type":"nature" @@ -7359,7 +7023,7 @@ "n_tags":6, "time_to_reach":0 }, - "460":{ + "439":{ "name":"Jardin des Buttes", "type":{ "landmark_type":"nature" @@ -7375,7 +7039,7 @@ "n_tags":2, "time_to_reach":0 }, - "461":{ + "440":{ "name":"Parc des Sports", "type":{ "landmark_type":"nature" @@ -7391,7 +7055,7 @@ "n_tags":4, "time_to_reach":0 }, - "462":{ + "441":{ "name":"Parc Chenard et Walcker", "type":{ "landmark_type":"nature" @@ -7407,7 +7071,7 @@ "n_tags":2, "time_to_reach":0 }, - "463":{ + "442":{ "name":"Allées Missak-Manouchian", "type":{ "landmark_type":"nature" @@ -7423,7 +7087,7 @@ "n_tags":2, "time_to_reach":0 }, - "464":{ + "443":{ "name":"Jardin Ilan-Halimi", "type":{ "landmark_type":"nature" @@ -7439,7 +7103,7 @@ "n_tags":7, "time_to_reach":0 }, - "465":{ + "444":{ "name":"square Jules Ferry", "type":{ "landmark_type":"nature" @@ -7455,7 +7119,7 @@ "n_tags":2, "time_to_reach":0 }, - "466":{ + "445":{ "name":"Parc Robinson", "type":{ "landmark_type":"nature" @@ -7471,7 +7135,7 @@ "n_tags":4, "time_to_reach":0 }, - "467":{ + "446":{ "name":"Square Denise Buisson", "type":{ "landmark_type":"nature" @@ -7487,7 +7151,7 @@ "n_tags":3, "time_to_reach":0 }, - "468":{ + "447":{ "name":"Square Louise Michel", "type":{ "landmark_type":"nature" @@ -7503,7 +7167,7 @@ "n_tags":10, "time_to_reach":0 }, - "469":{ + "448":{ "name":"Square Helbronner", "type":{ "landmark_type":"nature" @@ -7519,7 +7183,7 @@ "n_tags":5, "time_to_reach":0 }, - "470":{ + "449":{ "name":"Square Ozanam", "type":{ "landmark_type":"nature" @@ -7535,7 +7199,7 @@ "n_tags":12, "time_to_reach":0 }, - "471":{ + "450":{ "name":"Parc Aimé Césaire", "type":{ "landmark_type":"nature" @@ -7551,7 +7215,7 @@ "n_tags":9, "time_to_reach":0 }, - "472":{ + "451":{ "name":"Square des Acrobates", "type":{ "landmark_type":"nature" @@ -7567,7 +7231,7 @@ "n_tags":6, "time_to_reach":0 }, - "473":{ + "452":{ "name":"Jardinet place du lieutenant Henri-Karcher", "type":{ "landmark_type":"nature" @@ -7583,7 +7247,7 @@ "n_tags":5, "time_to_reach":0 }, - "474":{ + "453":{ "name":"Parc Théodore Monod", "type":{ "landmark_type":"nature" @@ -7599,7 +7263,7 @@ "n_tags":2, "time_to_reach":0 }, - "475":{ + "454":{ "name":"Square Jacques Bidault", "type":{ "landmark_type":"nature" @@ -7615,7 +7279,7 @@ "n_tags":7, "time_to_reach":0 }, - "476":{ + "455":{ "name":"Square Charles Victor Langlois", "type":{ "landmark_type":"nature" @@ -7631,7 +7295,7 @@ "n_tags":8, "time_to_reach":0 }, - "477":{ + "456":{ "name":"Jardin Serge Gainsbourg", "type":{ "landmark_type":"nature" @@ -7647,7 +7311,7 @@ "n_tags":6, "time_to_reach":0 }, - "478":{ + "457":{ "name":"Square Alban Satragne", "type":{ "landmark_type":"nature" @@ -7663,7 +7327,7 @@ "n_tags":9, "time_to_reach":0 }, - "479":{ + "458":{ "name":"Square Félix Desruelles", "type":{ "landmark_type":"nature" @@ -7679,7 +7343,7 @@ "n_tags":7, "time_to_reach":0 }, - "480":{ + "459":{ "name":"Square Marcel Pagnol", "type":{ "landmark_type":"nature" @@ -7695,7 +7359,7 @@ "n_tags":8, "time_to_reach":0 }, - "481":{ + "460":{ "name":"Place du Guatémala", "type":{ "landmark_type":"nature" @@ -7711,7 +7375,7 @@ "n_tags":5, "time_to_reach":0 }, - "482":{ + "461":{ "name":"Jardin de l’Hôtel Salomon de Rothschild", "type":{ "landmark_type":"nature" @@ -7727,7 +7391,7 @@ "n_tags":3, "time_to_reach":0 }, - "483":{ + "462":{ "name":"Square de la rue Hélène", "type":{ "landmark_type":"nature" @@ -7743,7 +7407,7 @@ "n_tags":5, "time_to_reach":0 }, - "484":{ + "463":{ "name":"Square des Recollets", "type":{ "landmark_type":"nature" @@ -7759,7 +7423,23 @@ "n_tags":8, "time_to_reach":0 }, - "485":{ + "464":{ + "name":"Square Alain Bashung", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.885345, + 2.3561989 + ], + "osm_type":"way", + "osm_id":78009019, + "attractiveness":7, + "must_do":false, + "n_tags":4, + "time_to_reach":0 + }, + "465":{ "name":"Jardin Hector Malot", "type":{ "landmark_type":"nature" @@ -7775,7 +7455,7 @@ "n_tags":8, "time_to_reach":0 }, - "486":{ + "466":{ "name":"Les Jardins du Ruisseau", "type":{ "landmark_type":"nature" @@ -7791,7 +7471,7 @@ "n_tags":5, "time_to_reach":0 }, - "487":{ + "467":{ "name":"Jardin public de l'Observatoire de Paris", "type":{ "landmark_type":"nature" @@ -7807,7 +7487,7 @@ "n_tags":4, "time_to_reach":0 }, - "488":{ + "468":{ "name":"Jardin de l'Église Saint-Éloi", "type":{ "landmark_type":"nature" @@ -7823,7 +7503,7 @@ "n_tags":3, "time_to_reach":0 }, - "489":{ + "469":{ "name":"Cour Pasteur", "type":{ "landmark_type":"nature" @@ -7839,7 +7519,7 @@ "n_tags":2, "time_to_reach":0 }, - "490":{ + "470":{ "name":"Cour aux Ernest", "type":{ "landmark_type":"nature" @@ -7855,7 +7535,23 @@ "n_tags":4, "time_to_reach":0 }, - "491":{ + "471":{ + "name":"Square Auguste Mariette-Pacha", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.8491483, + 2.345955 + ], + "osm_type":"way", + "osm_id":97602191, + "attractiveness":8, + "must_do":false, + "n_tags":5, + "time_to_reach":0 + }, + "472":{ "name":"Square Michel Foucault", "type":{ "landmark_type":"nature" @@ -7871,7 +7567,7 @@ "n_tags":4, "time_to_reach":0 }, - "492":{ + "473":{ "name":"Square Yves Coppens", "type":{ "landmark_type":"nature" @@ -7887,7 +7583,7 @@ "n_tags":4, "time_to_reach":0 }, - "493":{ + "474":{ "name":"Square de l'Abbé Esquerré", "type":{ "landmark_type":"nature" @@ -7903,7 +7599,7 @@ "n_tags":7, "time_to_reach":0 }, - "494":{ + "475":{ "name":"Square des Deux Nèthes", "type":{ "landmark_type":"nature" @@ -7919,7 +7615,23 @@ "n_tags":5, "time_to_reach":0 }, - "495":{ + "476":{ + "name":"Square Alex Biscarre", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.8785098, + 2.33667 + ], + "osm_type":"way", + "osm_id":107257915, + "attractiveness":9, + "must_do":false, + "n_tags":5, + "time_to_reach":0 + }, + "477":{ "name":"Square Hector Berlioz", "type":{ "landmark_type":"nature" @@ -7935,7 +7647,7 @@ "n_tags":9, "time_to_reach":0 }, - "496":{ + "478":{ "name":"Point vert de la place Roosevelt, Schaeffer, Noyers", "type":{ "landmark_type":"nature" @@ -7951,7 +7663,7 @@ "n_tags":3, "time_to_reach":0 }, - "497":{ + "479":{ "name":"Jardin de l'Intendant", "type":{ "landmark_type":"nature" @@ -7967,7 +7679,7 @@ "n_tags":5, "time_to_reach":0 }, - "498":{ + "480":{ "name":"Square Raoul Nordling", "type":{ "landmark_type":"nature" @@ -7983,7 +7695,7 @@ "n_tags":7, "time_to_reach":0 }, - "499":{ + "481":{ "name":"Square Trousseau", "type":{ "landmark_type":"nature" @@ -7999,7 +7711,23 @@ "n_tags":9, "time_to_reach":0 }, - "500":{ + "482":{ + "name":"Espace Édouard Vaillant", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.9019175, + 2.3333031 + ], + "osm_type":"way", + "osm_id":119637302, + "attractiveness":8, + "must_do":false, + "n_tags":5, + "time_to_reach":0 + }, + "483":{ "name":"Square Courteline", "type":{ "landmark_type":"nature" @@ -8015,7 +7743,7 @@ "n_tags":6, "time_to_reach":0 }, - "501":{ + "484":{ "name":"Square Van Vollenhoven", "type":{ "landmark_type":"nature" @@ -8031,7 +7759,7 @@ "n_tags":8, "time_to_reach":0 }, - "502":{ + "485":{ "name":"Jardinières angles des rues Daumesnil - Charenton", "type":{ "landmark_type":"nature" @@ -8047,7 +7775,7 @@ "n_tags":2, "time_to_reach":0 }, - "503":{ + "486":{ "name":"Bois de Vincennes", "type":{ "landmark_type":"nature" @@ -8063,7 +7791,7 @@ "n_tags":9, "time_to_reach":0 }, - "504":{ + "487":{ "name":"Square Monseigneur Maillet", "type":{ "landmark_type":"nature" @@ -8079,7 +7807,7 @@ "n_tags":7, "time_to_reach":0 }, - "505":{ + "488":{ "name":"Square Sainte-Hélène", "type":{ "landmark_type":"nature" @@ -8095,7 +7823,7 @@ "n_tags":7, "time_to_reach":0 }, - "506":{ + "489":{ "name":"Jardin Nelson Mandela", "type":{ "landmark_type":"nature" @@ -8111,7 +7839,7 @@ "n_tags":15, "time_to_reach":0 }, - "507":{ + "490":{ "name":"Square Les Z'Arts", "type":{ "landmark_type":"nature" @@ -8127,7 +7855,7 @@ "n_tags":4, "time_to_reach":0 }, - "508":{ + "491":{ "name":"Jardin René Binet", "type":{ "landmark_type":"nature" @@ -8143,7 +7871,7 @@ "n_tags":4, "time_to_reach":0 }, - "509":{ + "492":{ "name":"Square Montgolfier", "type":{ "landmark_type":"nature" @@ -8159,7 +7887,7 @@ "n_tags":6, "time_to_reach":0 }, - "510":{ + "493":{ "name":"Square de la Madone", "type":{ "landmark_type":"nature" @@ -8175,7 +7903,7 @@ "n_tags":6, "time_to_reach":0 }, - "511":{ + "494":{ "name":"Square Ernest-Chausson", "type":{ "landmark_type":"nature" @@ -8191,7 +7919,7 @@ "n_tags":8, "time_to_reach":0 }, - "512":{ + "495":{ "name":"Square Curial", "type":{ "landmark_type":"nature" @@ -8207,7 +7935,7 @@ "n_tags":4, "time_to_reach":0 }, - "513":{ + "496":{ "name":"Square Dampierre-Rouvet", "type":{ "landmark_type":"nature" @@ -8223,7 +7951,7 @@ "n_tags":3, "time_to_reach":0 }, - "514":{ + "497":{ "name":"Square de Montjoie", "type":{ "landmark_type":"nature" @@ -8239,7 +7967,7 @@ "n_tags":3, "time_to_reach":0 }, - "515":{ + "498":{ "name":"Square Diderot", "type":{ "landmark_type":"nature" @@ -8255,7 +7983,7 @@ "n_tags":3, "time_to_reach":0 }, - "516":{ + "499":{ "name":"Square Petit", "type":{ "landmark_type":"nature" @@ -8271,7 +7999,7 @@ "n_tags":3, "time_to_reach":0 }, - "517":{ + "500":{ "name":"Square Françoise-Hélène Jourda", "type":{ "landmark_type":"nature" @@ -8287,7 +8015,7 @@ "n_tags":6, "time_to_reach":0 }, - "518":{ + "501":{ "name":"Square Marc-Seguin", "type":{ "landmark_type":"nature" @@ -8303,7 +8031,7 @@ "n_tags":4, "time_to_reach":0 }, - "519":{ + "502":{ "name":"Square de l'Évangile", "type":{ "landmark_type":"nature" @@ -8319,7 +8047,7 @@ "n_tags":4, "time_to_reach":0 }, - "520":{ + "503":{ "name":"Square de la Cristallerie", "type":{ "landmark_type":"nature" @@ -8335,7 +8063,7 @@ "n_tags":2, "time_to_reach":0 }, - "521":{ + "504":{ "name":"Jardin Pédagogique Debain", "type":{ "landmark_type":"nature" @@ -8351,7 +8079,7 @@ "n_tags":3, "time_to_reach":0 }, - "522":{ + "505":{ "name":"Square Carpeaux", "type":{ "landmark_type":"nature" @@ -8367,7 +8095,7 @@ "n_tags":6, "time_to_reach":0 }, - "523":{ + "506":{ "name":"Square René Dewerpe", "type":{ "landmark_type":"nature" @@ -8383,7 +8111,7 @@ "n_tags":2, "time_to_reach":0 }, - "524":{ + "507":{ "name":"Square Madeleine Tribolati", "type":{ "landmark_type":"nature" @@ -8399,7 +8127,7 @@ "n_tags":9, "time_to_reach":0 }, - "525":{ + "508":{ "name":"Grand Parc des Docks de Saint-Ouen", "type":{ "landmark_type":"nature" @@ -8415,7 +8143,7 @@ "n_tags":7, "time_to_reach":0 }, - "526":{ + "509":{ "name":"Square Sainte Marguerite", "type":{ "landmark_type":"nature" @@ -8431,7 +8159,7 @@ "n_tags":8, "time_to_reach":0 }, - "527":{ + "510":{ "name":"Square Raymond-Queneau", "type":{ "landmark_type":"nature" @@ -8447,7 +8175,7 @@ "n_tags":4, "time_to_reach":0 }, - "528":{ + "511":{ "name":"Square grand Auger", "type":{ "landmark_type":"nature" @@ -8463,7 +8191,7 @@ "n_tags":8, "time_to_reach":0 }, - "529":{ + "512":{ "name":"Square Élisa Borey", "type":{ "landmark_type":"nature" @@ -8479,7 +8207,7 @@ "n_tags":4, "time_to_reach":0 }, - "530":{ + "513":{ "name":"Square de la rue des Mûriers", "type":{ "landmark_type":"nature" @@ -8495,7 +8223,7 @@ "n_tags":7, "time_to_reach":0 }, - "531":{ + "514":{ "name":"Jardin Jane Vialle", "type":{ "landmark_type":"nature" @@ -8511,7 +8239,23 @@ "n_tags":7, "time_to_reach":0 }, - "532":{ + "515":{ + "name":"Jardin de la Justice", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.8682927, + 2.4085101 + ], + "osm_type":"way", + "osm_id":268400319, + "attractiveness":8, + "must_do":false, + "n_tags":5, + "time_to_reach":0 + }, + "516":{ "name":"Jardin Frida Kahlo", "type":{ "landmark_type":"nature" @@ -8527,7 +8271,7 @@ "n_tags":7, "time_to_reach":0 }, - "533":{ + "517":{ "name":"La Petite Ceinture du 20e", "type":{ "landmark_type":"nature" @@ -8543,7 +8287,7 @@ "n_tags":8, "time_to_reach":0 }, - "534":{ + "518":{ "name":"Square Jean Leclaire", "type":{ "landmark_type":"nature" @@ -8559,7 +8303,7 @@ "n_tags":6, "time_to_reach":0 }, - "535":{ + "519":{ "name":"Jardin des Petites Rigoles", "type":{ "landmark_type":"nature" @@ -8575,7 +8319,7 @@ "n_tags":8, "time_to_reach":0 }, - "536":{ + "520":{ "name":"Jardin de la rue du Chalet", "type":{ "landmark_type":"nature" @@ -8591,7 +8335,7 @@ "n_tags":3, "time_to_reach":0 }, - "537":{ + "521":{ "name":"Square Georges Valbon", "type":{ "landmark_type":"nature" @@ -8607,7 +8351,7 @@ "n_tags":4, "time_to_reach":0 }, - "538":{ + "522":{ "name":"Square Henri Sellier", "type":{ "landmark_type":"nature" @@ -8623,7 +8367,7 @@ "n_tags":2, "time_to_reach":0 }, - "539":{ + "523":{ "name":"Square Georges Gay", "type":{ "landmark_type":"nature" @@ -8639,7 +8383,7 @@ "n_tags":4, "time_to_reach":0 }, - "540":{ + "524":{ "name":"Square Alexandre-Luquet", "type":{ "landmark_type":"nature" @@ -8655,7 +8399,7 @@ "n_tags":4, "time_to_reach":0 }, - "541":{ + "525":{ "name":"Square Joël Le Tac", "type":{ "landmark_type":"nature" @@ -8671,7 +8415,7 @@ "n_tags":7, "time_to_reach":0 }, - "542":{ + "526":{ "name":"Square éphémère Le Point Virgule", "type":{ "landmark_type":"nature" @@ -8687,7 +8431,7 @@ "n_tags":3, "time_to_reach":0 }, - "543":{ + "527":{ "name":"Square Roland Dorgelès", "type":{ "landmark_type":"nature" @@ -8703,7 +8447,7 @@ "n_tags":4, "time_to_reach":0 }, - "544":{ + "528":{ "name":"Parc Marcel Bich", "type":{ "landmark_type":"nature" @@ -8719,7 +8463,7 @@ "n_tags":5, "time_to_reach":0 }, - "545":{ + "529":{ "name":"Jardin des Rosiers – Joseph-Migneret", "type":{ "landmark_type":"nature" @@ -8735,7 +8479,7 @@ "n_tags":8, "time_to_reach":0 }, - "546":{ + "530":{ "name":"Jardin Léon Zyguel", "type":{ "landmark_type":"nature" @@ -8751,7 +8495,7 @@ "n_tags":6, "time_to_reach":0 }, - "547":{ + "531":{ "name":"Parc Le Temps des Cerises", "type":{ "landmark_type":"nature" @@ -8767,7 +8511,7 @@ "n_tags":5, "time_to_reach":0 }, - "548":{ + "532":{ "name":"Jardin Marcel Joseph-François", "type":{ "landmark_type":"nature" @@ -8783,7 +8527,7 @@ "n_tags":3, "time_to_reach":0 }, - "549":{ + "533":{ "name":"Square Anne Franck", "type":{ "landmark_type":"nature" @@ -8799,7 +8543,7 @@ "n_tags":8, "time_to_reach":0 }, - "550":{ + "534":{ "name":"Square du Landy", "type":{ "landmark_type":"nature" @@ -8815,7 +8559,7 @@ "n_tags":4, "time_to_reach":0 }, - "551":{ + "535":{ "name":"Square Faidherbe", "type":{ "landmark_type":"nature" @@ -8831,7 +8575,7 @@ "n_tags":3, "time_to_reach":0 }, - "552":{ + "536":{ "name":"Square Saint-Médard", "type":{ "landmark_type":"nature" @@ -8847,7 +8591,7 @@ "n_tags":10, "time_to_reach":0 }, - "553":{ + "537":{ "name":"Coulée verte", "type":{ "landmark_type":"nature" @@ -8863,7 +8607,7 @@ "n_tags":2, "time_to_reach":0 }, - "554":{ + "538":{ "name":"Square Adrien Agnès", "type":{ "landmark_type":"nature" @@ -8879,7 +8623,7 @@ "n_tags":8, "time_to_reach":0 }, - "555":{ + "539":{ "name":"Parc Simone Veil", "type":{ "landmark_type":"nature" @@ -8895,7 +8639,7 @@ "n_tags":7, "time_to_reach":0 }, - "556":{ + "540":{ "name":"Forêt linéaire Nord", "type":{ "landmark_type":"nature" @@ -8911,7 +8655,7 @@ "n_tags":5, "time_to_reach":0 }, - "557":{ + "541":{ "name":"Square Maria Vérone", "type":{ "landmark_type":"nature" @@ -8927,7 +8671,7 @@ "n_tags":2, "time_to_reach":0 }, - "558":{ + "542":{ "name":"Square Émilienne Moreau Evrard", "type":{ "landmark_type":"nature" @@ -8943,7 +8687,7 @@ "n_tags":2, "time_to_reach":0 }, - "559":{ + "543":{ "name":"jardin Louise-Weber-dite-La-Goulue", "type":{ "landmark_type":"nature" @@ -8959,7 +8703,7 @@ "n_tags":10, "time_to_reach":0 }, - "560":{ + "544":{ "name":"Square Nadar", "type":{ "landmark_type":"nature" @@ -8975,7 +8719,7 @@ "n_tags":8, "time_to_reach":0 }, - "561":{ + "545":{ "name":"Square des 31000 et des 45000", "type":{ "landmark_type":"nature" @@ -8991,7 +8735,7 @@ "n_tags":3, "time_to_reach":0 }, - "562":{ + "546":{ "name":"Jardin du Père-Armand-David", "type":{ "landmark_type":"nature" @@ -9007,7 +8751,7 @@ "n_tags":7, "time_to_reach":0 }, - "563":{ + "547":{ "name":"Jardin Hans et Sophie Scholl", "type":{ "landmark_type":"nature" @@ -9023,7 +8767,7 @@ "n_tags":5, "time_to_reach":0 }, - "564":{ + "548":{ "name":"Square Carnot - Jardin du Roy", "type":{ "landmark_type":"nature" @@ -9039,7 +8783,7 @@ "n_tags":2, "time_to_reach":0 }, - "565":{ + "549":{ "name":"Parc Marguerite Yourcenar", "type":{ "landmark_type":"nature" @@ -9055,7 +8799,7 @@ "n_tags":2, "time_to_reach":0 }, - "566":{ + "550":{ "name":"Jardins et Vignes", "type":{ "landmark_type":"nature" @@ -9071,7 +8815,7 @@ "n_tags":3, "time_to_reach":0 }, - "567":{ + "551":{ "name":"Terrain de boules Boulevard de Reims", "type":{ "landmark_type":"nature" @@ -9087,7 +8831,7 @@ "n_tags":3, "time_to_reach":0 }, - "568":{ + "552":{ "name":"Jardin Monica Vitti", "type":{ "landmark_type":"nature" @@ -9103,7 +8847,7 @@ "n_tags":4, "time_to_reach":0 }, - "569":{ + "553":{ "name":"Square Jean Jaurès", "type":{ "landmark_type":"nature" @@ -9119,7 +8863,7 @@ "n_tags":3, "time_to_reach":0 }, - "570":{ + "554":{ "name":"Le Moulin de la Palette", "type":{ "landmark_type":"nature" @@ -9135,7 +8879,7 @@ "n_tags":2, "time_to_reach":0 }, - "571":{ + "555":{ "name":"Square du 8 mai 1945", "type":{ "landmark_type":"nature" @@ -9151,7 +8895,7 @@ "n_tags":8, "time_to_reach":0 }, - "572":{ + "556":{ "name":"Square partagé Langevin", "type":{ "landmark_type":"nature" @@ -9167,7 +8911,7 @@ "n_tags":4, "time_to_reach":0 }, - "573":{ + "557":{ "name":"Square Vaucanson", "type":{ "landmark_type":"nature" @@ -9183,7 +8927,7 @@ "n_tags":7, "time_to_reach":0 }, - "574":{ + "558":{ "name":"Mail Pierre Desproges", "type":{ "landmark_type":"nature" @@ -9199,7 +8943,7 @@ "n_tags":11, "time_to_reach":0 }, - "575":{ + "559":{ "name":"Jardin des Abbesses", "type":{ "landmark_type":"nature" @@ -9215,7 +8959,7 @@ "n_tags":5, "time_to_reach":0 }, - "576":{ + "560":{ "name":"Square Claude Goislot", "type":{ "landmark_type":"nature" @@ -9231,7 +8975,7 @@ "n_tags":7, "time_to_reach":0 }, - "577":{ + "561":{ "name":"Square de la Villette", "type":{ "landmark_type":"nature" @@ -9247,7 +8991,7 @@ "n_tags":7, "time_to_reach":0 }, - "578":{ + "562":{ "name":"Square Saganta", "type":{ "landmark_type":"nature" @@ -9263,7 +9007,7 @@ "n_tags":9, "time_to_reach":0 }, - "579":{ + "563":{ "name":"Square Georges Leblanc", "type":{ "landmark_type":"nature" @@ -9279,7 +9023,7 @@ "n_tags":7, "time_to_reach":0 }, - "580":{ + "564":{ "name":"Terrains multisports", "type":{ "landmark_type":"nature" @@ -9295,7 +9039,7 @@ "n_tags":3, "time_to_reach":0 }, - "581":{ + "565":{ "name":"Place Bernard Amiot et Bernard Legrand", "type":{ "landmark_type":"nature" @@ -9311,7 +9055,7 @@ "n_tags":3, "time_to_reach":0 }, - "582":{ + "566":{ "name":"Parc du rucher d'Aubervilliers", "type":{ "landmark_type":"nature" @@ -9327,7 +9071,23 @@ "n_tags":5, "time_to_reach":0 }, - "583":{ + "567":{ + "name":"La Petite Ceinture du 19ème", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.8958777, + 2.3789437 + ], + "osm_type":"way", + "osm_id":845793683, + "attractiveness":3, + "must_do":false, + "n_tags":2, + "time_to_reach":0 + }, + "568":{ "name":"Square Guy Môquet", "type":{ "landmark_type":"nature" @@ -9343,7 +9103,7 @@ "n_tags":4, "time_to_reach":0 }, - "584":{ + "569":{ "name":"Jardin Jean Mercier", "type":{ "landmark_type":"nature" @@ -9359,7 +9119,7 @@ "n_tags":2, "time_to_reach":0 }, - "585":{ + "570":{ "name":"Square Marcel Paul", "type":{ "landmark_type":"nature" @@ -9375,7 +9135,7 @@ "n_tags":2, "time_to_reach":0 }, - "586":{ + "571":{ "name":"Jardin Nusch Éluard", "type":{ "landmark_type":"nature" @@ -9391,7 +9151,7 @@ "n_tags":3, "time_to_reach":0 }, - "587":{ + "572":{ "name":"Parc Morel (skateboard)", "type":{ "landmark_type":"nature" @@ -9407,7 +9167,7 @@ "n_tags":3, "time_to_reach":0 }, - "588":{ + "573":{ "name":"Promenade Jean-Jacques Sempé", "type":{ "landmark_type":"nature" @@ -9423,7 +9183,7 @@ "n_tags":3, "time_to_reach":0 }, - "589":{ + "574":{ "name":"Square Gisèle Halimi", "type":{ "landmark_type":"nature" @@ -9439,7 +9199,7 @@ "n_tags":2, "time_to_reach":0 }, - "590":{ + "575":{ "name":"Parc Foucault", "type":{ "landmark_type":"nature" @@ -9455,7 +9215,7 @@ "n_tags":2, "time_to_reach":0 }, - "591":{ + "576":{ "name":"Jardin éphémère", "type":{ "landmark_type":"nature" @@ -9471,7 +9231,7 @@ "n_tags":5, "time_to_reach":0 }, - "592":{ + "577":{ "name":"Square Jacques Manavian", "type":{ "landmark_type":"nature" @@ -9487,7 +9247,7 @@ "n_tags":3, "time_to_reach":0 }, - "593":{ + "578":{ "name":"Square Henri Sellier", "type":{ "landmark_type":"nature" @@ -9503,7 +9263,7 @@ "n_tags":2, "time_to_reach":0 }, - "594":{ + "579":{ "name":"Jardins du Grand Échiquier", "type":{ "landmark_type":"nature" @@ -9519,7 +9279,7 @@ "n_tags":2, "time_to_reach":0 }, - "595":{ + "580":{ "name":"Parvis de l'Abbé Pierre", "type":{ "landmark_type":"nature" @@ -9535,7 +9295,23 @@ "n_tags":2, "time_to_reach":0 }, - "596":{ + "581":{ + "name":"Jardin du Carré Rouge", + "type":{ + "landmark_type":"nature" + }, + "location":[ + 48.9103226, + 2.4259501 + ], + "osm_type":"way", + "osm_id":1236950495, + "attractiveness":3, + "must_do":false, + "n_tags":2, + "time_to_reach":0 + }, + "582":{ "name":"Square Henri Galli", "type":{ "landmark_type":"nature" @@ -9551,7 +9327,7 @@ "n_tags":8, "time_to_reach":0 }, - "597":{ + "583":{ "name":"Square de l’église Notre-Dame-de-la-Croix", "type":{ "landmark_type":"nature" @@ -9567,7 +9343,7 @@ "n_tags":4, "time_to_reach":0 }, - "598":{ + "584":{ "name":"Coulée verte du sud parisien", "type":{ "landmark_type":"nature" @@ -9583,7 +9359,7 @@ "n_tags":8, "time_to_reach":0 }, - "599":{ + "585":{ "name":"Parc Monceau", "type":{ "landmark_type":"nature" @@ -9599,7 +9375,7 @@ "n_tags":9, "time_to_reach":0 }, - "600":{ + "586":{ "name":"Parc départemental Jean-Moulin - Les Guilands", "type":{ "landmark_type":"nature" @@ -9615,7 +9391,7 @@ "n_tags":9, "time_to_reach":0 }, - "601":{ + "587":{ "name":"Parc de la Villette", "type":{ "landmark_type":"nature" @@ -9631,7 +9407,7 @@ "n_tags":9, "time_to_reach":0 }, - "602":{ + "588":{ "name":"Les Jardins d'Éole", "type":{ "landmark_type":"nature" @@ -9647,7 +9423,7 @@ "n_tags":6, "time_to_reach":0 }, - "603":{ + "589":{ "name":"Jardin Alexandra David-Néel", "type":{ "landmark_type":"nature" @@ -9663,7 +9439,7 @@ "n_tags":3, "time_to_reach":0 }, - "604":{ + "590":{ "name":"Parc Clichy-Batignolles Martin Luther King", "type":{ "landmark_type":"nature" @@ -9679,7 +9455,7 @@ "n_tags":10, "time_to_reach":0 }, - "605":{ + "591":{ "name":"Square de la Porte de la Villette", "type":{ "landmark_type":"nature" @@ -9695,7 +9471,7 @@ "n_tags":5, "time_to_reach":0 }, - "606":{ + "592":{ "name":"Square Rose Guérin\/Heidenheim", "type":{ "landmark_type":"nature" @@ -9711,7 +9487,7 @@ "n_tags":3, "time_to_reach":0 }, - "607":{ + "593":{ "name":"Parc zoologique de Paris", "type":{ "landmark_type":"nature" @@ -9727,7 +9503,7 @@ "n_tags":7, "time_to_reach":0 }, - "608":{ + "594":{ "name":"Galerie Lafayette Maison \/ Gourmet", "type":{ "landmark_type":"shopping" @@ -9743,7 +9519,7 @@ "n_tags":7, "time_to_reach":0 }, - "609":{ + "595":{ "name":"Printemps", "type":{ "landmark_type":"shopping" @@ -9759,7 +9535,7 @@ "n_tags":20, "time_to_reach":0 }, - "610":{ + "596":{ "name":"Marché Saint-Honoré", "type":{ "landmark_type":"shopping" @@ -9775,7 +9551,7 @@ "n_tags":7, "time_to_reach":0 }, - "611":{ + "597":{ "name":"Passage du Grand-Cerf", "type":{ "landmark_type":"shopping" @@ -9791,7 +9567,7 @@ "n_tags":7, "time_to_reach":0 }, - "612":{ + "598":{ "name":"Centre Commercial Émile Dubois", "type":{ "landmark_type":"shopping" @@ -9807,7 +9583,23 @@ "n_tags":4, "time_to_reach":0 }, - "613":{ + "599":{ + "name":"Bistrot des rosiers", + "type":{ + "landmark_type":"shopping" + }, + "location":[ + 48.902197, + 2.3421451 + ], + "osm_type":"way", + "osm_id":73835282, + "attractiveness":4, + "must_do":false, + "n_tags":4, + "time_to_reach":0 + }, + "600":{ "name":"Marché Dauphine", "type":{ "landmark_type":"shopping" @@ -9823,7 +9615,7 @@ "n_tags":4, "time_to_reach":0 }, - "614":{ + "601":{ "name":"Marché Malassis", "type":{ "landmark_type":"shopping" @@ -9839,7 +9631,7 @@ "n_tags":5, "time_to_reach":0 }, - "615":{ + "602":{ "name":"Marché Malik", "type":{ "landmark_type":"shopping" @@ -9855,7 +9647,7 @@ "n_tags":4, "time_to_reach":0 }, - "616":{ + "603":{ "name":"Centre Commercial de la Grande Porte", "type":{ "landmark_type":"shopping" @@ -9871,7 +9663,7 @@ "n_tags":4, "time_to_reach":0 }, - "617":{ + "604":{ "name":"Avenir", "type":{ "landmark_type":"shopping" @@ -9887,7 +9679,7 @@ "n_tags":11, "time_to_reach":0 }, - "618":{ + "605":{ "name":"Marques Avenue", "type":{ "landmark_type":"shopping" @@ -9903,7 +9695,7 @@ "n_tags":11, "time_to_reach":0 }, - "619":{ + "606":{ "name":"Qwartz", "type":{ "landmark_type":"shopping" @@ -9918,5 +9710,21 @@ "must_do":false, "n_tags":18, "time_to_reach":0 + }, + "607":{ + "name":"Galerie Hoche", + "type":{ + "landmark_type":"shopping" + }, + "location":[ + 48.8908975, + 2.4039477 + ], + "osm_type":"relation", + "osm_id":1132674, + "attractiveness":5, + "must_do":false, + "n_tags":5, + "time_to_reach":0 } } \ No newline at end of file diff --git a/minor_landmarks.txt b/minor_landmarks.txt index 3bebea9..8c3f4ab 100644 --- a/minor_landmarks.txt +++ b/minor_landmarks.txt @@ -16,86 +16,198 @@ "time_to_reach":0 }, "1":{ - "name":"Musée d'art et d'histoire du Judaïsme", + "name":"Musée de Cluny", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.8612656, - 2.355418 + 48.8506604, + 2.3437398 ], "osm_type":"way", - "osm_id":56687783, - "attractiveness":9, - "must_do":false, - "n_tags":8, - "time_to_reach":0 - }, - "2":{ - "name":"Musée Ernest-Hébert (en travaux)", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8473326, - 2.3227159 - ], - "osm_type":"way", - "osm_id":64314872, - "attractiveness":10, - "must_do":false, - "n_tags":9, - "time_to_reach":0 - }, - "3":{ - "name":"Crypte Archéologique du Parvis Notre-Dame", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8535851, - 2.3480846 - ], - "osm_type":"way", - "osm_id":159896046, + "osm_id":56640163, "attractiveness":18, "must_do":false, "n_tags":18, "time_to_reach":0 }, - "4":{ - "name":"Jardin Catherine Labouré", + "2":{ + "name":"Musée du Luxembourg", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.8510562, - 2.320532 + 48.8485965, + 2.3340156 ], "osm_type":"way", - "osm_id":148481812, - "attractiveness":8, + "osm_id":170226810, + "attractiveness":15, "must_do":false, - "n_tags":8, + "n_tags":15, + "time_to_reach":0 + }, + "3":{ + "name":"Musée national Eugène Delacroix", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8546662, + 2.3353836 + ], + "osm_type":"way", + "osm_id":395785603, + "attractiveness":15, + "must_do":false, + "n_tags":15, + "time_to_reach":0 + }, + "4":{ + "name":"Hôtel de Sully", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.854635, + 2.3638126 + ], + "osm_type":"relation", + "osm_id":403146, + "attractiveness":14, + "must_do":false, + "n_tags":13, "time_to_reach":0 }, "5":{ - "name":"Arc de Triomphe du Carrousel", + "name":"Hôtel de la Monnaie", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.8617276, - 2.3329082 + 48.856403, + 2.3388625 ], - "osm_type":"way", - "osm_id":227483542, - "attractiveness":16, + "osm_type":"relation", + "osm_id":967664, + "attractiveness":11, "must_do":false, "n_tags":11, "time_to_reach":0 }, "6":{ + "name":"Musée Bourdelle", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8432078, + 2.3186583 + ], + "osm_type":"relation", + "osm_id":1212876, + "attractiveness":23, + "must_do":false, + "n_tags":23, + "time_to_reach":0 + }, + "7":{ + "name":"Musée Carnavalet", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8576819, + 2.3627147 + ], + "osm_type":"relation", + "osm_id":2405955, + "attractiveness":25, + "must_do":false, + "n_tags":25, + "time_to_reach":0 + }, + "8":{ + "name":"Pont Neuf", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8565248, + 2.3408132 + ], + "osm_type":"way", + "osm_id":53574149, + "attractiveness":16, + "must_do":false, + "n_tags":15, + "time_to_reach":0 + }, + "9":{ + "name":"Jardin du Luxembourg", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8467137, + 2.3363649 + ], + "osm_type":"way", + "osm_id":128206209, + "attractiveness":35, + "must_do":false, + "n_tags":23, + "time_to_reach":0 + }, + "10":{ + "name":"Cathédrale Notre-Dame de Paris", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8529372, + 2.3498701 + ], + "osm_type":"way", + "osm_id":201611261, + "attractiveness":55, + "must_do":false, + "n_tags":54, + "time_to_reach":0 + }, + "11":{ + "name":"Maison à l'enseigne du Faucheur", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8558553, + 2.3568266 + ], + "osm_type":"way", + "osm_id":1123456865, + "attractiveness":13, + "must_do":false, + "n_tags":11, + "time_to_reach":0 + }, + "12":{ + "name":"Maison à l'enseigne du Mouton", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8558431, + 2.3568914 + ], + "osm_type":"way", + "osm_id":1123456866, + "attractiveness":13, + "must_do":false, + "n_tags":11, + "time_to_reach":0 + }, + "13":{ "name":"Palais de Justice de Paris", "type":{ "landmark_type":"sightseeing" @@ -111,7 +223,23 @@ "n_tags":24, "time_to_reach":0 }, - "7":{ + "14":{ + "name":"Mémorial des Martyrs de la Déportation", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8517365, + 2.3524734 + ], + "osm_type":"relation", + "osm_id":9396191, + "attractiveness":21, + "must_do":false, + "n_tags":21, + "time_to_reach":0 + }, + "15":{ "name":"Fontaine des Innocents", "type":{ "landmark_type":"sightseeing" @@ -127,7 +255,39 @@ "n_tags":15, "time_to_reach":0 }, - "8":{ + "16":{ + "name":"Hôtel de Sens", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8535257, + 2.3588733 + ], + "osm_type":"way", + "osm_id":55541122, + "attractiveness":21, + "must_do":false, + "n_tags":20, + "time_to_reach":0 + }, + "17":{ + "name":"Hôtel d'Ourscamp", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8555465, + 2.3571206 + ], + "osm_type":"way", + "osm_id":55620201, + "attractiveness":10, + "must_do":false, + "n_tags":9, + "time_to_reach":0 + }, + "18":{ "name":"Hôtel de Choiseul-Praslin", "type":{ "landmark_type":"sightseeing" @@ -143,23 +303,7 @@ "n_tags":12, "time_to_reach":0 }, - "9":{ - "name":"Hôtel de Cassini", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8519819, - 2.3209847 - ], - "osm_type":"way", - "osm_id":68571376, - "attractiveness":13, - "must_do":false, - "n_tags":13, - "time_to_reach":0 - }, - "10":{ + "19":{ "name":"Chapelle Notre-Dame-des-Anges", "type":{ "landmark_type":"sightseeing" @@ -175,7 +319,7 @@ "n_tags":16, "time_to_reach":0 }, - "11":{ + "20":{ "name":"Fontaine du Palmier", "type":{ "landmark_type":"sightseeing" @@ -191,103 +335,39 @@ "n_tags":14, "time_to_reach":0 }, - "12":{ - "name":"Colonne Médicis", + "21":{ + "name":"Église Saint-Séverin", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.8625255, - 2.3429926 + 48.8520913, + 2.3457237 ], "osm_type":"way", - "osm_id":942543401, + "osm_id":19740659, "attractiveness":15, "must_do":false, - "n_tags":13, + "n_tags":25, "time_to_reach":0 }, - "13":{ - "name":"Noviciat des Dominicains", + "22":{ + "name":"Église Orthodoxe Roumaine des Saints Archanges", "type":{ "landmark_type":"sightseeing" }, "location":[ - 48.8561352, - 2.3284496 - ], - "osm_type":"relation", - "osm_id":1002118, - "attractiveness":8, - "must_do":false, - "n_tags":8, - "time_to_reach":0 - }, - "14":{ - "name":"Hôtel de Matignon", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8544393, - 2.320661 - ], - "osm_type":"relation", - "osm_id":1076880, - "attractiveness":13, - "must_do":false, - "n_tags":13, - "time_to_reach":0 - }, - "15":{ - "name":"Ligne de Petite Ceinture", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8597838, - 2.3341775 - ], - "osm_type":"relation", - "osm_id":1536589, - "attractiveness":8, - "must_do":false, - "n_tags":8, - "time_to_reach":0 - }, - "16":{ - "name":"Bateau Daphné", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8520929, - 2.3494633 + 48.849488, + 2.3471975 ], "osm_type":"way", - "osm_id":618750321, - "attractiveness":6, + "osm_id":55366403, + "attractiveness":10, "must_do":false, - "n_tags":6, + "n_tags":16, "time_to_reach":0 }, - "17":{ - "name":"Église Saint-Leu - Saint-Gilles", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8628813, - 2.3500683 - ], - "osm_type":"way", - "osm_id":53933240, - "attractiveness":14, - "must_do":false, - "n_tags":23, - "time_to_reach":0 - }, - "18":{ + "23":{ "name":"Église Saint-Merri", "type":{ "landmark_type":"sightseeing" @@ -303,87 +383,23 @@ "n_tags":26, "time_to_reach":0 }, - "19":{ - "name":"Église Saint-Joseph des Carmes", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8485199, - 2.3302805 - ], - "osm_type":"way", - "osm_id":63370983, - "attractiveness":7, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "20":{ - "name":"Église Orthodoxe Saint-Séraphin de Sarov", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8426176, - 2.3045363 - ], - "osm_type":"way", - "osm_id":80237345, - "attractiveness":7, - "must_do":false, - "n_tags":11, - "time_to_reach":0 - }, - "21":{ - "name":"Fontaine des quatre évêques", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.85087, - 2.3332776 - ], - "osm_type":"way", - "osm_id":40068036, - "attractiveness":8, - "must_do":false, - "n_tags":8, - "time_to_reach":0 - }, - "22":{ - "name":"La fontaine de la Vierge", - "type":{ - "landmark_type":"sightseeing" - }, - "location":[ - 48.8525605, - 2.3513841 - ], - "osm_type":"way", - "osm_id":948654101, - "attractiveness":6, - "must_do":false, - "n_tags":6, - "time_to_reach":0 - }, - "23":{ - "name":"Square Jean Chérioux", - "type":{ - "landmark_type":"nature" - }, - "location":[ - 48.8401918, - 2.3006179 - ], - "osm_type":"way", - "osm_id":14334838, - "attractiveness":9, - "must_do":false, - "n_tags":5, - "time_to_reach":0 - }, "24":{ + "name":"Église Saint-Germain des Prés", + "type":{ + "landmark_type":"sightseeing" + }, + "location":[ + 48.8539667, + 2.334463 + ], + "osm_type":"way", + "osm_id":62287173, + "attractiveness":12, + "must_do":false, + "n_tags":21, + "time_to_reach":0 + }, + "25":{ "name":"Square de la Tour Saint-Jacques", "type":{ "landmark_type":"nature" @@ -399,7 +415,7 @@ "n_tags":12, "time_to_reach":0 }, - "25":{ + "26":{ "name":"Square Jean XXIII", "type":{ "landmark_type":"nature" @@ -415,52 +431,36 @@ "n_tags":15, "time_to_reach":0 }, - "26":{ - "name":"Jardinet place du lieutenant Henri-Karcher", - "type":{ - "landmark_type":"nature" - }, - "location":[ - 48.8632971, - 2.3399434 - ], - "osm_type":"way", - "osm_id":53826866, - "attractiveness":8, - "must_do":false, - "n_tags":5, - "time_to_reach":0 - }, "27":{ - "name":"Square de l'Abbé Esquerré", + "name":"Square Félix Desruelles", "type":{ "landmark_type":"nature" }, "location":[ - 48.8503173, - 2.3136601 + 48.8536974, + 2.3345069 ], "osm_type":"way", - "osm_id":103344111, - "attractiveness":11, + "osm_id":62287123, + "attractiveness":12, "must_do":false, "n_tags":7, "time_to_reach":0 }, "28":{ - "name":"Jardin Nelson Mandela", + "name":"Jardin des Rosiers – Joseph-Migneret", "type":{ "landmark_type":"nature" }, "location":[ - 48.8626235, - 2.344487 + 48.8572946, + 2.3602516 ], "osm_type":"way", - "osm_id":159103475, - "attractiveness":23, + "osm_id":365878540, + "attractiveness":14, "must_do":false, - "n_tags":15, + "n_tags":8, "time_to_reach":0 }, "29":{