From 3aef47fb21d76abb56aa29a10b300b1decb9503e Mon Sep 17 00:00:00 2001 From: Matthias Schaub Date: Thu, 19 Dec 2024 16:22:50 +1300 Subject: [PATCH] refactor: combine georeferencing and digitizing Combine georeferencing and digitizing into one Celery group. This leads to not needing to ma a request UUID to two Celery task/group ids. --- sketch_map_tool/helpers.py | 11 +- sketch_map_tool/routes.py | 123 ++++++++++-------- sketch_map_tool/tasks.py | 61 +++++---- ...pproval-test_smt_approver-osm.received.txt | 1 + tests/integration/conftest.py | 13 +- tests/integration/test_routes.py | 11 +- tests/unit/conftest.py | 58 ++++----- tests/unit/test_routes_api_download.py | 6 +- tests/unit/test_routes_digitize.py | 9 +- 9 files changed, 146 insertions(+), 147 deletions(-) create mode 100644 tests/fixtures/approved/test_approval-test_smt_approver-osm.received.txt diff --git a/sketch_map_tool/helpers.py b/sketch_map_tool/helpers.py index 5afec33c..fefde03a 100644 --- a/sketch_map_tool/helpers.py +++ b/sketch_map_tool/helpers.py @@ -57,16 +57,17 @@ def merge(fcs: list[FeatureCollection]) -> FeatureCollection: def zip_(results: list[tuple[str, str, BytesIO]]) -> BytesIO: - """ZIP the results of the Celery group of `georeference_sketch_map` tasks.""" + """ZIP the raster results of the Celery group of `upload_processing` tasks.""" buffer = BytesIO() - raw = set([r[1].replace("
", "\n") for r in results]) - attributions = BytesIO("\n".join(raw).encode()) + attributions = [] with ZipFile(buffer, "a") as zip_file: - for file_name, _, file in results: + for file_name, attribution, file in results: stem = Path(file_name).stem name = Path(stem).with_suffix(".geotiff") zip_file.writestr(str(name), file.read()) - zip_file.writestr("attributions.txt", attributions.read()) + attributions.append(attribution.replace("
", "\n")) + file = BytesIO("\n".join(set(attributions)).encode()) + zip_file.writestr("attributions.txt", file.read()) buffer.seek(0) return buffer diff --git a/sketch_map_tool/routes.py b/sketch_map_tool/routes.py index eb541ef4..c18b5053 100644 --- a/sketch_map_tool/routes.py +++ b/sketch_map_tool/routes.py @@ -28,12 +28,11 @@ UploadLimitsExceededError, UUIDNotFoundError, ) -from sketch_map_tool.helpers import extract_errors, merge, to_array, zip_ +from sketch_map_tool.helpers import N_, extract_errors, merge, to_array, zip_ from sketch_map_tool.models import Bbox, Layer, PaperFormat, Size from sketch_map_tool.tasks import ( cleanup_blobs, - digitize_sketches, - georeference_sketch_map, + upload_processing, ) from sketch_map_tool.validators import ( validate_type, @@ -192,11 +191,10 @@ def digitize_results_post(lang="en") -> Response: bboxes_[uuid] = bbox layers_[uuid] = layer - tasks_vector = [] - tasks_raster = [] + tasks = [] for file_id, file_name, uuid in zip(file_ids, file_names, uuids): - tasks_vector.append( - digitize_sketches.signature( + tasks.append( + upload_processing.signature( ( file_id, file_name, @@ -206,40 +204,24 @@ def digitize_results_post(lang="en") -> Response: ) ) ) - tasks_raster.append( - georeference_sketch_map.signature( - ( - file_id, - file_name, - map_frames[uuid], - layers_[uuid], - bboxes_[uuid], - ) - ) - ) - async_result_raster = group(tasks_raster).apply_async() - c = chord( - group(tasks_vector), + chord_ = chord( + group(tasks), cleanup_blobs.signature( kwargs={"file_ids": list(set(file_ids))}, immutable=True, ), ).apply_async() - async_result_vector = c.parent + async_group_result = chord_.parent # group results have to be saved for them to be able to be restored later - async_result_raster.save() - async_result_vector.save() - - # Unique id for current request - uuid = str(uuid4()) - # Mapping of request id to multiple tasks id's - map_ = { - "raster-results": str(async_result_raster.id), - "vector-results": str(async_result_vector.id), - } - db_client_flask.set_async_result_ids(uuid, map_) - return redirect(url_for("digitize_results_get", lang=lang, uuid=uuid)) + async_group_result.save() + return redirect( + url_for( + "digitize_results_get", + lang=lang, + uuid=async_group_result.id, + ) + ) @app.get("/digitize/results") @@ -253,19 +235,53 @@ def digitize_results_get(lang="en", uuid: str | None = None) -> Response | str: return render_template("digitize-results.html", lang=lang) +def get_async_result_id(uuid: str, type_: REQUEST_TYPES): + """Get Celery Async or Group Result UUID for given request UUID. + + Try to get Celery UUID for given request from datastore. + If no Celery UUID has been found the request UUID is the same as the Celery UUID. + + This function exists only for legacy support which runs out on ... + """ + # TODO: Remove this function after end of legacy support on ... + try: + return db_client_flask.get_async_result_id(uuid, type_) + except UUIDNotFoundError: + return uuid + + +def get_async_result(uuid) -> AsyncResult | GroupResult: + """Get Celyer `AsyncResult` or restore `GroupResult` for given Celery UUID. + + Due to legacy support it is not possible to check only the request type + (e.g. `sketch-map` or `vector-results`). + In the past every Celery result was of type `AsyncResult`. + Now `/create` results are of type `AsyncResult` and `/digitze` results are + of type `GroupResult`. + """ + # TODO: Remove this function after end of legacy support on ... + group_result = celery_app.GroupResult.restore(uuid) + async_result = celery_app.AsyncResult(uuid) + + if group_result is None and async_result is None: + raise UUIDNotFoundError( + N_("There are no tasks for UUID {UUID}"), + {"UUID": uuid}, + ) + elif group_result is not None: + return group_result + else: + return async_result + + @app.get("/api/status//") @app.get("//api/status//") def status(uuid: str, type_: REQUEST_TYPES, lang="en") -> Response: validate_uuid(uuid) validate_type(type_) - id_ = db_client_flask.get_async_result_id(uuid, type_) - - # due to legacy support it is not possible to check only `type_` - # (in the past every Celery result was of type `AsyncResult`) - async_result = celery_app.GroupResult.restore(id_) - if async_result is None: - async_result = celery_app.AsyncResult(id_) + id_ = get_async_result_id(uuid, type_) + async_result = get_async_result(id_) href = "" info = "" @@ -323,18 +339,18 @@ def download(uuid: str, type_: REQUEST_TYPES, lang="en") -> Response: validate_uuid(uuid) validate_type(type_) - id_ = db_client_flask.get_async_result_id(uuid, type_) + id_ = get_async_result_id(uuid, type_) + async_result = get_async_result(id_) - # due to legacy support it is not possible to check only `type_` - # (in the past every Celery result was of type `AsyncResult`) - async_result = celery_app.GroupResult.restore(id_) - if async_result is None: - async_result = celery_app.AsyncResult(id_) - if not async_result.ready() or async_result.failed(): + # Abort if result not ready or failed. + # No nice error message here because user should first check /api/status. + if isinstance(async_result, GroupResult): + if not async_result.ready() or all([r.failed() for r in async_result.results]): abort(500) else: - if not async_result.ready() or all([r.failed() for r in async_result.results]): + if not async_result.ready() or async_result.failed(): abort(500) + match type_: case "quality-report": mimetype = "application/pdf" @@ -348,7 +364,9 @@ def download(uuid: str, type_: REQUEST_TYPES, lang="en") -> Response: mimetype = "application/zip" download_name = type_ + ".zip" if isinstance(async_result, GroupResult): - file: BytesIO = zip_(async_result.get(propagate=False)) + results = async_result.get(propagate=False) + raster_results = [r[:-1] for r in results] + file: BytesIO = zip_(raster_results) else: # support legacy results file: BytesIO = async_result.get() @@ -356,8 +374,9 @@ def download(uuid: str, type_: REQUEST_TYPES, lang="en") -> Response: mimetype = "application/geo+json" download_name = type_ + ".geojson" if isinstance(async_result, GroupResult): - result: list = async_result.get(propagate=False) - raw = geojson.dumps(merge(result)) + results = async_result.get(propagate=False) + vector_results = [r[-1] for r in results] + raw = geojson.dumps(merge(vector_results)) file: BytesIO = BytesIO(raw.encode("utf-8")) else: # support legacy results diff --git a/sketch_map_tool/tasks.py b/sketch_map_tool/tasks.py index 18c0790b..4a8680cb 100644 --- a/sketch_map_tool/tasks.py +++ b/sketch_map_tool/tasks.py @@ -135,39 +135,14 @@ def generate_quality_report(bbox: Bbox) -> BytesIO | AsyncResult: # 2. DIGITIZE RESULTS # -@celery.task() -def georeference_sketch_map( - file_id: int, - file_name: str, - map_frame: NDArray, - layer: Layer, - bbox: Bbox, -) -> AsyncResult | tuple[str, str, BytesIO]: - """Georeference uploaded Sketch Map. - - Returns file name, attribution text and to the map extend clipped and georeferenced - sketch map as GeoTiff. - """ - # r = interim result - r = db_client_celery.select_file(file_id) - r = to_array(r) - r = clip(r, map_frame) - r = georeference(r, bbox) - return file_name, get_attribution(layer), r - - -@celery.task def digitize_sketches( file_id: int, file_name: str, map_frame: NDArray, + sketch_map_frame: NDArray, layer: Layer, bbox: Bbox, -) -> AsyncResult | FeatureCollection: - # r = interim result - r: BytesIO = db_client_celery.select_file(file_id) # type: ignore - r: NDArray = to_array(r) # type: ignore - r: NDArray = clip(r, map_frame) # type: ignore +) -> FeatureCollection: if layer == "osm": yolo_obj = yolo_obj_osm yolo_cls = yolo_cls_osm @@ -177,16 +152,16 @@ def digitize_sketches( else: raise ValueError("Unexpected layer: " + layer) - r: NDArray = detect_markings( - r, + markings: list[NDArray] = detect_markings( + sketch_map_frame, map_frame, yolo_obj, yolo_cls, sam_predictor, - ) # type: ignore + ) # m = marking l = [] # noqa: E741 - for m in r: + for m in markings: m: BytesIO = georeference(m, bbox, bgr=False) # type: ignore m: FeatureCollection = polygonize(m, layer_name=file_name) # type: ignore m: FeatureCollection = post_process(m, file_name) @@ -198,6 +173,30 @@ def digitize_sketches( return merge(l) +@celery.task +def upload_processing( + file_id: int, + file_name: str, + map_frame: NDArray, + layer: Layer, + bbox: Bbox, +) -> AsyncResult | tuple[str, str, BytesIO, FeatureCollection]: + """Georeference and digitize given sketch map.""" + sketch_map_uploaded = db_client_celery.select_file(file_id) + sketch_map_frame = clip(to_array(sketch_map_uploaded), map_frame) + sketch_map_frame_georeferenced = georeference(sketch_map_frame, bbox) + sketches = digitize_sketches( + file_id, + file_name, + map_frame, + sketch_map_frame, + layer, + bbox, + ) + attribution = get_attribution(layer) + return file_name, attribution, sketch_map_frame_georeferenced, sketches + + @celery.task(ignore_result=True) def cleanup_map_frames(): """Cleanup map frames stored in the database.""" diff --git a/tests/fixtures/approved/test_approval-test_smt_approver-osm.received.txt b/tests/fixtures/approved/test_approval-test_smt_approver-osm.received.txt new file mode 100644 index 00000000..2c2e85c5 --- /dev/null +++ b/tests/fixtures/approved/test_approval-test_smt_approver-osm.received.txt @@ -0,0 +1 @@ +{"type": "FeatureCollection", "features": [{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.665869, 49.414581], [8.665871, 49.414584], [8.665872, 49.414588], [8.665874, 49.414592], [8.665875, 49.414596], [8.665877, 49.4146], [8.665878, 49.414604], [8.66588, 49.414607], [8.665882, 49.414611], [8.665883, 49.414615], [8.665885, 49.414619], [8.665887, 49.414623], [8.665889, 49.414627], [8.66589, 49.414631], [8.665892, 49.414634], [8.665894, 49.414638], [8.665896, 49.414642], [8.665898, 49.414646], [8.6659, 49.41465], [8.665902, 49.414654], [8.665904, 49.414657], [8.665906, 49.414661], [8.665908, 49.414665], [8.66591, 49.414669], [8.665912, 49.414673], [8.665915, 49.414677], [8.665917, 49.414681], [8.665919, 49.414684], [8.665921, 49.414688], [8.665924, 49.414692], [8.665926, 49.414696], [8.665928, 49.4147], [8.665931, 49.414704], [8.665933, 49.414707], [8.665936, 49.414711], [8.665938, 49.414715], [8.665941, 49.414719], [8.665943, 49.414723], [8.665946, 49.414727], [8.665949, 49.414731], [8.665952, 49.414735], [8.665954, 49.414739], [8.665957, 49.414742], [8.66596, 49.414746], [8.665963, 49.41475], [8.665966, 49.414754], [8.665969, 49.414758], [8.665972, 49.414762], [8.665975, 49.414766], [8.665978, 49.41477], [8.665982, 49.414774], [8.665985, 49.414778], [8.665988, 49.414782], [8.665991, 49.414786], [8.665995, 49.41479], [8.665998, 49.414794], [8.666002, 49.414799], [8.666005, 49.414803], [8.666009, 49.414807], [8.666012, 49.414811], [8.666016, 49.414815], [8.66602, 49.414819], [8.666023, 49.414823], [8.666027, 49.414827], [8.666031, 49.414831], [8.666035, 49.414836], [8.666039, 49.41484], [8.666043, 49.414844], [8.666046, 49.414848], [8.66605, 49.414852], [8.666054, 49.414856], [8.666058, 49.41486], [8.666062, 49.414864], [8.666065, 49.414867], [8.666069, 49.414871], [8.666073, 49.414875], [8.666077, 49.414879], [8.66608, 49.414882], [8.666084, 49.414886], [8.666088, 49.41489], [8.666091, 49.414893], [8.666095, 49.414897], [8.666099, 49.4149], [8.666102, 49.414904], [8.666106, 49.414907], [8.666109, 49.41491], [8.666113, 49.414914], [8.666116, 49.414917], [8.66612, 49.41492], [8.666124, 49.414923], [8.666127, 49.414926], [8.666131, 49.41493], [8.666134, 49.414933], [8.666137, 49.414936], [8.666141, 49.414939], [8.666144, 49.414942], [8.666148, 49.414945], [8.666151, 49.414947], [8.666155, 49.41495], [8.666158, 49.414953], [8.666162, 49.414956], [8.666166, 49.414959], [8.66617, 49.414963], [8.666174, 49.414966], [8.666178, 49.414969], [8.666182, 49.414972], [8.666187, 49.414976], [8.666191, 49.414979], [8.666196, 49.414982], [8.6662, 49.414986], [8.666205, 49.414989], [8.66621, 49.414993], [8.666215, 49.414997], [8.66622, 49.415], [8.666225, 49.415004], [8.66623, 49.415008], [8.666236, 49.415012], [8.666241, 49.415016], [8.666247, 49.41502], [8.666253, 49.415024], [8.666258, 49.415028], [8.666264, 49.415032], [8.66627, 49.415036], [8.666276, 49.41504], [8.666283, 49.415044], [8.666289, 49.415049], [8.666295, 49.415053], [8.666302, 49.415057], [8.666309, 49.415062], [8.666315, 49.415066], [8.666322, 49.415071], [8.666329, 49.415075], [8.666336, 49.41508], [8.666343, 49.415084], [8.66635, 49.415089], [8.666357, 49.415093], [8.666364, 49.415097], [8.666371, 49.415102], [8.666378, 49.415106], [8.666385, 49.415111], [8.666392, 49.415115], [8.666399, 49.415119], [8.666406, 49.415124], [8.666413, 49.415128], [8.66642, 49.415132], [8.666428, 49.415137], [8.666435, 49.415141], [8.666442, 49.415145], [8.66645, 49.41515], [8.666457, 49.415154], [8.666465, 49.415158], [8.666472, 49.415163], [8.66648, 49.415167], [8.666487, 49.415171], [8.666495, 49.415175], [8.666502, 49.415179], [8.66651, 49.415184], [8.666517, 49.415188], [8.666525, 49.415192], [8.666533, 49.415196], [8.666541, 49.4152], [8.666548, 49.415205], [8.666556, 49.415209], [8.666565, 49.415213], [8.666573, 49.415217], [8.666582, 49.415222], [8.666592, 49.415226], [8.666601, 49.415231], [8.666611, 49.415235], [8.666621, 49.41524], [8.666631, 49.415245], [8.666642, 49.41525], [8.666653, 49.415254], [8.666664, 49.415259], [8.666675, 49.415264], [8.666687, 49.415269], [8.666699, 49.415274], [8.666711, 49.415279], [8.666724, 49.415285], [8.666737, 49.41529], [8.66675, 49.415295], [8.666763, 49.415301], [8.666777, 49.415306], [8.666791, 49.415312], [8.666805, 49.415317], [8.66682, 49.415323], [8.666835, 49.415328], [8.66685, 49.415334], [8.666865, 49.41534], [8.666881, 49.415346], [8.666897, 49.415352], [8.666913, 49.415358], [8.66693, 49.415364], [8.666946, 49.41537], [8.666963, 49.415376], [8.666979, 49.415382], [8.666994, 49.415388], [8.667009, 49.415393], [8.667024, 49.415399], [8.667038, 49.415404], [8.667051, 49.415409], [8.667065, 49.415414], [8.667077, 49.415419], [8.66709, 49.415424], [8.667102, 49.415429], [8.667113, 49.415433], [8.667124, 49.415438], [8.667134, 49.415442], [8.667144, 49.415446], [8.667154, 49.41545], [8.667163, 49.415454], [8.667172, 49.415458], [8.66718, 49.415462], [8.667188, 49.415465], [8.667195, 49.415468], [8.667202, 49.415472], [8.667208, 49.415475], [8.667214, 49.415478], [8.66722, 49.415481], [8.667225, 49.415483], [8.667229, 49.415486], [8.667234, 49.415488], [8.667237, 49.415491], [8.667241, 49.415493], [8.667243, 49.415495], [8.667246, 49.415497], [8.667248, 49.415499], [8.66725, 49.415501], [8.667253, 49.415503], [8.667255, 49.415505], [8.667257, 49.415507], [8.667259, 49.415509], [8.667261, 49.415511], [8.667264, 49.415513], [8.667266, 49.415515], [8.667268, 49.415517], [8.66727, 49.415519], [8.667272, 49.415522], [8.667274, 49.415524], [8.667276, 49.415526], [8.667278, 49.415528], [8.66728, 49.41553], [8.667282, 49.415533], [8.667284, 49.415535], [8.667286, 49.415537], [8.667288, 49.415539], [8.66729, 49.415542], [8.667292, 49.415544], [8.667294, 49.415546], [8.667295, 49.415549], [8.667297, 49.415551], [8.667299, 49.415554], [8.667301, 49.415556], [8.667303, 49.415558], [8.667304, 49.415561], [8.667306, 49.415563], [8.667308, 49.415566], [8.667309, 49.415568], [8.667311, 49.415571], [8.667313, 49.415573], [8.667314, 49.415575], [8.667316, 49.415578], [8.667318, 49.41558], [8.667319, 49.415582], [8.667321, 49.415584], [8.667322, 49.415586], [8.667324, 49.415588], [8.667326, 49.41559], [8.667327, 49.415592], [8.667329, 49.415594], [8.66733, 49.415596], [8.667332, 49.415597], [8.667333, 49.415599], [8.667335, 49.4156], [8.667337, 49.415602], [8.667338, 49.415603], [8.66734, 49.415605], [8.667341, 49.415606], [8.667343, 49.415607], [8.667344, 49.415609], [8.667346, 49.41561], [8.667347, 49.415611], [8.667349, 49.415612], [8.66735, 49.415613], [8.667352, 49.415614], [8.667353, 49.415615], [8.667355, 49.415616], [8.667356, 49.415616], [8.667358, 49.415617], [8.667359, 49.415618], [8.667361, 49.415618], [8.667363, 49.415619], [8.667366, 49.41562], [8.667368, 49.41562], [8.667371, 49.415621], [8.667375, 49.415621], [8.667378, 49.415622], [8.667382, 49.415622], [8.667387, 49.415622], [8.667391, 49.415623], [8.667396, 49.415623], [8.667402, 49.415623], [8.667407, 49.415624], [8.667413, 49.415624], [8.667419, 49.415624], [8.667426, 49.415624], [8.667433, 49.415624], [8.66744, 49.415624], [8.667447, 49.415624], [8.667455, 49.415624], [8.667463, 49.415624], [8.667472, 49.415624], [8.667481, 49.415624], [8.66749, 49.415624], [8.667499, 49.415624], [8.667509, 49.415624], [8.667519, 49.415624], [8.667529, 49.415624], [8.66754, 49.415623], [8.667551, 49.415623], [8.667562, 49.415623], [8.667574, 49.415622], [8.667585, 49.415622], [8.667596, 49.415622], [8.667607, 49.415621], [8.667618, 49.415621], [8.667629, 49.41562], [8.667639, 49.41562], [8.667649, 49.415619], [8.667659, 49.415619], [8.667669, 49.415618], [8.667678, 49.415618], [8.667688, 49.415617], [8.667697, 49.415617], [8.667706, 49.415616], [8.667714, 49.415616], [8.667723, 49.415615], [8.667731, 49.415614], [8.667739, 49.415614], [8.667747, 49.415613], [8.667754, 49.415612], [8.667762, 49.415612], [8.667769, 49.415611], [8.667776, 49.41561], [8.667782, 49.415609], [8.667789, 49.415609], [8.667795, 49.415608], [8.667801, 49.415607], [8.667807, 49.415606], [8.667813, 49.415605], [8.667818, 49.415604], [8.667824, 49.415603], [8.667829, 49.415602], [8.667833, 49.415602], [8.667838, 49.415601], [8.667843, 49.415599], [8.667848, 49.415598], [8.667854, 49.415597], [8.667859, 49.415596], [8.667865, 49.415595], [8.66787, 49.415593], [8.667876, 49.415592], [8.667882, 49.41559], [8.667887, 49.415589], [8.667893, 49.415587], [8.6679, 49.415585], [8.667906, 49.415584], [8.667912, 49.415582], [8.667919, 49.41558], [8.667925, 49.415578], [8.667932, 49.415576], [8.667939, 49.415574], [8.667945, 49.415572], [8.667952, 49.41557], [8.66796, 49.415568], [8.667967, 49.415565], [8.667974, 49.415563], [8.667981, 49.415561], [8.667989, 49.415558], [8.667997, 49.415556], [8.668004, 49.415553], [8.668012, 49.41555], [8.66802, 49.415548], [8.668028, 49.415545], [8.668036, 49.415542], [8.668045, 49.415539], [8.668053, 49.415536], [8.668061, 49.415533], [8.668069, 49.41553], [8.668077, 49.415528], [8.668085, 49.415525], [8.668092, 49.415522], [8.6681, 49.415519], [8.668108, 49.415516], [8.668115, 49.415513], [8.668122, 49.415511], [8.66813, 49.415508], [8.668137, 49.415505], [8.668144, 49.415502], [8.668151, 49.415499], [8.668158, 49.415497], [8.668165, 49.415494], [8.668171, 49.415491], [8.668178, 49.415489], [8.668184, 49.415486], [8.668191, 49.415483], [8.668197, 49.41548], [8.668203, 49.415478], [8.66821, 49.415475], [8.668216, 49.415473], [8.668222, 49.41547], [8.668227, 49.415467], [8.668233, 49.415465], [8.668239, 49.415462], [8.668244, 49.415459], [8.66825, 49.415457], [8.668255, 49.415454], [8.668261, 49.415452], [8.668266, 49.415449], [8.668271, 49.415447], [8.668276, 49.415444], [8.668281, 49.415441], [8.668287, 49.415439], [8.668292, 49.415436], [8.668297, 49.415434], [8.668302, 49.415431], [8.668306, 49.415429], [8.668311, 49.415426], [8.668316, 49.415423], [8.668321, 49.415421], [8.668326, 49.415418], [8.66833, 49.415416], [8.668335, 49.415413], [8.66834, 49.415411], [8.668344, 49.415408], [8.668349, 49.415405], [8.668353, 49.415403], [8.668357, 49.4154], [8.668362, 49.415398], [8.668366, 49.415395], [8.66837, 49.415393], [8.668375, 49.41539], [8.668379, 49.415387], [8.668383, 49.415385], [8.668387, 49.415382], [8.668391, 49.41538], [8.668395, 49.415377], [8.668399, 49.415374], [8.668403, 49.415372], [8.668407, 49.415369], [8.668411, 49.415367], [8.668415, 49.415364], [8.668419, 49.415361], [8.668422, 49.415358], [8.668426, 49.415356], [8.66843, 49.415353], [8.668434, 49.41535], [8.668438, 49.415347], [8.668442, 49.415344], [8.668445, 49.415341], [8.668449, 49.415338], [8.668453, 49.415335], [8.668457, 49.415332], [8.66846, 49.415329], [8.668464, 49.415326], [8.668468, 49.415323], [8.668472, 49.415319], [8.668476, 49.415316], [8.668479, 49.415313], [8.668483, 49.415309], [8.668487, 49.415306], [8.66849, 49.415303], [8.668494, 49.415299], [8.668498, 49.415296], [8.668502, 49.415292], [8.668505, 49.415288], [8.668509, 49.415285], [8.668513, 49.415281], [8.668516, 49.415277], [8.66852, 49.415274], [8.668524, 49.41527], [8.668527, 49.415266], [8.668531, 49.415262], [8.668534, 49.415259], [8.668538, 49.415255], [8.668541, 49.415251], [8.668545, 49.415248], [8.668548, 49.415244], [8.668551, 49.41524], [8.668554, 49.415237], [8.668557, 49.415233], [8.668561, 49.41523], [8.668563, 49.415227], [8.668566, 49.415223], [8.668569, 49.41522], [8.668572, 49.415217], [8.668575, 49.415213], [8.668577, 49.41521], [8.66858, 49.415207], [8.668583, 49.415204], [8.668585, 49.415201], [8.668588, 49.415198], [8.66859, 49.415195], [8.668592, 49.415192], [8.668594, 49.415189], [8.668597, 49.415186], [8.668599, 49.415183], [8.668601, 49.41518], [8.668603, 49.415178], [8.668605, 49.415175], [8.668607, 49.415172], [8.668608, 49.415169], [8.66861, 49.415167], [8.668612, 49.415164], [8.668614, 49.415162], [8.668615, 49.415159], [8.668617, 49.415156], [8.668619, 49.415153], [8.66862, 49.41515], [8.668622, 49.415147], [8.668624, 49.415144], [8.668626, 49.41514], [8.668627, 49.415137], [8.668629, 49.415133], [8.668631, 49.41513], [8.668633, 49.415126], [8.668634, 49.415122], [8.668636, 49.415119], [8.668638, 49.415115], [8.66864, 49.415111], [8.668642, 49.415107], [8.668644, 49.415102], [8.668645, 49.415098], [8.668647, 49.415094], [8.668649, 49.415089], [8.668651, 49.415085], [8.668653, 49.41508], [8.668655, 49.415076], [8.668657, 49.415071], [8.668658, 49.415066], [8.66866, 49.415061], [8.668662, 49.415056], [8.668664, 49.415051], [8.668666, 49.415046], [8.668668, 49.41504], [8.66867, 49.415035], [8.668672, 49.415029], [8.668674, 49.415024], [8.668675, 49.415019], [8.668677, 49.415013], [8.668679, 49.415008], [8.66868, 49.415003], [8.668682, 49.414997], [8.668683, 49.414992], [8.668685, 49.414987], [8.668686, 49.414982], [8.668687, 49.414977], [8.668688, 49.414971], [8.66869, 49.414966], [8.668691, 49.414961], [8.668692, 49.414956], [8.668693, 49.414951], [8.668694, 49.414946], [8.668694, 49.414941], [8.668695, 49.414936], [8.668696, 49.414931], [8.668697, 49.414926], [8.668697, 49.414921], [8.668698, 49.414916], [8.668698, 49.414911], [8.668699, 49.414906], [8.668699, 49.414901], [8.668699, 49.414896], [8.6687, 49.414891], [8.6687, 49.414886], [8.6687, 49.414881], [8.6687, 49.414876], [8.6687, 49.414872], [8.6687, 49.414867], [8.6687, 49.414862], [8.6687, 49.414858], [8.6687, 49.414853], [8.6687, 49.414849], [8.6687, 49.414845], [8.6687, 49.414841], [8.668699, 49.414837], [8.668699, 49.414833], [8.668699, 49.414829], [8.668699, 49.414825], [8.668699, 49.414822], [8.668699, 49.414818], [8.668698, 49.414815], [8.668698, 49.414811], [8.668698, 49.414808], [8.668698, 49.414805], [8.668697, 49.414802], [8.668697, 49.414799], [8.668697, 49.414796], [8.668697, 49.414794], [8.668696, 49.414791], [8.668696, 49.414789], [8.668696, 49.414786], [8.668695, 49.414784], [8.668695, 49.414782], [8.668694, 49.41478], [8.668694, 49.414778], [8.668694, 49.414776], [8.668693, 49.414774], [8.668693, 49.414772], [8.668692, 49.414771], [8.668692, 49.414769], [8.668691, 49.414767], [8.66869, 49.414765], [8.66869, 49.414763], [8.668689, 49.414761], [8.668688, 49.414758], [8.668687, 49.414756], [8.668686, 49.414753], [8.668685, 49.414751], [8.668683, 49.414748], [8.668682, 49.414745], [8.668681, 49.414741], [8.668679, 49.414738], [8.668678, 49.414735], [8.668676, 49.414731], [8.668674, 49.414728], [8.668673, 49.414724], [8.668671, 49.41472], [8.668669, 49.414716], [8.668667, 49.414712], [8.668665, 49.414707], [8.668663, 49.414703], [8.66866, 49.414698], [8.668658, 49.414693], [8.668656, 49.414689], [8.668653, 49.414684], [8.668651, 49.414679], [8.668648, 49.414673], [8.668646, 49.414668], [8.668643, 49.414662], [8.66864, 49.414657], [8.668637, 49.414651], [8.668634, 49.414645], [8.668631, 49.41464], [8.668628, 49.414634], [8.668625, 49.414629], [8.668622, 49.414624], [8.668619, 49.414618], [8.668617, 49.414613], [8.668614, 49.414608], [8.668611, 49.414603], [8.668608, 49.414598], [8.668605, 49.414593], [8.668602, 49.414589], [8.668599, 49.414584], [8.668596, 49.41458], [8.668593, 49.414575], [8.66859, 49.414571], [8.668587, 49.414566], [8.668584, 49.414562], [8.668581, 49.414558], [8.668577, 49.414554], [8.668574, 49.41455], [8.668571, 49.414546], [8.668568, 49.414542], [8.668565, 49.414539], [8.668562, 49.414535], [8.668559, 49.414531], [8.668556, 49.414528], [8.668553, 49.414525], [8.66855, 49.414521], [8.668547, 49.414518], [8.668544, 49.414515], [8.66854, 49.414512], [8.668537, 49.414509], [8.668534, 49.414506], [8.66853, 49.414502], [8.668526, 49.414499], [8.668522, 49.414495], [8.668518, 49.414492], [8.668513, 49.414488], [8.668508, 49.414484], [8.668503, 49.414481], [8.668498, 49.414477], [8.668493, 49.414473], [8.668487, 49.414469], [8.668482, 49.414464], [8.668476, 49.41446], [8.66847, 49.414456], [8.668463, 49.414451], [8.668457, 49.414447], [8.66845, 49.414442], [8.668443, 49.414437], [8.668436, 49.414432], [8.668429, 49.414427], [8.668421, 49.414422], [8.668414, 49.414417], [8.668406, 49.414412], [8.668398, 49.414407], [8.668389, 49.414401], [8.668381, 49.414396], [8.668372, 49.41439], [8.668363, 49.414385], [8.668354, 49.414379], [8.668345, 49.414373], [8.668335, 49.414367], [8.668326, 49.414361], [8.668316, 49.414355], [8.668307, 49.41435], [8.668298, 49.414344], [8.668289, 49.414339], [8.66828, 49.414333], [8.668271, 49.414328], [8.668262, 49.414323], [8.668253, 49.414317], [8.668244, 49.414312], [8.668235, 49.414307], [8.668227, 49.414302], [8.668218, 49.414298], [8.66821, 49.414293], [8.668201, 49.414288], [8.668193, 49.414284], [8.668185, 49.414279], [8.668176, 49.414275], [8.668168, 49.41427], [8.66816, 49.414266], [8.668152, 49.414262], [8.668144, 49.414258], [8.668136, 49.414254], [8.668128, 49.41425], [8.668121, 49.414246], [8.668113, 49.414242], [8.668105, 49.414239], [8.668098, 49.414235], [8.66809, 49.414232], [8.668083, 49.414228], [8.668076, 49.414225], [8.668068, 49.414222], [8.668061, 49.414219], [8.668054, 49.414216], [8.668047, 49.414212], [8.66804, 49.414209], [8.668032, 49.414206], [8.668025, 49.414203], [8.668018, 49.4142], [8.668011, 49.414197], [8.668004, 49.414194], [8.667997, 49.414191], [8.66799, 49.414188], [8.667983, 49.414185], [8.667975, 49.414182], [8.667968, 49.414179], [8.667961, 49.414176], [8.667954, 49.414173], [8.667947, 49.41417], [8.66794, 49.414167], [8.667933, 49.414165], [8.667926, 49.414162], [8.66792, 49.414159], [8.667913, 49.414156], [8.667906, 49.414154], [8.667899, 49.414151], [8.667892, 49.414148], [8.667885, 49.414145], [8.667878, 49.414143], [8.667871, 49.41414], [8.667864, 49.414137], [8.667858, 49.414135], [8.667851, 49.414132], [8.667844, 49.41413], [8.667837, 49.414127], [8.66783, 49.414125], [8.667823, 49.414122], [8.667816, 49.414119], [8.667808, 49.414117], [8.667801, 49.414114], [8.667793, 49.414112], [8.667785, 49.414109], [8.667778, 49.414106], [8.66777, 49.414104], [8.667761, 49.414101], [8.667753, 49.414098], [8.667745, 49.414096], [8.667736, 49.414093], [8.667728, 49.41409], [8.667719, 49.414087], [8.66771, 49.414085], [8.667701, 49.414082], [8.667692, 49.414079], [8.667683, 49.414076], [8.667674, 49.414074], [8.667664, 49.414071], [8.667654, 49.414068], [8.667645, 49.414065], [8.667635, 49.414062], [8.667625, 49.41406], [8.667615, 49.414057], [8.667605, 49.414054], [8.667594, 49.414051], [8.667584, 49.414048], [8.667573, 49.414045], [8.667563, 49.414043], [8.667552, 49.41404], [8.667542, 49.414037], [8.667531, 49.414034], [8.667521, 49.414032], [8.667511, 49.414029], [8.6675, 49.414027], [8.66749, 49.414024], [8.66748, 49.414022], [8.667471, 49.414019], [8.667461, 49.414017], [8.667451, 49.414015], [8.667442, 49.414013], [8.667432, 49.414011], [8.667423, 49.414009], [8.667413, 49.414007], [8.667404, 49.414005], [8.667395, 49.414003], [8.667386, 49.414001], [8.667377, 49.413999], [8.667368, 49.413998], [8.667359, 49.413996], [8.667351, 49.413994], [8.667342, 49.413993], [8.667334, 49.413991], [8.667325, 49.41399], [8.667317, 49.413989], [8.667309, 49.413987], [8.667301, 49.413986], [8.667293, 49.413985], [8.667285, 49.413984], [8.667277, 49.413983], [8.667269, 49.413982], [8.667261, 49.413981], [8.667254, 49.41398], [8.667246, 49.413979], [8.667238, 49.413978], [8.66723, 49.413978], [8.667223, 49.413977], [8.667215, 49.413976], [8.667207, 49.413975], [8.667199, 49.413975], [8.667192, 49.413974], [8.667184, 49.413973], [8.667176, 49.413973], [8.667168, 49.413972], [8.667161, 49.413972], [8.667153, 49.413971], [8.667145, 49.413971], [8.667137, 49.41397], [8.66713, 49.41397], [8.667122, 49.413969], [8.667114, 49.413969], [8.667106, 49.413969], [8.667099, 49.413968], [8.667091, 49.413968], [8.667083, 49.413968], [8.667075, 49.413968], [8.667068, 49.413967], [8.66706, 49.413967], [8.667052, 49.413967], [8.667044, 49.413967], [8.667037, 49.413967], [8.667029, 49.413967], [8.667021, 49.413967], [8.667013, 49.413967], [8.667006, 49.413967], [8.666998, 49.413967], [8.66699, 49.413967], [8.666982, 49.413968], [8.666975, 49.413968], [8.666967, 49.413968], [8.666959, 49.413968], [8.666951, 49.413969], [8.666944, 49.413969], [8.666936, 49.41397], [8.666928, 49.41397], [8.66692, 49.413971], [8.666913, 49.413971], [8.666905, 49.413972], [8.666897, 49.413972], [8.666889, 49.413973], [8.666882, 49.413974], [8.666874, 49.413975], [8.666866, 49.413975], [8.666858, 49.413976], [8.666851, 49.413977], [8.666843, 49.413978], [8.666835, 49.413979], [8.666827, 49.41398], [8.66682, 49.413981], [8.666812, 49.413982], [8.666804, 49.413983], [8.666796, 49.413984], [8.666789, 49.413986], [8.666781, 49.413987], [8.666773, 49.413988], [8.666765, 49.413989], [8.666758, 49.413991], [8.66675, 49.413992], [8.666743, 49.413993], [8.666735, 49.413995], [8.666728, 49.413996], [8.666721, 49.413997], [8.666714, 49.413999], [8.666706, 49.414], [8.666699, 49.414001], [8.666692, 49.414003], [8.666685, 49.414004], [8.666678, 49.414006], [8.666672, 49.414007], [8.666665, 49.414008], [8.666658, 49.41401], [8.666652, 49.414011], [8.666645, 49.414013], [8.666638, 49.414014], [8.666632, 49.414015], [8.666626, 49.414017], [8.666619, 49.414018], [8.666613, 49.41402], [8.666607, 49.414021], [8.666601, 49.414023], [8.666595, 49.414024], [8.666589, 49.414026], [8.666583, 49.414027], [8.666577, 49.414029], [8.666572, 49.41403], [8.666566, 49.414032], [8.66656, 49.414033], [8.666554, 49.414035], [8.666549, 49.414036], [8.666543, 49.414038], [8.666537, 49.41404], [8.666531, 49.414042], [8.666525, 49.414043], [8.666518, 49.414045], [8.666512, 49.414047], [8.666506, 49.414049], [8.666499, 49.414051], [8.666493, 49.414053], [8.666486, 49.414055], [8.666479, 49.414057], [8.666472, 49.414059], [8.666465, 49.414062], [8.666458, 49.414064], [8.666451, 49.414066], [8.666444, 49.414069], [8.666437, 49.414071], [8.666429, 49.414073], [8.666422, 49.414076], [8.666414, 49.414078], [8.666407, 49.414081], [8.666399, 49.414083], [8.666391, 49.414086], [8.666383, 49.414089], [8.666375, 49.414092], [8.666367, 49.414094], [8.666359, 49.414097], [8.666351, 49.4141], [8.666342, 49.414103], [8.666334, 49.414106], [8.666325, 49.414109], [8.666317, 49.414112], [8.666309, 49.414115], [8.666301, 49.414118], [8.666294, 49.41412], [8.666286, 49.414123], [8.666279, 49.414126], [8.666271, 49.414129], [8.666264, 49.414131], [8.666257, 49.414134], [8.66625, 49.414136], [8.666244, 49.414139], [8.666237, 49.414142], [8.666231, 49.414144], [8.666224, 49.414147], [8.666218, 49.414149], [8.666212, 49.414151], [8.666206, 49.414154], [8.666201, 49.414156], [8.666195, 49.414158], [8.66619, 49.414161], [8.666184, 49.414163], [8.666179, 49.414165], [8.666174, 49.414167], [8.666169, 49.414169], [8.666164, 49.414172], [8.66616, 49.414174], [8.666155, 49.414176], [8.666151, 49.414178], [8.666147, 49.41418], [8.666143, 49.414182], [8.666139, 49.414183], [8.666135, 49.414185], [8.666131, 49.414187], [8.666127, 49.414189], [8.666123, 49.414191], [8.66612, 49.414193], [8.666116, 49.414195], [8.666112, 49.414198], [8.666108, 49.4142], [8.666104, 49.414202], [8.6661, 49.414204], [8.666096, 49.414206], [8.666092, 49.414208], [8.666088, 49.414211], [8.666084, 49.414213], [8.66608, 49.414215], [8.666076, 49.414218], [8.666072, 49.41422], [8.666068, 49.414222], [8.666064, 49.414225], [8.66606, 49.414227], [8.666056, 49.41423], [8.666052, 49.414232], [8.666048, 49.414235], [8.666043, 49.414237], [8.666039, 49.41424], [8.666035, 49.414242], [8.666031, 49.414245], [8.666027, 49.414248], [8.666023, 49.41425], [8.666019, 49.414253], [8.666015, 49.414256], [8.66601, 49.414258], [8.666006, 49.414261], [8.666002, 49.414264], [8.665998, 49.414267], [8.665994, 49.414269], [8.66599, 49.414272], [8.665986, 49.414275], [8.665983, 49.414278], [8.665979, 49.414281], [8.665975, 49.414284], [8.665971, 49.414286], [8.665968, 49.414289], [8.665964, 49.414292], [8.665961, 49.414295], [8.665957, 49.414298], [8.665954, 49.414301], [8.66595, 49.414304], [8.665947, 49.414306], [8.665944, 49.414309], [8.665941, 49.414312], [8.665937, 49.414315], [8.665934, 49.414318], [8.665931, 49.414321], [8.665928, 49.414324], [8.665925, 49.414327], [8.665922, 49.41433], [8.665919, 49.414333], [8.665916, 49.414336], [8.665913, 49.414339], [8.665911, 49.414342], [8.665908, 49.414345], [8.665905, 49.414348], [8.665903, 49.414351], [8.6659, 49.414354], [8.665898, 49.414357], [8.665895, 49.41436], [8.665893, 49.414363], [8.665891, 49.414365], [8.665888, 49.414368], [8.665886, 49.414371], [8.665884, 49.414373], [8.665882, 49.414376], [8.66588, 49.414378], [8.665878, 49.414381], [8.665876, 49.414383], [8.665875, 49.414385], [8.665873, 49.414388], [8.665871, 49.41439], [8.66587, 49.414392], [8.665868, 49.414394], [8.665867, 49.414396], [8.665866, 49.414398], [8.665864, 49.4144], [8.665863, 49.414402], [8.665862, 49.414404], [8.665861, 49.414406], [8.66586, 49.414407], [8.665859, 49.414409], [8.665858, 49.414411], [8.665857, 49.414412], [8.665857, 49.414414], [8.665856, 49.414415], [8.665855, 49.414417], [8.665855, 49.414418], [8.665854, 49.414419], [8.665854, 49.41442], [8.665853, 49.414422], [8.665853, 49.414423], [8.665853, 49.414425], [8.665852, 49.414426], [8.665852, 49.414428], [8.665851, 49.414429], [8.665851, 49.414431], [8.665851, 49.414432], [8.66585, 49.414434], [8.66585, 49.414436], [8.66585, 49.414438], [8.66585, 49.414439], [8.665849, 49.414441], [8.665849, 49.414443], [8.665849, 49.414445], [8.665849, 49.414447], [8.665848, 49.414449], [8.665848, 49.414451], [8.665848, 49.414453], [8.665848, 49.414455], [8.665848, 49.414457], [8.665848, 49.41446], [8.665847, 49.414462], [8.665847, 49.414464], [8.665847, 49.414467], [8.665847, 49.414469], [8.665847, 49.414471], [8.665847, 49.414474], [8.665847, 49.414476], [8.665847, 49.414479], [8.665847, 49.414481], [8.665847, 49.414484], [8.665847, 49.414487], [8.665847, 49.414489], [8.665847, 49.414492], [8.665848, 49.414495], [8.665848, 49.414497], [8.665848, 49.4145], [8.665849, 49.414503], [8.665849, 49.414506], [8.665849, 49.414509], [8.66585, 49.414512], [8.665851, 49.414515], [8.665851, 49.414518], [8.665852, 49.414521], [8.665852, 49.414525], [8.665853, 49.414528], [8.665854, 49.414531], [8.665855, 49.414534], [8.665856, 49.414538], [8.665856, 49.414541], [8.665857, 49.414544], [8.665858, 49.414548], [8.665859, 49.414551], [8.66586, 49.414555], [8.665862, 49.414558], [8.665863, 49.414562], [8.665864, 49.414566], [8.665865, 49.414569], [8.665867, 49.414573], [8.665868, 49.414577], [8.665869, 49.414581]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}, {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.682052, 49.407571], [8.682055, 49.407582], [8.682058, 49.407593], [8.682061, 49.407604], [8.682064, 49.407614], [8.682067, 49.407624], [8.68207, 49.407635], [8.682073, 49.407645], [8.682076, 49.407655], [8.682079, 49.407665], [8.682082, 49.407675], [8.682086, 49.407684], [8.682089, 49.407694], [8.682092, 49.407703], [8.682096, 49.407712], [8.682099, 49.407721], [8.682103, 49.40773], [8.682106, 49.407739], [8.68211, 49.407747], [8.682113, 49.407756], [8.682117, 49.407764], [8.682121, 49.407772], [8.682124, 49.407781], [8.682128, 49.407788], [8.682132, 49.407796], [8.682136, 49.407804], [8.68214, 49.407811], [8.682144, 49.407819], [8.682148, 49.407826], [8.682152, 49.407833], [8.682156, 49.40784], [8.68216, 49.407847], [8.682164, 49.407854], [8.682168, 49.40786], [8.682172, 49.407867], [8.682177, 49.407874], [8.682181, 49.40788], [8.682186, 49.407887], [8.682191, 49.407894], [8.682196, 49.4079], [8.682201, 49.407907], [8.682206, 49.407914], [8.682212, 49.407921], [8.682217, 49.407928], [8.682223, 49.407935], [8.682228, 49.407942], [8.682234, 49.407949], [8.68224, 49.407956], [8.682246, 49.407964], [8.682253, 49.407971], [8.682259, 49.407978], [8.682266, 49.407985], [8.682272, 49.407993], [8.682279, 49.408], [8.682286, 49.408007], [8.682293, 49.408015], [8.6823, 49.408022], [8.682308, 49.40803], [8.682315, 49.408037], [8.682323, 49.408045], [8.68233, 49.408053], [8.682338, 49.40806], [8.682346, 49.408068], [8.682354, 49.408076], [8.682362, 49.408084], [8.682371, 49.408091], [8.682379, 49.408099], [8.682388, 49.408107], [8.682396, 49.408115], [8.682405, 49.408122], [8.682414, 49.40813], [8.682423, 49.408138], [8.682432, 49.408145], [8.682441, 49.408153], [8.68245, 49.408161], [8.682459, 49.408168], [8.682468, 49.408176], [8.682478, 49.408183], [8.682487, 49.40819], [8.682497, 49.408198], [8.682507, 49.408205], [8.682516, 49.408213], [8.682526, 49.40822], [8.682536, 49.408227], [8.682546, 49.408234], [8.682556, 49.408242], [8.682567, 49.408249], [8.682577, 49.408256], [8.682587, 49.408263], [8.682598, 49.40827], [8.682608, 49.408277], [8.682619, 49.408284], [8.68263, 49.408291], [8.682641, 49.408298], [8.682652, 49.408305], [8.682663, 49.408312], [8.682674, 49.408319], [8.682685, 49.408325], [8.682697, 49.408332], [8.682708, 49.408339], [8.68272, 49.408346], [8.682732, 49.408352], [8.682745, 49.408359], [8.682757, 49.408365], [8.68277, 49.408372], [8.682783, 49.408378], [8.682797, 49.408384], [8.68281, 49.408391], [8.682824, 49.408397], [8.682838, 49.408403], [8.682853, 49.408409], [8.682867, 49.408415], [8.682882, 49.408421], [8.682897, 49.408427], [8.682912, 49.408433], [8.682928, 49.408439], [8.682943, 49.408445], [8.682959, 49.40845], [8.682976, 49.408456], [8.682992, 49.408462], [8.683009, 49.408467], [8.683026, 49.408473], [8.683043, 49.408478], [8.68306, 49.408484], [8.683078, 49.408489], [8.683096, 49.408494], [8.683114, 49.4085], [8.683132, 49.408505], [8.683151, 49.40851], [8.683169, 49.408515], [8.683189, 49.40852], [8.68321, 49.408525], [8.683232, 49.408531], [8.683254, 49.408536], [8.683278, 49.408542], [8.683302, 49.408547], [8.683328, 49.408553], [8.683354, 49.408559], [8.683381, 49.408564], [8.68341, 49.40857], [8.683439, 49.408576], [8.683469, 49.408582], [8.6835, 49.408588], [8.683532, 49.408595], [8.683565, 49.408601], [8.683599, 49.408607], [8.683634, 49.408614], [8.68367, 49.40862], [8.683707, 49.408627], [8.683744, 49.408633], [8.683783, 49.40864], [8.683823, 49.408647], [8.683863, 49.408654], [8.683905, 49.408661], [8.683947, 49.408668], [8.683991, 49.408675], [8.684035, 49.408682], [8.68408, 49.408689], [8.684127, 49.408697], [8.684174, 49.408704], [8.684222, 49.408712], [8.684271, 49.408719], [8.684319, 49.408727], [8.684366, 49.408734], [8.684411, 49.408741], [8.684455, 49.408748], [8.684498, 49.408755], [8.68454, 49.408762], [8.684581, 49.408769], [8.68462, 49.408775], [8.684658, 49.408782], [8.684695, 49.408788], [8.684731, 49.408794], [8.684765, 49.4088], [8.684798, 49.408806], [8.68483, 49.408812], [8.684861, 49.408817], [8.684891, 49.408823], [8.684919, 49.408828], [8.684946, 49.408833], [8.684972, 49.408838], [8.684997, 49.408843], [8.685021, 49.408848], [8.685043, 49.408853], [8.685064, 49.408857], [8.685084, 49.408861], [8.685103, 49.408866], [8.68512, 49.40887], [8.685136, 49.408874], [8.685151, 49.408878], [8.685165, 49.408881], [8.685178, 49.408885], [8.685189, 49.408888], [8.685199, 49.408892], [8.685209, 49.408895], [8.68522, 49.408898], [8.68523, 49.408901], [8.685241, 49.408904], [8.685252, 49.408907], [8.685263, 49.40891], [8.685274, 49.408913], [8.685286, 49.408916], [8.685297, 49.408919], [8.685309, 49.408922], [8.68532, 49.408925], [8.685332, 49.408927], [8.685345, 49.40893], [8.685357, 49.408932], [8.685369, 49.408935], [8.685382, 49.408937], [8.685394, 49.40894], [8.685407, 49.408942], [8.68542, 49.408944], [8.685434, 49.408947], [8.685447, 49.408949], [8.68546, 49.408951], [8.685474, 49.408953], [8.685488, 49.408955], [8.685502, 49.408957], [8.685516, 49.408959], [8.68553, 49.408961], [8.685544, 49.408963], [8.685559, 49.408964], [8.685574, 49.408966], [8.685589, 49.408968], [8.685603, 49.408969], [8.685619, 49.408971], [8.685634, 49.408972], [8.685649, 49.408974], [8.685665, 49.408975], [8.68568, 49.408976], [8.685696, 49.408977], [8.685712, 49.408978], [8.685727, 49.408979], [8.685743, 49.40898], [8.68576, 49.408981], [8.685776, 49.408982], [8.685792, 49.408983], [8.685809, 49.408983], [8.685825, 49.408984], [8.685842, 49.408984], [8.685859, 49.408985], [8.685875, 49.408985], [8.685892, 49.408985], [8.685909, 49.408985], [8.685927, 49.408985], [8.685944, 49.408985], [8.685961, 49.408985], [8.685979, 49.408985], [8.685997, 49.408985], [8.686014, 49.408985], [8.686032, 49.408984], [8.68605, 49.408984], [8.686068, 49.408983], [8.686087, 49.408983], [8.686105, 49.408982], [8.686123, 49.408981], [8.686142, 49.408981], [8.686162, 49.408979], [8.686184, 49.408978], [8.686208, 49.408976], [8.686234, 49.408974], [8.686262, 49.408972], [8.686291, 49.408969], [8.686322, 49.408966], [8.686355, 49.408962], [8.68639, 49.408958], [8.686427, 49.408954], [8.686465, 49.40895], [8.686506, 49.408945], [8.686548, 49.40894], [8.686592, 49.408934], [8.686637, 49.408929], [8.686685, 49.408922], [8.686734, 49.408916], [8.686785, 49.408909], [8.686838, 49.408902], [8.686893, 49.408895], [8.68695, 49.408887], [8.687008, 49.408879], [8.687069, 49.40887], [8.687131, 49.408861], [8.687194, 49.408852], [8.68726, 49.408843], [8.687328, 49.408833], [8.687397, 49.408823], [8.687468, 49.408813], [8.687541, 49.408802], [8.687616, 49.408791], [8.687692, 49.408779], [8.687767, 49.408768], [8.68784, 49.408757], [8.68791, 49.408746], [8.687979, 49.408736], [8.688046, 49.408726], [8.688111, 49.408715], [8.688174, 49.408706], [8.688235, 49.408696], [8.688295, 49.408687], [8.688352, 49.408678], [8.688407, 49.408669], [8.688461, 49.40866], [8.688512, 49.408652], [8.688562, 49.408643], [8.68861, 49.408635], [8.688655, 49.408628], [8.688699, 49.40862], [8.688741, 49.408613], [8.688781, 49.408606], [8.688819, 49.408599], [8.688855, 49.408592], [8.688889, 49.408586], [8.688922, 49.40858], [8.688952, 49.408574], [8.68898, 49.408568], [8.689007, 49.408563], [8.689032, 49.408558], [8.689054, 49.408553], [8.689075, 49.408548], [8.689094, 49.408543], [8.689111, 49.408539], [8.689125, 49.408535], [8.68914, 49.408531], [8.689155, 49.408527], [8.68917, 49.408522], [8.689185, 49.408518], [8.6892, 49.408514], [8.689215, 49.408509], [8.689231, 49.408505], [8.689246, 49.4085], [8.689261, 49.408495], [8.689276, 49.408491], [8.689291, 49.408486], [8.689306, 49.408481], [8.689321, 49.408476], [8.689337, 49.408471], [8.689352, 49.408466], [8.689367, 49.408461], [8.689382, 49.408456], [8.689398, 49.40845], [8.689413, 49.408445], [8.689428, 49.40844], [8.689443, 49.408434], [8.689459, 49.408429], [8.689474, 49.408423], [8.68949, 49.408418], [8.689505, 49.408412], [8.68952, 49.408406], [8.689536, 49.4084], [8.689551, 49.408394], [8.689567, 49.408388], [8.689582, 49.408382], [8.689598, 49.408376], [8.689613, 49.40837], [8.689628, 49.408364], [8.689643, 49.408358], [8.689658, 49.408352], [8.689672, 49.408346], [8.689686, 49.408341], [8.689699, 49.408335], [8.689712, 49.40833], [8.689725, 49.408324], [8.689737, 49.408319], [8.689749, 49.408314], [8.689761, 49.408309], [8.689772, 49.408304], [8.689783, 49.408299], [8.689794, 49.408294], [8.689804, 49.40829], [8.689814, 49.408285], [8.689824, 49.408281], [8.689833, 49.408277], [8.689842, 49.408273], [8.68985, 49.408269], [8.689858, 49.408265], [8.689866, 49.408261], [8.689874, 49.408257], [8.689881, 49.408253], [8.689888, 49.40825], [8.689894, 49.408246], [8.6899, 49.408243], [8.689906, 49.40824], [8.689911, 49.408237], [8.689916, 49.408234], [8.689921, 49.408231], [8.689925, 49.408228], [8.689929, 49.408225], [8.689934, 49.408222], [8.689938, 49.408219], [8.689942, 49.408216], [8.689946, 49.408213], [8.68995, 49.40821], [8.689954, 49.408207], [8.689958, 49.408204], [8.689962, 49.4082], [8.689966, 49.408197], [8.68997, 49.408193], [8.689973, 49.40819], [8.689977, 49.408186], [8.689981, 49.408183], [8.689985, 49.408179], [8.689988, 49.408175], [8.689992, 49.408171], [8.689995, 49.408167], [8.689999, 49.408163], [8.690002, 49.408159], [8.690006, 49.408155], [8.690009, 49.408151], [8.690012, 49.408147], [8.690015, 49.408143], [8.690019, 49.408138], [8.690022, 49.408134], [8.690025, 49.408129], [8.690028, 49.408125], [8.690031, 49.40812], [8.690034, 49.408116], [8.690037, 49.408111], [8.69004, 49.408106], [8.690043, 49.408101], [8.690045, 49.408096], [8.690048, 49.408091], [8.690051, 49.408085], [8.690053, 49.408079], [8.690055, 49.408073], [8.690057, 49.408067], [8.690059, 49.408061], [8.690061, 49.408054], [8.690063, 49.408048], [8.690065, 49.408041], [8.690067, 49.408034], [8.690068, 49.408027], [8.690069, 49.408019], [8.690071, 49.408011], [8.690072, 49.408004], [8.690073, 49.407996], [8.690074, 49.407987], [8.690075, 49.407979], [8.690076, 49.40797], [8.690076, 49.407961], [8.690077, 49.407952], [8.690077, 49.407943], [8.690078, 49.407934], [8.690078, 49.407924], [8.690078, 49.407915], [8.690078, 49.407905], [8.690078, 49.407895], [8.690078, 49.407884], [8.690078, 49.407874], [8.690077, 49.407863], [8.690077, 49.407852], [8.690076, 49.407841], [8.690075, 49.40783], [8.690075, 49.40782], [8.690074, 49.407809], [8.690073, 49.407798], [8.690072, 49.407787], [8.69007, 49.407777], [8.690069, 49.407766], [8.690068, 49.407755], [8.690066, 49.407745], [8.690064, 49.407734], [8.690063, 49.407724], [8.690061, 49.407713], [8.690059, 49.407703], [8.690057, 49.407692], [8.690054, 49.407682], [8.690052, 49.407671], [8.69005, 49.407661], [8.690047, 49.407651], [8.690045, 49.40764], [8.690042, 49.40763], [8.690039, 49.40762], [8.690036, 49.40761], [8.690033, 49.407599], [8.69003, 49.407589], [8.690027, 49.407579], [8.690023, 49.407569], [8.69002, 49.407559], [8.690016, 49.407549], [8.690013, 49.407539], [8.690009, 49.407529], [8.690005, 49.407519], [8.690001, 49.407509], [8.689997, 49.407498], [8.689992, 49.407488], [8.689987, 49.407477], [8.689982, 49.407465], [8.689977, 49.407454], [8.689971, 49.407442], [8.689965, 49.40743], [8.689959, 49.407417], [8.689953, 49.407405], [8.689946, 49.407392], [8.689939, 49.407379], [8.689932, 49.407365], [8.689924, 49.407351], [8.689917, 49.407337], [8.689909, 49.407323], [8.689901, 49.407309], [8.689892, 49.407294], [8.689884, 49.407279], [8.689875, 49.407263], [8.689866, 49.407248], [8.689856, 49.407232], [8.689847, 49.407216], [8.689837, 49.407199], [8.689827, 49.407182], [8.689816, 49.407165], [8.689806, 49.407148], [8.689795, 49.407131], [8.689784, 49.407113], [8.689772, 49.407095], [8.68976, 49.407076], [8.689749, 49.407058], [8.689737, 49.407039], [8.689724, 49.407021], [8.689712, 49.407002], [8.6897, 49.406984], [8.689687, 49.406965], [8.689675, 49.406947], [8.689662, 49.406929], [8.689649, 49.40691], [8.689636, 49.406892], [8.689623, 49.406874], [8.68961, 49.406856], [8.689597, 49.406838], [8.689584, 49.406819], [8.68957, 49.406801], [8.689556, 49.406783], [8.689543, 49.406766], [8.689529, 49.406748], [8.689515, 49.40673], [8.689501, 49.406712], [8.689487, 49.406694], [8.689473, 49.406676], [8.689458, 49.406659], [8.689444, 49.406641], [8.689429, 49.406624], [8.689414, 49.406606], [8.6894, 49.406589], [8.689385, 49.406571], [8.68937, 49.406554], [8.689354, 49.406536], [8.689339, 49.406519], [8.689324, 49.406502], [8.689308, 49.406484], [8.689293, 49.406467], [8.689277, 49.40645], [8.689262, 49.406433], [8.689247, 49.406416], [8.689231, 49.4064], [8.689216, 49.406383], [8.689201, 49.406367], [8.689186, 49.40635], [8.689171, 49.406334], [8.689156, 49.406318], [8.689141, 49.406302], [8.689126, 49.406286], [8.689111, 49.40627], [8.689096, 49.406254], [8.689082, 49.406238], [8.689067, 49.406223], [8.689052, 49.406207], [8.689038, 49.406192], [8.689023, 49.406177], [8.689009, 49.406162], [8.688994, 49.406146], [8.68898, 49.406132], [8.688965, 49.406117], [8.688951, 49.406102], [8.688937, 49.406087], [8.688922, 49.406073], [8.688908, 49.406058], [8.688894, 49.406044], [8.68888, 49.40603], [8.688866, 49.406016], [8.688852, 49.406002], [8.688838, 49.405988], [8.688824, 49.405974], [8.68881, 49.405961], [8.688797, 49.405948], [8.688783, 49.405935], [8.68877, 49.405922], [8.688756, 49.40591], [8.688743, 49.405897], [8.68873, 49.405885], [8.688717, 49.405873], [8.688703, 49.405862], [8.68869, 49.40585], [8.688678, 49.405839], [8.688665, 49.405828], [8.688652, 49.405818], [8.688639, 49.405807], [8.688627, 49.405797], [8.688614, 49.405787], [8.688602, 49.405777], [8.68859, 49.405768], [8.688578, 49.405758], [8.688565, 49.405749], [8.688553, 49.40574], [8.688541, 49.405732], [8.68853, 49.405723], [8.688518, 49.405715], [8.688506, 49.405707], [8.688495, 49.405699], [8.688483, 49.405692], [8.688472, 49.405685], [8.68846, 49.405678], [8.688449, 49.405671], [8.688438, 49.405664], [8.688427, 49.405658], [8.688415, 49.405651], [8.688403, 49.405644], [8.688391, 49.405638], [8.688379, 49.405631], [8.688366, 49.405624], [8.688353, 49.405618], [8.68834, 49.405611], [8.688327, 49.405605], [8.688313, 49.405598], [8.6883, 49.405591], [8.688286, 49.405585], [8.688271, 49.405578], [8.688257, 49.405571], [8.688242, 49.405564], [8.688227, 49.405558], [8.688212, 49.405551], [8.688197, 49.405544], [8.688181, 49.405538], [8.688165, 49.405531], [8.688149, 49.405524], [8.688133, 49.405517], [8.688116, 49.405511], [8.6881, 49.405504], [8.688083, 49.405497], [8.688065, 49.40549], [8.688048, 49.405484], [8.68803, 49.405477], [8.688012, 49.40547], [8.687994, 49.405463], [8.687975, 49.405456], [8.687957, 49.40545], [8.687938, 49.405443], [8.68792, 49.405436], [8.687902, 49.405429], [8.687885, 49.405422], [8.687867, 49.405415], [8.68785, 49.405408], [8.687833, 49.405401], [8.687817, 49.405394], [8.6878, 49.405387], [8.687784, 49.40538], [8.687769, 49.405372], [8.687753, 49.405365], [8.687738, 49.405358], [8.687723, 49.405351], [8.687708, 49.405343], [8.687694, 49.405336], [8.68768, 49.405328], [8.687666, 49.405321], [8.687652, 49.405313], [8.687639, 49.405306], [8.687626, 49.405298], [8.687613, 49.405291], [8.6876, 49.405283], [8.687588, 49.405276], [8.687576, 49.405268], [8.687564, 49.40526], [8.687552, 49.405252], [8.687541, 49.405245], [8.68753, 49.405237], [8.68752, 49.405229], [8.687509, 49.405221], [8.687499, 49.405213], [8.687489, 49.405205], [8.687478, 49.405198], [8.687468, 49.405191], [8.687457, 49.405185], [8.687446, 49.405178], [8.687435, 49.405172], [8.687424, 49.405167], [8.687412, 49.405162], [8.687401, 49.405157], [8.687389, 49.405152], [8.687378, 49.405148], [8.687366, 49.405144], [8.687354, 49.40514], [8.687342, 49.405137], [8.687329, 49.405134], [8.687317, 49.405132], [8.687304, 49.405129], [8.687292, 49.405127], [8.687279, 49.405126], [8.687266, 49.405125], [8.687253, 49.405124], [8.687239, 49.405123], [8.687226, 49.405123], [8.687213, 49.405123], [8.687199, 49.405123], [8.687185, 49.405124], [8.687171, 49.405125], [8.687157, 49.405127], [8.687143, 49.405129], [8.687128, 49.405131], [8.687114, 49.405133], [8.687099, 49.405136], [8.687084, 49.405139], [8.687068, 49.405141], [8.687051, 49.405144], [8.687034, 49.405146], [8.687016, 49.405148], [8.686997, 49.40515], [8.686978, 49.405152], [8.686958, 49.405154], [8.686937, 49.405156], [8.686916, 49.405157], [8.686894, 49.405159], [8.686871, 49.40516], [8.686848, 49.405162], [8.686824, 49.405163], [8.686799, 49.405164], [8.686774, 49.405165], [8.686748, 49.405166], [8.686721, 49.405166], [8.686694, 49.405167], [8.686666, 49.405168], [8.686637, 49.405168], [8.686608, 49.405168], [8.686578, 49.405168], [8.686547, 49.405168], [8.686516, 49.405168], [8.686484, 49.405168], [8.686451, 49.405168], [8.686418, 49.405167], [8.686384, 49.405167], [8.686349, 49.405166], [8.686314, 49.405165], [8.686277, 49.405165], [8.686242, 49.405164], [8.686207, 49.405163], [8.686172, 49.405162], [8.686137, 49.405162], [8.686103, 49.405162], [8.686069, 49.405161], [8.686035, 49.405161], [8.686002, 49.405161], [8.685969, 49.405161], [8.685937, 49.405161], [8.685905, 49.405161], [8.685873, 49.405161], [8.685842, 49.405161], [8.685811, 49.405162], [8.68578, 49.405162], [8.68575, 49.405163], [8.68572, 49.405163], [8.685691, 49.405164], [8.685662, 49.405165], [8.685633, 49.405166], [8.685604, 49.405166], [8.685576, 49.405168], [8.685548, 49.405169], [8.685521, 49.40517], [8.685494, 49.405171], [8.685467, 49.405173], [8.685441, 49.405174], [8.685415, 49.405176], [8.68539, 49.405177], [8.685365, 49.405179], [8.68534, 49.405181], [8.685315, 49.405183], [8.685291, 49.405185], [8.685267, 49.405187], [8.685243, 49.405189], [8.68522, 49.405191], [8.685196, 49.405194], [8.685173, 49.405196], [8.685151, 49.405198], [8.685128, 49.405201], [8.685106, 49.405204], [8.685083, 49.405206], [8.685062, 49.405209], [8.68504, 49.405212], [8.685018, 49.405215], [8.684997, 49.405217], [8.684976, 49.40522], [8.684956, 49.405224], [8.684935, 49.405227], [8.684915, 49.40523], [8.684895, 49.405233], [8.684875, 49.405236], [8.684856, 49.40524], [8.684836, 49.405243], [8.684817, 49.405247], [8.684798, 49.405251], [8.68478, 49.405254], [8.684761, 49.405258], [8.684743, 49.405262], [8.684725, 49.405266], [8.684708, 49.40527], [8.68469, 49.405274], [8.684673, 49.405278], [8.684656, 49.405282], [8.684639, 49.405286], [8.684621, 49.405291], [8.684604, 49.405296], [8.684586, 49.405301], [8.684568, 49.405306], [8.684549, 49.405311], [8.68453, 49.405316], [8.684512, 49.405322], [8.684492, 49.405327], [8.684473, 49.405333], [8.684453, 49.405339], [8.684434, 49.405346], [8.684413, 49.405352], [8.684393, 49.405358], [8.684373, 49.405365], [8.684352, 49.405372], [8.684331, 49.405379], [8.684309, 49.405386], [8.684288, 49.405394], [8.684266, 49.405401], [8.684244, 49.405409], [8.684222, 49.405417], [8.684199, 49.405425], [8.684176, 49.405433], [8.684153, 49.405442], [8.68413, 49.40545], [8.684107, 49.405459], [8.684083, 49.405468], [8.684059, 49.405477], [8.684035, 49.405486], [8.68401, 49.405496], [8.683986, 49.405505], [8.683961, 49.405515], [8.683937, 49.405524], [8.683914, 49.405534], [8.683891, 49.405543], [8.683868, 49.405552], [8.683845, 49.405561], [8.683823, 49.40557], [8.683801, 49.405579], [8.68378, 49.405588], [8.683759, 49.405597], [8.683738, 49.405606], [8.683718, 49.405614], [8.683698, 49.405623], [8.683678, 49.405631], [8.683659, 49.40564], [8.68364, 49.405648], [8.683622, 49.405656], [8.683604, 49.405664], [8.683586, 49.405673], [8.683568, 49.405681], [8.683551, 49.405688], [8.683535, 49.405696], [8.683518, 49.405704], [8.683502, 49.405712], [8.683487, 49.405719], [8.683472, 49.405727], [8.683457, 49.405734], [8.683442, 49.405742], [8.683428, 49.405749], [8.683414, 49.405756], [8.683401, 49.405763], [8.683388, 49.405771], [8.683375, 49.405778], [8.683362, 49.405785], [8.683349, 49.405792], [8.683337, 49.405799], [8.683324, 49.405806], [8.683311, 49.405813], [8.683299, 49.40582], [8.683286, 49.405828], [8.683274, 49.405835], [8.683262, 49.405842], [8.68325, 49.405849], [8.683237, 49.405857], [8.683225, 49.405864], [8.683213, 49.405871], [8.683202, 49.405878], [8.68319, 49.405886], [8.683178, 49.405893], [8.683166, 49.4059], [8.683155, 49.405908], [8.683143, 49.405915], [8.683132, 49.405923], [8.68312, 49.40593], [8.683109, 49.405938], [8.683098, 49.405945], [8.683087, 49.405952], [8.683076, 49.40596], [8.683065, 49.405967], [8.683054, 49.405975], [8.683043, 49.405983], [8.683032, 49.40599], [8.683021, 49.405998], [8.683011, 49.406005], [8.683, 49.406013], [8.682989, 49.406021], [8.682978, 49.406029], [8.682966, 49.406038], [8.682955, 49.406046], [8.682943, 49.406055], [8.682932, 49.406064], [8.68292, 49.406073], [8.682907, 49.406082], [8.682895, 49.406092], [8.682883, 49.406102], [8.68287, 49.406112], [8.682857, 49.406122], [8.682844, 49.406132], [8.682831, 49.406143], [8.682818, 49.406153], [8.682804, 49.406164], [8.682791, 49.406176], [8.682777, 49.406187], [8.682763, 49.406198], [8.682749, 49.40621], [8.682734, 49.406222], [8.68272, 49.406234], [8.682705, 49.406246], [8.68269, 49.406259], [8.682675, 49.406272], [8.68266, 49.406285], [8.682645, 49.406298], [8.682629, 49.406311], [8.682613, 49.406324], [8.682598, 49.406338], [8.682581, 49.406352], [8.682566, 49.406366], [8.68255, 49.40638], [8.682535, 49.406393], [8.68252, 49.406407], [8.682505, 49.406421], [8.682491, 49.406434], [8.682477, 49.406448], [8.682463, 49.406461], [8.682449, 49.406475], [8.682435, 49.406488], [8.682422, 49.406502], [8.682409, 49.406515], [8.682397, 49.406528], [8.682384, 49.406542], [8.682372, 49.406555], [8.68236, 49.406568], [8.682349, 49.406581], [8.682337, 49.406594], [8.682326, 49.406607], [8.682315, 49.40662], [8.682305, 49.406633], [8.682294, 49.406646], [8.682284, 49.406659], [8.682274, 49.406672], [8.682265, 49.406685], [8.682256, 49.406698], [8.682246, 49.40671], [8.682238, 49.406723], [8.682229, 49.406736], [8.682221, 49.406748], [8.682213, 49.406761], [8.682205, 49.406773], [8.682198, 49.406786], [8.68219, 49.406798], [8.682183, 49.406811], [8.682176, 49.406824], [8.682169, 49.406836], [8.682162, 49.406849], [8.682156, 49.406862], [8.682149, 49.406874], [8.682143, 49.406887], [8.682137, 49.4069], [8.682131, 49.406913], [8.682125, 49.406926], [8.68212, 49.406939], [8.682114, 49.406952], [8.682109, 49.406965], [8.682104, 49.406978], [8.682099, 49.406991], [8.682094, 49.407004], [8.68209, 49.407017], [8.682085, 49.40703], [8.682081, 49.407043], [8.682077, 49.407057], [8.682073, 49.40707], [8.682069, 49.407083], [8.682066, 49.407097], [8.682062, 49.40711], [8.682059, 49.407123], [8.682056, 49.407137], [8.682053, 49.40715], [8.68205, 49.407164], [8.682048, 49.407177], [8.682045, 49.407191], [8.682043, 49.407204], [8.682041, 49.407218], [8.682039, 49.407231], [8.682037, 49.407244], [8.682036, 49.407257], [8.682034, 49.40727], [8.682033, 49.407283], [8.682032, 49.407296], [8.682031, 49.407309], [8.68203, 49.407322], [8.68203, 49.407335], [8.682029, 49.407347], [8.682029, 49.40736], [8.682029, 49.407372], [8.682029, 49.407384], [8.682029, 49.407397], [8.682029, 49.407409], [8.68203, 49.407421], [8.682031, 49.407433], [8.682032, 49.407445], [8.682033, 49.407457], [8.682034, 49.407469], [8.682035, 49.40748], [8.682037, 49.407492], [8.682038, 49.407504], [8.68204, 49.407515], [8.682042, 49.407526], [8.682045, 49.407538], [8.682047, 49.407549], [8.682049, 49.40756], [8.682052, 49.407571]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}, {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.673368, 49.414666], [8.67337, 49.414672], [8.673373, 49.414677], [8.673376, 49.414683], [8.67338, 49.414688], [8.673383, 49.414693], [8.673386, 49.414699], [8.673389, 49.414704], [8.673392, 49.41471], [8.673396, 49.414715], [8.673399, 49.41472], [8.673402, 49.414726], [8.673406, 49.414731], [8.673409, 49.414736], [8.673413, 49.414742], [8.673416, 49.414747], [8.67342, 49.414752], [8.673423, 49.414757], [8.673427, 49.414763], [8.673431, 49.414768], [8.673434, 49.414773], [8.673438, 49.414778], [8.673442, 49.414784], [8.673446, 49.414789], [8.67345, 49.414794], [8.673454, 49.414799], [8.673458, 49.414804], [8.673462, 49.41481], [8.673466, 49.414815], [8.67347, 49.41482], [8.673474, 49.414825], [8.673479, 49.41483], [8.673483, 49.414835], [8.673487, 49.414841], [8.673492, 49.414846], [8.673496, 49.414851], [8.673501, 49.414856], [8.673506, 49.414862], [8.673511, 49.414867], [8.673517, 49.414872], [8.673522, 49.414878], [8.673528, 49.414883], [8.673534, 49.414889], [8.67354, 49.414895], [8.673546, 49.4149], [8.673552, 49.414906], [8.673559, 49.414912], [8.673565, 49.414918], [8.673572, 49.414923], [8.673579, 49.414929], [8.673586, 49.414935], [8.673594, 49.414941], [8.673601, 49.414947], [8.673609, 49.414954], [8.673617, 49.41496], [8.673625, 49.414966], [8.673633, 49.414972], [8.673641, 49.414979], [8.67365, 49.414985], [8.673658, 49.414991], [8.673667, 49.414998], [8.673676, 49.415004], [8.673685, 49.415011], [8.673695, 49.415017], [8.673704, 49.415024], [8.673714, 49.415031], [8.673723, 49.415037], [8.673733, 49.415044], [8.673742, 49.41505], [8.673751, 49.415056], [8.673759, 49.415062], [8.673768, 49.415068], [8.673776, 49.415073], [8.673784, 49.415079], [8.673792, 49.415084], [8.6738, 49.415089], [8.673807, 49.415094], [8.673815, 49.415099], [8.673822, 49.415104], [8.673829, 49.415108], [8.673836, 49.415112], [8.673842, 49.415117], [8.673848, 49.415121], [8.673855, 49.415124], [8.673861, 49.415128], [8.673866, 49.415132], [8.673872, 49.415135], [8.673877, 49.415138], [8.673882, 49.415141], [8.673887, 49.415144], [8.673892, 49.415147], [8.673897, 49.415149], [8.673901, 49.415152], [8.673905, 49.415154], [8.673909, 49.415156], [8.673913, 49.415158], [8.673917, 49.41516], [8.67392, 49.415161], [8.673924, 49.415163], [8.673929, 49.415165], [8.673934, 49.415167], [8.67394, 49.41517], [8.673946, 49.415172], [8.673953, 49.415175], [8.673961, 49.415178], [8.673969, 49.415181], [8.673978, 49.415184], [8.673987, 49.415188], [8.673997, 49.415192], [8.674007, 49.415195], [8.674019, 49.4152], [8.67403, 49.415204], [8.674043, 49.415208], [8.674056, 49.415213], [8.674069, 49.415218], [8.674083, 49.415223], [8.674098, 49.415228], [8.674113, 49.415234], [8.674129, 49.415239], [8.674146, 49.415245], [8.674163, 49.415251], [8.67418, 49.415257], [8.674199, 49.415264], [8.674218, 49.41527], [8.674237, 49.415277], [8.674257, 49.415284], [8.674278, 49.415291], [8.674299, 49.415299], [8.674321, 49.415306], [8.674343, 49.415314], [8.674366, 49.415322], [8.674388, 49.415329], [8.674411, 49.415337], [8.674433, 49.415344], [8.674455, 49.415351], [8.674478, 49.415358], [8.6745, 49.415366], [8.674523, 49.415372], [8.674545, 49.415379], [8.674568, 49.415386], [8.67459, 49.415393], [8.674613, 49.4154], [8.674635, 49.415406], [8.674657, 49.415413], [8.67468, 49.415419], [8.674702, 49.415425], [8.674725, 49.415431], [8.674747, 49.415437], [8.67477, 49.415443], [8.674792, 49.415449], [8.674815, 49.415455], [8.674837, 49.415461], [8.67486, 49.415466], [8.674882, 49.415472], [8.674904, 49.415477], [8.674927, 49.415482], [8.674949, 49.415488], [8.674972, 49.415493], [8.674994, 49.415498], [8.675017, 49.415503], [8.675039, 49.415508], [8.675062, 49.415512], [8.675084, 49.415517], [8.675106, 49.415522], [8.675127, 49.415526], [8.675148, 49.41553], [8.675168, 49.415534], [8.675188, 49.415538], [8.675208, 49.415542], [8.675227, 49.415546], [8.675246, 49.41555], [8.675265, 49.415553], [8.675283, 49.415557], [8.675301, 49.41556], [8.675318, 49.415563], [8.675335, 49.415566], [8.675352, 49.415569], [8.675368, 49.415572], [8.675384, 49.415575], [8.6754, 49.415578], [8.675415, 49.41558], [8.675429, 49.415583], [8.675444, 49.415585], [8.675457, 49.415587], [8.675471, 49.415589], [8.675484, 49.415591], [8.675497, 49.415593], [8.675509, 49.415594], [8.675521, 49.415596], [8.675533, 49.415597], [8.675544, 49.415599], [8.675555, 49.4156], [8.675565, 49.415601], [8.675575, 49.415602], [8.675585, 49.415603], [8.675595, 49.415604], [8.675605, 49.415604], [8.675615, 49.415604], [8.675625, 49.415605], [8.675634, 49.415605], [8.675644, 49.415605], [8.675654, 49.415605], [8.675664, 49.415605], [8.675673, 49.415604], [8.675683, 49.415604], [8.675692, 49.415603], [8.675702, 49.415602], [8.675712, 49.415601], [8.675721, 49.4156], [8.675731, 49.415599], [8.67574, 49.415597], [8.675749, 49.415596], [8.675759, 49.415594], [8.675768, 49.415592], [8.675778, 49.415591], [8.675787, 49.415588], [8.675796, 49.415586], [8.675805, 49.415584], [8.675815, 49.415581], [8.675824, 49.415579], [8.675833, 49.415576], [8.675842, 49.415573], [8.675851, 49.41557], [8.67586, 49.415567], [8.675869, 49.415564], [8.675878, 49.41556], [8.675887, 49.415557], [8.675895, 49.415553], [8.675904, 49.41555], [8.675912, 49.415546], [8.67592, 49.415542], [8.675928, 49.415538], [8.675936, 49.415535], [8.675944, 49.415531], [8.675951, 49.415527], [8.675958, 49.415523], [8.675965, 49.415519], [8.675972, 49.415514], [8.675979, 49.41551], [8.675985, 49.415506], [8.675992, 49.415502], [8.675998, 49.415497], [8.676004, 49.415493], [8.67601, 49.415488], [8.676016, 49.415484], [8.676021, 49.415479], [8.676027, 49.415474], [8.676032, 49.41547], [8.676037, 49.415465], [8.676042, 49.41546], [8.676046, 49.415455], [8.676051, 49.41545], [8.676055, 49.415445], [8.676059, 49.41544], [8.676063, 49.415435], [8.676067, 49.415429], [8.676071, 49.415424], [8.676074, 49.415419], [8.676078, 49.415414], [8.676081, 49.415408], [8.676085, 49.415403], [8.676088, 49.415398], [8.676092, 49.415393], [8.676096, 49.415388], [8.676099, 49.415383], [8.676103, 49.415378], [8.676107, 49.415374], [8.676111, 49.415369], [8.676114, 49.415364], [8.676118, 49.41536], [8.676122, 49.415355], [8.676126, 49.415351], [8.67613, 49.415346], [8.676134, 49.415342], [8.676138, 49.415338], [8.676142, 49.415333], [8.676146, 49.415329], [8.67615, 49.415325], [8.676154, 49.415321], [8.676158, 49.415317], [8.676163, 49.415313], [8.676167, 49.41531], [8.676171, 49.415306], [8.676175, 49.415302], [8.67618, 49.415299], [8.676184, 49.415295], [8.676188, 49.415291], [8.676193, 49.415288], [8.676197, 49.415285], [8.676202, 49.415281], [8.676207, 49.415278], [8.676212, 49.415275], [8.676217, 49.415271], [8.676223, 49.415267], [8.67623, 49.415264], [8.676236, 49.41526], [8.676243, 49.415256], [8.676251, 49.415253], [8.676259, 49.415249], [8.676267, 49.415245], [8.676275, 49.415241], [8.676284, 49.415237], [8.676294, 49.415233], [8.676303, 49.415229], [8.676313, 49.415225], [8.676324, 49.41522], [8.676335, 49.415216], [8.676346, 49.415212], [8.676357, 49.415207], [8.676369, 49.415203], [8.676382, 49.415198], [8.676394, 49.415193], [8.676407, 49.415189], [8.676421, 49.415184], [8.676434, 49.415179], [8.676449, 49.415174], [8.676463, 49.415169], [8.676478, 49.415164], [8.676493, 49.415159], [8.676509, 49.415154], [8.676525, 49.415149], [8.676541, 49.415144], [8.676557, 49.415139], [8.676574, 49.415133], [8.67659, 49.415128], [8.676606, 49.415123], [8.676622, 49.415117], [8.676637, 49.415112], [8.676653, 49.415107], [8.676668, 49.415101], [8.676684, 49.415096], [8.676699, 49.41509], [8.676715, 49.415085], [8.67673, 49.415079], [8.676745, 49.415074], [8.67676, 49.415068], [8.676775, 49.415062], [8.676789, 49.415057], [8.676804, 49.415051], [8.676818, 49.415045], [8.676833, 49.41504], [8.676847, 49.415034], [8.676861, 49.415028], [8.676875, 49.415022], [8.67689, 49.415016], [8.676903, 49.41501], [8.676917, 49.415005], [8.676931, 49.414999], [8.676945, 49.414993], [8.676958, 49.414987], [8.676971, 49.414981], [8.676985, 49.414975], [8.676998, 49.414969], [8.677011, 49.414962], [8.677024, 49.414956], [8.677036, 49.414951], [8.677049, 49.414945], [8.677061, 49.414939], [8.677073, 49.414933], [8.677084, 49.414928], [8.677095, 49.414922], [8.677107, 49.414917], [8.677117, 49.414911], [8.677128, 49.414906], [8.677138, 49.414901], [8.677148, 49.414896], [8.677158, 49.414891], [8.677167, 49.414886], [8.677177, 49.414881], [8.677185, 49.414876], [8.677194, 49.414871], [8.677203, 49.414866], [8.677211, 49.414862], [8.677219, 49.414857], [8.677226, 49.414853], [8.677234, 49.414849], [8.677241, 49.414844], [8.677248, 49.41484], [8.677255, 49.414836], [8.677261, 49.414832], [8.677267, 49.414828], [8.677273, 49.414824], [8.677279, 49.414821], [8.677284, 49.414817], [8.677289, 49.414813], [8.677294, 49.41481], [8.677299, 49.414806], [8.677303, 49.414803], [8.677308, 49.414799], [8.677313, 49.414796], [8.677317, 49.414792], [8.677322, 49.414789], [8.677326, 49.414785], [8.67733, 49.414782], [8.677335, 49.414778], [8.677339, 49.414775], [8.677343, 49.414772], [8.677347, 49.414768], [8.677351, 49.414765], [8.677355, 49.414761], [8.677359, 49.414758], [8.677363, 49.414755], [8.677367, 49.414751], [8.677371, 49.414748], [8.677374, 49.414745], [8.677378, 49.414741], [8.677382, 49.414738], [8.677385, 49.414735], [8.677389, 49.414731], [8.677392, 49.414728], [8.677395, 49.414725], [8.677399, 49.414722], [8.677402, 49.414718], [8.677405, 49.414715], [8.677408, 49.414712], [8.677411, 49.414709], [8.677414, 49.414706], [8.677417, 49.414702], [8.67742, 49.414699], [8.677423, 49.414696], [8.677425, 49.414693], [8.677428, 49.41469], [8.677431, 49.414686], [8.677433, 49.414683], [8.677436, 49.41468], [8.677439, 49.414677], [8.677441, 49.414673], [8.677443, 49.41467], [8.677446, 49.414667], [8.677448, 49.414663], [8.677451, 49.41466], [8.677453, 49.414657], [8.677455, 49.414653], [8.677457, 49.41465], [8.677459, 49.414647], [8.677461, 49.414643], [8.677463, 49.41464], [8.677465, 49.414637], [8.677467, 49.414633], [8.677469, 49.41463], [8.677471, 49.414626], [8.677473, 49.414623], [8.677475, 49.41462], [8.677476, 49.414616], [8.677478, 49.414613], [8.67748, 49.414609], [8.677481, 49.414606], [8.677483, 49.414602], [8.677484, 49.414599], [8.677486, 49.414595], [8.677487, 49.414592], [8.677488, 49.414588], [8.67749, 49.414585], [8.677491, 49.414581], [8.677492, 49.414577], [8.677493, 49.414574], [8.677495, 49.41457], [8.677496, 49.414567], [8.677497, 49.414563], [8.677498, 49.414559], [8.677499, 49.414555], [8.6775, 49.414552], [8.6775, 49.414548], [8.677501, 49.414544], [8.677502, 49.41454], [8.677503, 49.414537], [8.677503, 49.414533], [8.677504, 49.414529], [8.677505, 49.414525], [8.677505, 49.414521], [8.677506, 49.414517], [8.677506, 49.414513], [8.677507, 49.414509], [8.677507, 49.414505], [8.677507, 49.414501], [8.677508, 49.414497], [8.677508, 49.414493], [8.677508, 49.414489], [8.677508, 49.414485], [8.677508, 49.414481], [8.677508, 49.414477], [8.677509, 49.414473], [8.677509, 49.414469], [8.677508, 49.414465], [8.677508, 49.414461], [8.677508, 49.414457], [8.677508, 49.414453], [8.677508, 49.414449], [8.677508, 49.414445], [8.677508, 49.414441], [8.677507, 49.414437], [8.677507, 49.414433], [8.677507, 49.414429], [8.677506, 49.414425], [8.677506, 49.414421], [8.677505, 49.414418], [8.677505, 49.414414], [8.677504, 49.41441], [8.677504, 49.414406], [8.677503, 49.414403], [8.677503, 49.414399], [8.677502, 49.414395], [8.677501, 49.414392], [8.677501, 49.414388], [8.6775, 49.414384], [8.677499, 49.414381], [8.677498, 49.414377], [8.677497, 49.414374], [8.677496, 49.41437], [8.677496, 49.414367], [8.677495, 49.414363], [8.677494, 49.41436], [8.677493, 49.414356], [8.677491, 49.414353], [8.67749, 49.414349], [8.677489, 49.414346], [8.677488, 49.414343], [8.677487, 49.414339], [8.677486, 49.414336], [8.677484, 49.414332], [8.677483, 49.414329], [8.677481, 49.414326], [8.67748, 49.414322], [8.677479, 49.414319], [8.677477, 49.414315], [8.677476, 49.414312], [8.677474, 49.414309], [8.677472, 49.414305], [8.677471, 49.414302], [8.677469, 49.414299], [8.677467, 49.414295], [8.677465, 49.414292], [8.677463, 49.414288], [8.677462, 49.414285], [8.67746, 49.414282], [8.677458, 49.414278], [8.677456, 49.414275], [8.677454, 49.414272], [8.677452, 49.414268], [8.677449, 49.414265], [8.677447, 49.414262], [8.677445, 49.414258], [8.677443, 49.414255], [8.677441, 49.414252], [8.677438, 49.414248], [8.677436, 49.414245], [8.677433, 49.414241], [8.677431, 49.414238], [8.677429, 49.414235], [8.677426, 49.414231], [8.677423, 49.414228], [8.677421, 49.414225], [8.677418, 49.414221], [8.677416, 49.414218], [8.677413, 49.414214], [8.67741, 49.414211], [8.677408, 49.414208], [8.677405, 49.414204], [8.677402, 49.414201], [8.677399, 49.414197], [8.677397, 49.414194], [8.677394, 49.414191], [8.677391, 49.414187], [8.677388, 49.414184], [8.677385, 49.41418], [8.677382, 49.414177], [8.677379, 49.414173], [8.677376, 49.41417], [8.677373, 49.414166], [8.67737, 49.414163], [8.677367, 49.414159], [8.677363, 49.414156], [8.67736, 49.414152], [8.677357, 49.414149], [8.677354, 49.414145], [8.67735, 49.414142], [8.677347, 49.414138], [8.677344, 49.414135], [8.67734, 49.414131], [8.677337, 49.414128], [8.677333, 49.414124], [8.677329, 49.41412], [8.677325, 49.414117], [8.677321, 49.414113], [8.677317, 49.414109], [8.677313, 49.414105], [8.677308, 49.414102], [8.677304, 49.414098], [8.677299, 49.414094], [8.677294, 49.41409], [8.677289, 49.414086], [8.677284, 49.414082], [8.677279, 49.414078], [8.677274, 49.414074], [8.677268, 49.41407], [8.677263, 49.414066], [8.677257, 49.414062], [8.677251, 49.414058], [8.677245, 49.414054], [8.677239, 49.414049], [8.677233, 49.414045], [8.677227, 49.414041], [8.67722, 49.414037], [8.677214, 49.414032], [8.677207, 49.414028], [8.6772, 49.414024], [8.677193, 49.414019], [8.677186, 49.414015], [8.677179, 49.41401], [8.677172, 49.414006], [8.677164, 49.414001], [8.677157, 49.413997], [8.677149, 49.413993], [8.677142, 49.413988], [8.677134, 49.413984], [8.677126, 49.41398], [8.677118, 49.413976], [8.67711, 49.413972], [8.677102, 49.413968], [8.677094, 49.413964], [8.677086, 49.41396], [8.677077, 49.413956], [8.677069, 49.413952], [8.67706, 49.413948], [8.677052, 49.413944], [8.677043, 49.413941], [8.677034, 49.413937], [8.677025, 49.413934], [8.677016, 49.41393], [8.677007, 49.413927], [8.676998, 49.413923], [8.676989, 49.41392], [8.676979, 49.413917], [8.67697, 49.413913], [8.67696, 49.41391], [8.676951, 49.413907], [8.676941, 49.413904], [8.676931, 49.413901], [8.676921, 49.413898], [8.676911, 49.413895], [8.676901, 49.413892], [8.676891, 49.413889], [8.676881, 49.413886], [8.676871, 49.413884], [8.67686, 49.413881], [8.67685, 49.413878], [8.67684, 49.413876], [8.67683, 49.413873], [8.67682, 49.413871], [8.67681, 49.413868], [8.6768, 49.413866], [8.67679, 49.413863], [8.67678, 49.413861], [8.67677, 49.413859], [8.67676, 49.413857], [8.67675, 49.413854], [8.67674, 49.413852], [8.67673, 49.41385], [8.67672, 49.413848], [8.67671, 49.413846], [8.6767, 49.413844], [8.67669, 49.413842], [8.676681, 49.413841], [8.676671, 49.413839], [8.676661, 49.413837], [8.676651, 49.413835], [8.676641, 49.413834], [8.676632, 49.413832], [8.676622, 49.413831], [8.676612, 49.413829], [8.676602, 49.413828], [8.676593, 49.413826], [8.676583, 49.413825], [8.676573, 49.413824], [8.676563, 49.413823], [8.676554, 49.413821], [8.676544, 49.41382], [8.676534, 49.413819], [8.676524, 49.413818], [8.676514, 49.413817], [8.676504, 49.413816], [8.676494, 49.413815], [8.676484, 49.413814], [8.676474, 49.413813], [8.676464, 49.413812], [8.676454, 49.413811], [8.676444, 49.41381], [8.676434, 49.413809], [8.676424, 49.413808], [8.676413, 49.413807], [8.676403, 49.413807], [8.676393, 49.413806], [8.676382, 49.413805], [8.676372, 49.413804], [8.676362, 49.413804], [8.676351, 49.413803], [8.676341, 49.413802], [8.67633, 49.413802], [8.67632, 49.413801], [8.676309, 49.413801], [8.676298, 49.4138], [8.676288, 49.4138], [8.676277, 49.413799], [8.676266, 49.413799], [8.676255, 49.413799], [8.676245, 49.413798], [8.676234, 49.413798], [8.676223, 49.413798], [8.676212, 49.413797], [8.676201, 49.413797], [8.67619, 49.413797], [8.676179, 49.413797], [8.676168, 49.413797], [8.676157, 49.413797], [8.676146, 49.413797], [8.676135, 49.413797], [8.676124, 49.413797], [8.676113, 49.413797], [8.676102, 49.413797], [8.676091, 49.413797], [8.67608, 49.413797], [8.676069, 49.413797], [8.676058, 49.413797], [8.676046, 49.413797], [8.676035, 49.413798], [8.676024, 49.413798], [8.676013, 49.413798], [8.676002, 49.413799], [8.67599, 49.413799], [8.675979, 49.413799], [8.675968, 49.4138], [8.675956, 49.4138], [8.675945, 49.413801], [8.675934, 49.413801], [8.675922, 49.413802], [8.675911, 49.413803], [8.675899, 49.413803], [8.675888, 49.413804], [8.675876, 49.413805], [8.675864, 49.413805], [8.675851, 49.413806], [8.675838, 49.413807], [8.675825, 49.413808], [8.675812, 49.413809], [8.675798, 49.41381], [8.675783, 49.413812], [8.675769, 49.413813], [8.675754, 49.413814], [8.675738, 49.413816], [8.675723, 49.413817], [8.675707, 49.413819], [8.67569, 49.41382], [8.675673, 49.413822], [8.675656, 49.413824], [8.675639, 49.413826], [8.675621, 49.413828], [8.675603, 49.41383], [8.675584, 49.413832], [8.675565, 49.413834], [8.675546, 49.413836], [8.675526, 49.413838], [8.675506, 49.413841], [8.675486, 49.413843], [8.675465, 49.413846], [8.675444, 49.413848], [8.675423, 49.413851], [8.675401, 49.413853], [8.675379, 49.413856], [8.675357, 49.413859], [8.675334, 49.413862], [8.675311, 49.413865], [8.675288, 49.413868], [8.675265, 49.413871], [8.675242, 49.413874], [8.675219, 49.413878], [8.675196, 49.413881], [8.675173, 49.413884], [8.675149, 49.413888], [8.675126, 49.413891], [8.675102, 49.413895], [8.675078, 49.413898], [8.675055, 49.413902], [8.675031, 49.413906], [8.675007, 49.41391], [8.674983, 49.413914], [8.674959, 49.413918], [8.674935, 49.413922], [8.674911, 49.413926], [8.674887, 49.41393], [8.674862, 49.413935], [8.674838, 49.413939], [8.674814, 49.413943], [8.674789, 49.413948], [8.674765, 49.413953], [8.67474, 49.413957], [8.674715, 49.413962], [8.67469, 49.413967], [8.674665, 49.413971], [8.67464, 49.413976], [8.674615, 49.413981], [8.67459, 49.413986], [8.674565, 49.413992], [8.67454, 49.413997], [8.674516, 49.414002], [8.674493, 49.414006], [8.674469, 49.414011], [8.674447, 49.414016], [8.674425, 49.41402], [8.674404, 49.414025], [8.674383, 49.414029], [8.674362, 49.414034], [8.674343, 49.414038], [8.674324, 49.414042], [8.674305, 49.414046], [8.674287, 49.41405], [8.674269, 49.414054], [8.674252, 49.414058], [8.674236, 49.414061], [8.67422, 49.414065], [8.674204, 49.414068], [8.674189, 49.414072], [8.674175, 49.414075], [8.674161, 49.414078], [8.674148, 49.414081], [8.674136, 49.414084], [8.674123, 49.414087], [8.674112, 49.41409], [8.674101, 49.414093], [8.67409, 49.414096], [8.67408, 49.414098], [8.674071, 49.414101], [8.674062, 49.414103], [8.674054, 49.414105], [8.674046, 49.414108], [8.674038, 49.41411], [8.67403, 49.414112], [8.674022, 49.414115], [8.674013, 49.414118], [8.674004, 49.414121], [8.673995, 49.414123], [8.673986, 49.414127], [8.673976, 49.41413], [8.673967, 49.414133], [8.673957, 49.414136], [8.673947, 49.41414], [8.673937, 49.414144], [8.673926, 49.414147], [8.673915, 49.414151], [8.673904, 49.414155], [8.673893, 49.41416], [8.673882, 49.414164], [8.67387, 49.414168], [8.673859, 49.414173], [8.673847, 49.414177], [8.673834, 49.414182], [8.673822, 49.414187], [8.673809, 49.414192], [8.673797, 49.414197], [8.673784, 49.414202], [8.67377, 49.414208], [8.673757, 49.414213], [8.673743, 49.414219], [8.673729, 49.414225], [8.673715, 49.41423], [8.673701, 49.414236], [8.673686, 49.414243], [8.673672, 49.414249], [8.673658, 49.414254], [8.673645, 49.41426], [8.673631, 49.414266], [8.673619, 49.414272], [8.673606, 49.414277], [8.673594, 49.414283], [8.673582, 49.414288], [8.67357, 49.414294], [8.673559, 49.414299], [8.673548, 49.414304], [8.673538, 49.414309], [8.673528, 49.414314], [8.673518, 49.414319], [8.673508, 49.414324], [8.673499, 49.414329], [8.67349, 49.414334], [8.673482, 49.414339], [8.673473, 49.414343], [8.673466, 49.414348], [8.673458, 49.414352], [8.673451, 49.414356], [8.673444, 49.414361], [8.673437, 49.414365], [8.673431, 49.414369], [8.673425, 49.414373], [8.67342, 49.414377], [8.673415, 49.414381], [8.67341, 49.414384], [8.673405, 49.414388], [8.673401, 49.414392], [8.673397, 49.414395], [8.673393, 49.414399], [8.67339, 49.414402], [8.673386, 49.414406], [8.673383, 49.41441], [8.673379, 49.414413], [8.673376, 49.414417], [8.673373, 49.414421], [8.67337, 49.414424], [8.673367, 49.414428], [8.673364, 49.414432], [8.673361, 49.414435], [8.673359, 49.414439], [8.673356, 49.414443], [8.673354, 49.414447], [8.673352, 49.41445], [8.67335, 49.414454], [8.673347, 49.414458], [8.673346, 49.414462], [8.673344, 49.414466], [8.673342, 49.41447], [8.67334, 49.414474], [8.673339, 49.414478], [8.673337, 49.414482], [8.673336, 49.414486], [8.673335, 49.41449], [8.673334, 49.414494], [8.673333, 49.414498], [8.673332, 49.414502], [8.673331, 49.414506], [8.67333, 49.41451], [8.67333, 49.414514], [8.673329, 49.414518], [8.673329, 49.414522], [8.673329, 49.414526], [8.673328, 49.414531], [8.673328, 49.414535], [8.673329, 49.414539], [8.673329, 49.414544], [8.673329, 49.414548], [8.673329, 49.414553], [8.67333, 49.414557], [8.67333, 49.414562], [8.673331, 49.414566], [8.673332, 49.414571], [8.673333, 49.414575], [8.673334, 49.41458], [8.673335, 49.414585], [8.673336, 49.41459], [8.673338, 49.414594], [8.673339, 49.414599], [8.673341, 49.414604], [8.673342, 49.414609], [8.673344, 49.414614], [8.673346, 49.414619], [8.673348, 49.414624], [8.67335, 49.414629], [8.673352, 49.414635], [8.673354, 49.41464], [8.673357, 49.414645], [8.673359, 49.41465], [8.673362, 49.414656], [8.673365, 49.414661], [8.673368, 49.414666]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}, {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.667025, 49.40937], [8.667025, 49.40939], [8.667025, 49.40941], [8.667025, 49.40943], [8.667025, 49.40945], [8.667025, 49.40947], [8.667025, 49.40949], [8.667026, 49.40951], [8.667026, 49.409529], [8.667026, 49.409549], [8.667026, 49.409568], [8.667027, 49.409588], [8.667027, 49.409607], [8.667027, 49.409627], [8.667028, 49.409646], [8.667028, 49.409665], [8.667029, 49.409684], [8.667029, 49.409703], [8.66703, 49.409722], [8.66703, 49.409741], [8.667031, 49.40976], [8.667031, 49.409778], [8.667032, 49.409797], [8.667033, 49.409816], [8.667033, 49.409834], [8.667034, 49.409853], [8.667035, 49.409871], [8.667036, 49.409889], [8.667036, 49.409907], [8.667037, 49.409926], [8.667038, 49.409944], [8.667039, 49.409962], [8.66704, 49.40998], [8.667041, 49.409997], [8.667042, 49.410015], [8.667043, 49.410033], [8.667044, 49.410051], [8.667045, 49.410069], [8.667045, 49.410086], [8.667046, 49.410104], [8.667047, 49.410122], [8.667048, 49.41014], [8.667048, 49.410157], [8.667049, 49.410175], [8.66705, 49.410193], [8.66705, 49.410211], [8.667051, 49.410228], [8.667051, 49.410246], [8.667052, 49.410264], [8.667052, 49.410281], [8.667053, 49.410299], [8.667053, 49.410317], [8.667054, 49.410334], [8.667054, 49.410352], [8.667054, 49.410369], [8.667055, 49.410387], [8.667055, 49.410405], [8.667055, 49.410422], [8.667055, 49.41044], [8.667056, 49.410457], [8.667056, 49.410475], [8.667056, 49.410492], [8.667056, 49.41051], [8.667056, 49.410527], [8.667056, 49.410545], [8.667056, 49.410562], [8.667056, 49.410579], [8.667056, 49.410596], [8.667056, 49.410612], [8.667056, 49.410628], [8.667056, 49.410643], [8.667056, 49.410658], [8.667056, 49.410673], [8.667055, 49.410687], [8.667055, 49.4107], [8.667055, 49.410713], [8.667055, 49.410726], [8.667055, 49.410738], [8.667055, 49.41075], [8.667054, 49.410762], [8.667054, 49.410773], [8.667054, 49.410784], [8.667054, 49.410794], [8.667053, 49.410804], [8.667053, 49.410813], [8.667053, 49.410822], [8.667053, 49.41083], [8.667052, 49.410838], [8.667052, 49.410846], [8.667052, 49.410853], [8.667051, 49.41086], [8.667051, 49.410866], [8.66705, 49.410872], [8.66705, 49.410878], [8.66705, 49.410883], [8.667049, 49.410887], [8.667049, 49.410892], [8.667048, 49.410895], [8.667048, 49.410899], [8.667047, 49.410903], [8.667047, 49.410907], [8.667047, 49.41091], [8.667046, 49.410914], [8.667046, 49.410918], [8.667046, 49.410922], [8.667046, 49.410925], [8.667045, 49.410929], [8.667045, 49.410933], [8.667045, 49.410936], [8.667045, 49.41094], [8.667045, 49.410944], [8.667045, 49.410947], [8.667045, 49.410951], [8.667045, 49.410955], [8.667045, 49.410958], [8.667045, 49.410962], [8.667045, 49.410966], [8.667045, 49.410969], [8.667045, 49.410973], [8.667046, 49.410976], [8.667046, 49.41098], [8.667046, 49.410984], [8.667046, 49.410987], [8.667047, 49.410991], [8.667047, 49.410994], [8.667047, 49.410998], [8.667048, 49.411001], [8.667048, 49.411005], [8.667049, 49.411008], [8.667049, 49.411012], [8.66705, 49.411015], [8.66705, 49.411018], [8.667051, 49.411022], [8.667051, 49.411025], [8.667052, 49.411028], [8.667052, 49.411031], [8.667053, 49.411034], [8.667053, 49.411037], [8.667054, 49.411039], [8.667054, 49.411042], [8.667055, 49.411044], [8.667055, 49.411047], [8.667056, 49.411049], [8.667056, 49.411051], [8.667057, 49.411054], [8.667057, 49.411056], [8.667058, 49.411058], [8.667058, 49.41106], [8.667059, 49.411061], [8.667059, 49.411063], [8.66706, 49.411065], [8.66706, 49.411066], [8.66706, 49.411068], [8.667061, 49.411069], [8.667061, 49.41107], [8.667062, 49.411072], [8.667062, 49.411073], [8.667063, 49.411074], [8.667063, 49.411075], [8.667064, 49.411075], [8.667064, 49.411076], [8.667065, 49.411077], [8.667065, 49.411078], [8.667066, 49.411078], [8.667067, 49.411079], [8.667069, 49.41108], [8.66707, 49.411081], [8.667072, 49.411082], [8.667074, 49.411083], [8.667077, 49.411084], [8.667079, 49.411085], [8.667082, 49.411086], [8.667085, 49.411087], [8.667088, 49.411089], [8.667091, 49.41109], [8.667095, 49.411091], [8.667099, 49.411093], [8.667103, 49.411094], [8.667107, 49.411096], [8.667112, 49.411097], [8.667116, 49.411099], [8.667121, 49.411101], [8.667126, 49.411103], [8.667132, 49.411104], [8.667138, 49.411106], [8.667143, 49.411108], [8.667149, 49.41111], [8.667156, 49.411112], [8.667162, 49.411114], [8.667169, 49.411116], [8.667176, 49.411118], [8.667183, 49.411121], [8.667191, 49.411123], [8.667198, 49.411125], [8.667206, 49.411127], [8.667213, 49.41113], [8.667221, 49.411132], [8.667228, 49.411134], [8.667235, 49.411136], [8.667242, 49.411138], [8.667249, 49.41114], [8.667255, 49.411142], [8.667262, 49.411143], [8.667269, 49.411145], [8.667275, 49.411147], [8.667281, 49.411149], [8.667287, 49.41115], [8.667293, 49.411152], [8.667299, 49.411153], [8.667305, 49.411155], [8.667311, 49.411156], [8.667316, 49.411157], [8.667322, 49.411159], [8.667327, 49.41116], [8.667332, 49.411161], [8.667338, 49.411162], [8.667343, 49.411163], [8.667348, 49.411164], [8.667352, 49.411165], [8.667357, 49.411166], [8.667361, 49.411167], [8.667366, 49.411167], [8.66737, 49.411168], [8.667374, 49.411169], [8.667379, 49.411169], [8.667382, 49.41117], [8.667387, 49.41117], [8.667392, 49.411171], [8.667397, 49.411171], [8.667403, 49.411172], [8.667409, 49.411172], [8.667415, 49.411173], [8.667422, 49.411173], [8.667429, 49.411174], [8.667437, 49.411174], [8.667445, 49.411175], [8.667454, 49.411175], [8.667463, 49.411176], [8.667473, 49.411176], [8.667483, 49.411177], [8.667493, 49.411177], [8.667504, 49.411177], [8.667515, 49.411178], [8.667526, 49.411178], [8.667538, 49.411179], [8.667551, 49.411179], [8.667564, 49.41118], [8.667577, 49.41118], [8.667591, 49.41118], [8.667605, 49.411181], [8.667619, 49.411181], [8.667634, 49.411182], [8.66765, 49.411182], [8.667666, 49.411182], [8.667682, 49.411183], [8.667699, 49.411183], [8.667716, 49.411183], [8.667733, 49.411184], [8.667751, 49.411184], [8.667769, 49.411185], [8.667788, 49.411185], [8.667807, 49.411186], [8.667827, 49.411186], [8.667846, 49.411187], [8.667867, 49.411187], [8.667887, 49.411188], [8.667908, 49.411189], [8.66793, 49.41119], [8.667951, 49.411191], [8.667974, 49.411192], [8.667996, 49.411193], [8.668019, 49.411194], [8.668042, 49.411195], [8.668066, 49.411196], [8.66809, 49.411197], [8.668114, 49.411198], [8.668139, 49.4112], [8.668164, 49.411201], [8.66819, 49.411202], [8.668216, 49.411204], [8.668242, 49.411205], [8.668269, 49.411207], [8.668296, 49.411208], [8.668323, 49.41121], [8.668351, 49.411212], [8.66838, 49.411214], [8.668408, 49.411215], [8.668437, 49.411217], [8.668467, 49.411219], [8.668496, 49.411221], [8.668526, 49.411223], [8.668555, 49.411225], [8.668584, 49.411226], [8.668613, 49.411228], [8.668641, 49.41123], [8.668669, 49.411231], [8.668697, 49.411233], [8.668724, 49.411234], [8.668752, 49.411236], [8.668779, 49.411237], [8.668805, 49.411238], [8.668832, 49.411239], [8.668858, 49.411241], [8.668884, 49.411242], [8.668909, 49.411243], [8.668934, 49.411244], [8.668959, 49.411245], [8.668984, 49.411245], [8.669008, 49.411246], [8.669033, 49.411247], [8.669056, 49.411248], [8.66908, 49.411248], [8.669103, 49.411249], [8.669126, 49.411249], [8.669149, 49.41125], [8.669171, 49.41125], [8.669193, 49.41125], [8.669215, 49.411251], [8.669237, 49.411251], [8.669258, 49.411251], [8.669279, 49.411251], [8.6693, 49.411251], [8.66932, 49.411251], [8.669341, 49.411251], [8.669361, 49.411251], [8.66938, 49.411251], [8.6694, 49.411251], [8.669419, 49.41125], [8.669438, 49.41125], [8.669457, 49.41125], [8.669475, 49.41125], [8.669494, 49.411249], [8.669512, 49.411249], [8.669529, 49.411249], [8.669547, 49.411248], [8.669564, 49.411248], [8.669581, 49.411247], [8.669598, 49.411247], [8.669615, 49.411246], [8.669631, 49.411246], [8.669647, 49.411245], [8.669663, 49.411245], [8.669679, 49.411244], [8.669694, 49.411243], [8.669709, 49.411243], [8.669724, 49.411242], [8.669738, 49.411241], [8.669753, 49.41124], [8.669767, 49.41124], [8.669781, 49.411239], [8.669795, 49.411238], [8.669808, 49.411237], [8.669821, 49.411236], [8.669834, 49.411235], [8.669847, 49.411234], [8.669859, 49.411233], [8.669872, 49.411232], [8.669884, 49.41123], [8.669897, 49.411229], [8.669909, 49.411228], [8.669921, 49.411226], [8.669932, 49.411225], [8.669944, 49.411223], [8.669956, 49.411221], [8.669967, 49.41122], [8.669979, 49.411218], [8.66999, 49.411216], [8.670001, 49.411214], [8.670012, 49.411212], [8.670023, 49.41121], [8.670033, 49.411208], [8.670044, 49.411205], [8.670054, 49.411203], [8.670065, 49.411201], [8.670075, 49.411198], [8.670085, 49.411196], [8.670095, 49.411193], [8.670104, 49.41119], [8.670114, 49.411188], [8.670124, 49.411185], [8.670133, 49.411182], [8.670142, 49.411179], [8.670151, 49.411176], [8.67016, 49.411173], [8.670169, 49.41117], [8.670178, 49.411166], [8.670186, 49.411163], [8.670195, 49.41116], [8.670203, 49.411157], [8.670211, 49.411154], [8.670219, 49.411151], [8.670227, 49.411148], [8.670234, 49.411145], [8.670242, 49.411142], [8.670249, 49.411139], [8.670256, 49.411136], [8.670263, 49.411133], [8.670269, 49.41113], [8.670276, 49.411127], [8.670282, 49.411124], [8.670289, 49.411122], [8.670295, 49.411119], [8.670301, 49.411116], [8.670306, 49.411114], [8.670312, 49.411111], [8.670317, 49.411108], [8.670322, 49.411106], [8.670327, 49.411103], [8.670332, 49.411101], [8.670337, 49.411098], [8.670342, 49.411096], [8.670346, 49.411094], [8.67035, 49.411091], [8.670354, 49.411089], [8.670358, 49.411087], [8.670362, 49.411084], [8.670365, 49.411082], [8.670369, 49.41108], [8.670372, 49.411078], [8.670375, 49.411076], [8.670378, 49.411073], [8.670381, 49.411071], [8.670384, 49.411069], [8.670387, 49.411067], [8.67039, 49.411065], [8.670392, 49.411063], [8.670395, 49.411061], [8.670397, 49.411059], [8.6704, 49.411057], [8.670402, 49.411055], [8.670404, 49.411053], [8.670406, 49.411051], [8.670408, 49.411049], [8.67041, 49.411047], [8.670412, 49.411045], [8.670414, 49.411044], [8.670416, 49.411042], [8.670417, 49.41104], [8.670419, 49.411038], [8.67042, 49.411036], [8.670421, 49.411034], [8.670422, 49.411033], [8.670424, 49.411031], [8.670425, 49.411029], [8.670425, 49.411027], [8.670426, 49.411026], [8.670427, 49.411024], [8.670428, 49.411022], [8.670428, 49.411021], [8.670429, 49.411019], [8.670429, 49.411017], [8.67043, 49.411014], [8.67043, 49.411011], [8.670431, 49.411007], [8.670431, 49.411002], [8.670432, 49.410997], [8.670433, 49.410991], [8.670433, 49.410985], [8.670434, 49.410978], [8.670434, 49.41097], [8.670435, 49.410962], [8.670436, 49.410953], [8.670437, 49.410944], [8.670437, 49.410934], [8.670438, 49.410923], [8.670439, 49.410912], [8.67044, 49.4109], [8.670441, 49.410888], [8.670441, 49.410875], [8.670442, 49.410861], [8.670443, 49.410847], [8.670444, 49.410832], [8.670445, 49.410817], [8.670446, 49.410801], [8.670447, 49.410784], [8.670448, 49.410767], [8.670449, 49.410749], [8.67045, 49.410731], [8.670451, 49.410712], [8.670452, 49.410692], [8.670453, 49.410672], [8.670454, 49.410651], [8.670455, 49.41063], [8.670456, 49.41061], [8.670458, 49.410589], [8.670459, 49.410568], [8.67046, 49.410548], [8.670461, 49.410527], [8.670463, 49.410507], [8.670464, 49.410486], [8.670466, 49.410466], [8.670467, 49.410445], [8.670469, 49.410425], [8.67047, 49.410405], [8.670472, 49.410384], [8.670473, 49.410364], [8.670475, 49.410344], [8.670477, 49.410324], [8.670479, 49.410304], [8.67048, 49.410284], [8.670482, 49.410264], [8.670484, 49.410243], [8.670486, 49.410224], [8.670488, 49.410204], [8.67049, 49.410184], [8.670492, 49.410164], [8.670494, 49.410144], [8.670496, 49.410124], [8.670498, 49.410104], [8.670501, 49.410085], [8.670503, 49.410065], [8.670505, 49.410045], [8.670507, 49.410026], [8.67051, 49.410006], [8.670512, 49.409987], [8.670514, 49.409968], [8.670516, 49.40995], [8.670518, 49.409931], [8.67052, 49.409914], [8.670522, 49.409896], [8.670524, 49.409879], [8.670526, 49.409862], [8.670527, 49.409846], [8.670529, 49.40983], [8.670531, 49.409814], [8.670532, 49.409799], [8.670533, 49.409784], [8.670535, 49.409769], [8.670536, 49.409755], [8.670537, 49.409741], [8.670538, 49.409727], [8.670539, 49.409714], [8.67054, 49.409701], [8.670541, 49.409689], [8.670542, 49.409676], [8.670542, 49.409665], [8.670543, 49.409653], [8.670544, 49.409642], [8.670544, 49.409631], [8.670545, 49.409621], [8.670545, 49.409611], [8.670545, 49.409601], [8.670545, 49.409591], [8.670545, 49.409582], [8.670546, 49.409574], [8.670545, 49.409565], [8.670545, 49.409557], [8.670545, 49.409549], [8.670545, 49.409541], [8.670545, 49.409534], [8.670545, 49.409526], [8.670545, 49.409519], [8.670544, 49.409512], [8.670544, 49.409505], [8.670544, 49.409498], [8.670544, 49.409492], [8.670543, 49.409485], [8.670543, 49.409479], [8.670543, 49.409473], [8.670542, 49.409467], [8.670542, 49.409462], [8.670541, 49.409456], [8.670541, 49.409451], [8.67054, 49.409446], [8.67054, 49.409441], [8.670539, 49.409436], [8.670538, 49.409432], [8.670538, 49.409427], [8.670537, 49.409423], [8.670536, 49.409419], [8.670535, 49.409415], [8.670535, 49.409412], [8.670534, 49.409408], [8.670533, 49.409405], [8.670532, 49.409402], [8.670531, 49.409399], [8.67053, 49.409396], [8.67053, 49.409394], [8.670529, 49.409391], [8.670527, 49.409389], [8.670526, 49.409386], [8.670525, 49.409383], [8.670524, 49.409381], [8.670523, 49.409378], [8.670521, 49.409375], [8.67052, 49.409373], [8.670518, 49.40937], [8.670517, 49.409367], [8.670515, 49.409364], [8.670513, 49.409361], [8.670512, 49.409359], [8.67051, 49.409356], [8.670508, 49.409353], [8.670506, 49.40935], [8.670504, 49.409347], [8.670502, 49.409344], [8.6705, 49.409341], [8.670498, 49.409338], [8.670495, 49.409335], [8.670493, 49.409332], [8.670491, 49.409329], [8.670488, 49.409326], [8.670486, 49.409323], [8.670483, 49.40932], [8.670481, 49.409317], [8.670478, 49.409314], [8.670475, 49.409311], [8.670472, 49.409308], [8.670469, 49.409305], [8.670467, 49.409301], [8.670463, 49.409298], [8.67046, 49.409295], [8.670457, 49.409292], [8.670454, 49.409289], [8.67045, 49.409287], [8.670447, 49.409284], [8.670443, 49.409281], [8.670439, 49.409278], [8.670435, 49.409276], [8.670431, 49.409273], [8.670427, 49.409271], [8.670422, 49.409269], [8.670418, 49.409266], [8.670413, 49.409264], [8.670409, 49.409262], [8.670404, 49.40926], [8.670399, 49.409258], [8.670394, 49.409256], [8.670389, 49.409254], [8.670384, 49.409252], [8.670378, 49.40925], [8.670373, 49.409249], [8.670367, 49.409247], [8.670362, 49.409246], [8.670356, 49.409244], [8.67035, 49.409243], [8.670344, 49.409242], [8.670338, 49.40924], [8.670332, 49.409239], [8.670325, 49.409238], [8.670319, 49.409237], [8.670312, 49.409236], [8.670305, 49.409235], [8.670297, 49.409234], [8.670288, 49.409233], [8.670278, 49.409232], [8.670268, 49.409231], [8.670256, 49.40923], [8.670244, 49.40923], [8.670232, 49.409229], [8.670218, 49.409228], [8.670204, 49.409227], [8.670189, 49.409226], [8.670173, 49.409225], [8.670156, 49.409224], [8.670139, 49.409223], [8.670121, 49.409223], [8.670102, 49.409222], [8.670082, 49.409221], [8.670062, 49.40922], [8.67004, 49.409219], [8.670018, 49.409219], [8.669996, 49.409218], [8.669972, 49.409217], [8.669948, 49.409216], [8.669923, 49.409216], [8.669897, 49.409215], [8.66987, 49.409214], [8.669843, 49.409214], [8.669814, 49.409213], [8.669785, 49.409212], [8.669756, 49.409211], [8.669725, 49.409211], [8.669694, 49.40921], [8.669663, 49.409209], [8.669632, 49.409209], [8.669602, 49.409208], [8.669572, 49.409207], [8.669542, 49.409206], [8.669512, 49.409205], [8.669483, 49.409204], [8.669454, 49.409203], [8.669425, 49.409202], [8.669397, 49.409201], [8.669368, 49.4092], [8.669341, 49.409199], [8.669313, 49.409198], [8.669286, 49.409196], [8.669259, 49.409195], [8.669232, 49.409194], [8.669205, 49.409192], [8.669179, 49.409191], [8.669153, 49.40919], [8.669128, 49.409188], [8.669102, 49.409186], [8.669077, 49.409185], [8.669053, 49.409183], [8.669028, 49.409182], [8.669004, 49.40918], [8.66898, 49.409178], [8.668956, 49.409176], [8.668933, 49.409174], [8.66891, 49.409172], [8.668887, 49.409171], [8.668865, 49.409169], [8.668842, 49.409166], [8.668821, 49.409164], [8.668799, 49.409162], [8.668778, 49.40916], [8.668757, 49.409158], [8.668737, 49.409156], [8.668717, 49.409154], [8.668697, 49.409152], [8.668678, 49.40915], [8.668659, 49.409148], [8.668641, 49.409146], [8.668622, 49.409144], [8.668605, 49.409142], [8.668587, 49.40914], [8.66857, 49.409138], [8.668554, 49.409136], [8.668537, 49.409134], [8.668521, 49.409132], [8.668506, 49.40913], [8.668491, 49.409128], [8.668476, 49.409126], [8.668462, 49.409124], [8.668447, 49.409122], [8.668434, 49.40912], [8.66842, 49.409118], [8.668408, 49.409116], [8.668395, 49.409114], [8.668383, 49.409112], [8.668371, 49.40911], [8.668359, 49.409108], [8.668348, 49.409106], [8.668338, 49.409104], [8.668327, 49.409101], [8.668317, 49.409099], [8.668306, 49.409097], [8.668296, 49.409095], [8.668285, 49.409092], [8.668274, 49.40909], [8.668263, 49.409087], [8.668252, 49.409085], [8.66824, 49.409082], [8.668229, 49.409079], [8.668217, 49.409076], [8.668206, 49.409073], [8.668194, 49.40907], [8.668182, 49.409067], [8.66817, 49.409063], [8.668158, 49.40906], [8.668145, 49.409056], [8.668133, 49.409053], [8.668121, 49.409049], [8.668108, 49.409045], [8.668095, 49.409041], [8.668082, 49.409037], [8.668069, 49.409033], [8.668056, 49.409029], [8.668043, 49.409025], [8.66803, 49.409021], [8.668016, 49.409016], [8.668003, 49.409012], [8.667989, 49.409007], [8.667975, 49.409002], [8.667961, 49.408997], [8.667947, 49.408992], [8.667933, 49.408988], [8.667919, 49.408983], [8.667905, 49.408978], [8.667892, 49.408973], [8.667879, 49.408969], [8.667866, 49.408964], [8.667853, 49.40896], [8.66784, 49.408956], [8.667828, 49.408951], [8.667816, 49.408947], [8.667804, 49.408944], [8.667793, 49.40894], [8.667781, 49.408936], [8.66777, 49.408933], [8.66776, 49.408929], [8.667749, 49.408926], [8.667739, 49.408923], [8.667729, 49.408919], [8.667719, 49.408916], [8.667709, 49.408913], [8.6677, 49.408911], [8.667691, 49.408908], [8.667682, 49.408905], [8.667673, 49.408903], [8.667665, 49.408901], [8.667657, 49.408898], [8.667649, 49.408896], [8.667641, 49.408894], [8.667634, 49.408892], [8.667626, 49.408891], [8.667619, 49.408889], [8.667613, 49.408887], [8.667606, 49.408886], [8.6676, 49.408884], [8.667593, 49.408883], [8.667586, 49.408882], [8.667579, 49.408881], [8.667572, 49.40888], [8.667565, 49.40888], [8.667557, 49.408879], [8.66755, 49.408879], [8.667542, 49.408878], [8.667534, 49.408878], [8.667526, 49.408878], [8.667518, 49.408878], [8.66751, 49.408878], [8.667502, 49.408878], [8.667494, 49.408879], [8.667485, 49.408879], [8.667476, 49.40888], [8.667467, 49.408881], [8.667458, 49.408882], [8.667449, 49.408883], [8.66744, 49.408884], [8.667431, 49.408885], [8.667421, 49.408886], [8.667412, 49.408888], [8.667402, 49.40889], [8.667392, 49.408891], [8.667382, 49.408893], [8.667372, 49.408895], [8.667362, 49.408898], [8.667351, 49.4089], [8.667341, 49.408902], [8.66733, 49.408905], [8.66732, 49.408907], [8.66731, 49.40891], [8.6673, 49.408912], [8.66729, 49.408915], [8.667281, 49.408917], [8.667271, 49.408919], [8.667262, 49.408922], [8.667254, 49.408924], [8.667245, 49.408926], [8.667237, 49.408928], [8.667229, 49.408931], [8.667221, 49.408933], [8.667214, 49.408935], [8.667206, 49.408937], [8.667199, 49.408939], [8.667193, 49.408941], [8.667186, 49.408943], [8.66718, 49.408945], [8.667174, 49.408947], [8.667168, 49.408949], [8.667162, 49.408951], [8.667157, 49.408953], [8.667152, 49.408955], [8.667147, 49.408957], [8.667142, 49.408959], [8.667138, 49.40896], [8.667134, 49.408962], [8.66713, 49.408964], [8.667126, 49.408965], [8.667123, 49.408967], [8.66712, 49.408969], [8.667117, 49.40897], [8.667114, 49.408972], [8.667111, 49.408974], [8.667109, 49.408975], [8.667106, 49.408977], [8.667103, 49.408978], [8.667101, 49.40898], [8.667098, 49.408982], [8.667095, 49.408983], [8.667093, 49.408985], [8.66709, 49.408987], [8.667088, 49.408989], [8.667086, 49.40899], [8.667083, 49.408992], [8.667081, 49.408994], [8.667079, 49.408995], [8.667077, 49.408997], [8.667075, 49.408999], [8.667072, 49.409001], [8.66707, 49.409003], [8.667068, 49.409004], [8.667066, 49.409006], [8.667064, 49.409008], [8.667063, 49.40901], [8.667061, 49.409012], [8.667059, 49.409014], [8.667057, 49.409016], [8.667056, 49.409017], [8.667054, 49.409019], [8.667052, 49.409021], [8.667051, 49.409023], [8.667049, 49.409025], [8.667048, 49.409027], [8.667046, 49.409029], [8.667045, 49.409033], [8.667044, 49.409036], [8.667042, 49.40904], [8.667041, 49.409045], [8.66704, 49.409051], [8.667039, 49.409056], [8.667038, 49.409063], [8.667037, 49.40907], [8.667036, 49.409078], [8.667035, 49.409086], [8.667034, 49.409095], [8.667033, 49.409104], [8.667032, 49.409114], [8.667031, 49.409124], [8.667031, 49.409136], [8.66703, 49.409147], [8.667029, 49.409159], [8.667029, 49.409172], [8.667028, 49.409185], [8.667028, 49.409199], [8.667027, 49.409214], [8.667027, 49.409229], [8.667026, 49.409245], [8.667026, 49.409261], [8.667026, 49.409278], [8.667025, 49.409295], [8.667025, 49.409313], [8.667025, 49.409331], [8.667025, 49.40935], [8.667025, 49.40937]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}, {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.674596, 49.41117], [8.674596, 49.411172], [8.674596, 49.411173], [8.674596, 49.411174], [8.674596, 49.411175], [8.674596, 49.411176], [8.674596, 49.411177], [8.674596, 49.411178], [8.674596, 49.411179], [8.674596, 49.41118], [8.674596, 49.411181], [8.674597, 49.411182], [8.674597, 49.411183], [8.674597, 49.411184], [8.674597, 49.411185], [8.674598, 49.411186], [8.674598, 49.411187], [8.674598, 49.411187], [8.674599, 49.411188], [8.674599, 49.411189], [8.6746, 49.41119], [8.6746, 49.411191], [8.674601, 49.411192], [8.674602, 49.411192], [8.674602, 49.411193], [8.674603, 49.411194], [8.674604, 49.411195], [8.674604, 49.411195], [8.674605, 49.411196], [8.674606, 49.411197], [8.674607, 49.411197], [8.674608, 49.411198], [8.674609, 49.411199], [8.674609, 49.411199], [8.67461, 49.4112], [8.674612, 49.4112], [8.674613, 49.411201], [8.674614, 49.411202], [8.674615, 49.411202], [8.674617, 49.411202], [8.674618, 49.411203], [8.67462, 49.411203], [8.674622, 49.411204], [8.674623, 49.411204], [8.674625, 49.411204], [8.674627, 49.411204], [8.674629, 49.411205], [8.674631, 49.411205], [8.674633, 49.411205], [8.674635, 49.411205], [8.674638, 49.411205], [8.67464, 49.411205], [8.674642, 49.411205], [8.674645, 49.411205], [8.674648, 49.411205], [8.67465, 49.411205], [8.674653, 49.411205], [8.674656, 49.411205], [8.674659, 49.411205], [8.674662, 49.411205], [8.674665, 49.411205], [8.674668, 49.411205], [8.674671, 49.411204], [8.674675, 49.411204], [8.674678, 49.411204], [8.674682, 49.411203], [8.674685, 49.411203], [8.674689, 49.411202], [8.674693, 49.411202], [8.674697, 49.411201], [8.674701, 49.411201], [8.674705, 49.4112], [8.674709, 49.411199], [8.674713, 49.411198], [8.674718, 49.411198], [8.674722, 49.411197], [8.674727, 49.411196], [8.674732, 49.411195], [8.674736, 49.411194], [8.674741, 49.411192], [8.674746, 49.411191], [8.674751, 49.41119], [8.674756, 49.411189], [8.674762, 49.411187], [8.674767, 49.411186], [8.674773, 49.411184], [8.674778, 49.411183], [8.674784, 49.411181], [8.67479, 49.411179], [8.674796, 49.411178], [8.674802, 49.411176], [8.674808, 49.411174], [8.674814, 49.411172], [8.67482, 49.41117], [8.674827, 49.411168], [8.674833, 49.411166], [8.67484, 49.411164], [8.674846, 49.411161], [8.674853, 49.411159], [8.674859, 49.411157], [8.674866, 49.411155], [8.674872, 49.411152], [8.674878, 49.41115], [8.674885, 49.411147], [8.674891, 49.411145], [8.674897, 49.411142], [8.674903, 49.41114], [8.674908, 49.411137], [8.674914, 49.411135], [8.67492, 49.411132], [8.674925, 49.411129], [8.674931, 49.411127], [8.674936, 49.411124], [8.674941, 49.411121], [8.674947, 49.411118], [8.674952, 49.411115], [8.674957, 49.411112], [8.674962, 49.411109], [8.674966, 49.411106], [8.674971, 49.411103], [8.674976, 49.4111], [8.67498, 49.411097], [8.674985, 49.411094], [8.674989, 49.411091], [8.674994, 49.411088], [8.674998, 49.411085], [8.675002, 49.411081], [8.675006, 49.411078], [8.67501, 49.411075], [8.675014, 49.411071], [8.675018, 49.411068], [8.675022, 49.411065], [8.675026, 49.411061], [8.67503, 49.411058], [8.675033, 49.411055], [8.675037, 49.411052], [8.675041, 49.411049], [8.675045, 49.411046], [8.675049, 49.411043], [8.675053, 49.411039], [8.675057, 49.411037], [8.675061, 49.411034], [8.675065, 49.411031], [8.675069, 49.411028], [8.675073, 49.411025], [8.675077, 49.411022], [8.675081, 49.411019], [8.675085, 49.411017], [8.675089, 49.411014], [8.675093, 49.411011], [8.675098, 49.411009], [8.675102, 49.411006], [8.675106, 49.411003], [8.67511, 49.411001], [8.675114, 49.410998], [8.675118, 49.410996], [8.675122, 49.410993], [8.675126, 49.410991], [8.675131, 49.410989], [8.675135, 49.410986], [8.675139, 49.410984], [8.675143, 49.410982], [8.675147, 49.41098], [8.675151, 49.410978], [8.675155, 49.410975], [8.67516, 49.410973], [8.675164, 49.410971], [8.675168, 49.410969], [8.675171, 49.410967], [8.675175, 49.410966], [8.675179, 49.410964], [8.675183, 49.410962], [8.675187, 49.41096], [8.675191, 49.410958], [8.675194, 49.410957], [8.675198, 49.410955], [8.675202, 49.410954], [8.675205, 49.410952], [8.675209, 49.410951], [8.675213, 49.410949], [8.675216, 49.410948], [8.67522, 49.410947], [8.675223, 49.410945], [8.675227, 49.410944], [8.67523, 49.410943], [8.675233, 49.410942], [8.675237, 49.410941], [8.67524, 49.410939], [8.675243, 49.410938], [8.675246, 49.410938], [8.67525, 49.410937], [8.675253, 49.410936], [8.675256, 49.410935], [8.675259, 49.410934], [8.675262, 49.410933], [8.675265, 49.410933], [8.675269, 49.410932], [8.675272, 49.410931], [8.675275, 49.410931], [8.675279, 49.41093], [8.675282, 49.410929], [8.675286, 49.410929], [8.675289, 49.410928], [8.675293, 49.410928], [8.675296, 49.410927], [8.6753, 49.410927], [8.675304, 49.410926], [8.675308, 49.410926], [8.675312, 49.410925], [8.675316, 49.410925], [8.67532, 49.410925], [8.675324, 49.410924], [8.675328, 49.410924], [8.675332, 49.410924], [8.675336, 49.410923], [8.67534, 49.410923], [8.675344, 49.410923], [8.675349, 49.410923], [8.675353, 49.410923], [8.675358, 49.410922], [8.675362, 49.410922], [8.675367, 49.410922], [8.675371, 49.410922], [8.675376, 49.410922], [8.675381, 49.410922], [8.675385, 49.410922], [8.67539, 49.410922], [8.675395, 49.410922], [8.6754, 49.410922], [8.675404, 49.410922], [8.675409, 49.410923], [8.675414, 49.410923], [8.675418, 49.410923], [8.675423, 49.410924], [8.675428, 49.410924], [8.675433, 49.410924], [8.675437, 49.410925], [8.675442, 49.410925], [8.675447, 49.410926], [8.675451, 49.410927], [8.675456, 49.410927], [8.675461, 49.410928], [8.675465, 49.410929], [8.67547, 49.410929], [8.675475, 49.41093], [8.675479, 49.410931], [8.675484, 49.410932], [8.675488, 49.410933], [8.675493, 49.410934], [8.675498, 49.410935], [8.675502, 49.410936], [8.675507, 49.410937], [8.675511, 49.410938], [8.675516, 49.410939], [8.675521, 49.410941], [8.675525, 49.410942], [8.67553, 49.410943], [8.675534, 49.410945], [8.675539, 49.410946], [8.675543, 49.410947], [8.675548, 49.410949], [8.675552, 49.41095], [8.675556, 49.410952], [8.67556, 49.410953], [8.675565, 49.410955], [8.675569, 49.410956], [8.675573, 49.410957], [8.675577, 49.410959], [8.675581, 49.41096], [8.675585, 49.410962], [8.675588, 49.410963], [8.675592, 49.410965], [8.675596, 49.410966], [8.675599, 49.410968], [8.675603, 49.410969], [8.675607, 49.410971], [8.67561, 49.410972], [8.675613, 49.410974], [8.675617, 49.410976], [8.67562, 49.410977], [8.675623, 49.410979], [8.675626, 49.41098], [8.67563, 49.410982], [8.675633, 49.410984], [8.675636, 49.410985], [8.675639, 49.410987], [8.675642, 49.410988], [8.675644, 49.41099], [8.675647, 49.410992], [8.67565, 49.410993], [8.675653, 49.410995], [8.675655, 49.410997], [8.675658, 49.410999], [8.675661, 49.411001], [8.675664, 49.411003], [8.675667, 49.411005], [8.67567, 49.411008], [8.675674, 49.41101], [8.675677, 49.411013], [8.67568, 49.411016], [8.675683, 49.411018], [8.675687, 49.411021], [8.67569, 49.411024], [8.675694, 49.411027], [8.675697, 49.411031], [8.675701, 49.411034], [8.675704, 49.411037], [8.675708, 49.411041], [8.675712, 49.411044], [8.675716, 49.411048], [8.675719, 49.411052], [8.675723, 49.411056], [8.675727, 49.41106], [8.675731, 49.411064], [8.675735, 49.411068], [8.675739, 49.411073], [8.675744, 49.411077], [8.675748, 49.411082], [8.675752, 49.411086], [8.675756, 49.411091], [8.675761, 49.411096], [8.675765, 49.411101], [8.67577, 49.411106], [8.675775, 49.411111], [8.67578, 49.411115], [8.675786, 49.41112], [8.675791, 49.411124], [8.675798, 49.411128], [8.675804, 49.411133], [8.67581, 49.411137], [8.675817, 49.411141], [8.675824, 49.411145], [8.675832, 49.411148], [8.67584, 49.411152], [8.675848, 49.411156], [8.675856, 49.411159], [8.675864, 49.411162], [8.675873, 49.411165], [8.675882, 49.411169], [8.675891, 49.411172], [8.675901, 49.411174], [8.675911, 49.411177], [8.675921, 49.41118], [8.675931, 49.411182], [8.675942, 49.411185], [8.675953, 49.411187], [8.675964, 49.411189], [8.675976, 49.411191], [8.675987, 49.411193], [8.675999, 49.411195], [8.676012, 49.411197], [8.676024, 49.411199], [8.676037, 49.4112], [8.67605, 49.411202], [8.676063, 49.411203], [8.676077, 49.411205], [8.676091, 49.411207], [8.676105, 49.411208], [8.676119, 49.41121], [8.676134, 49.411212], [8.676148, 49.411215], [8.676163, 49.411217], [8.676179, 49.411219], [8.676194, 49.411222], [8.67621, 49.411224], [8.676226, 49.411227], [8.676242, 49.41123], [8.676259, 49.411232], [8.676275, 49.411235], [8.676292, 49.411238], [8.67631, 49.411242], [8.676327, 49.411245], [8.676345, 49.411248], [8.676363, 49.411252], [8.676381, 49.411255], [8.676399, 49.411259], [8.676418, 49.411263], [8.676437, 49.411266], [8.676456, 49.41127], [8.676475, 49.411274], [8.676495, 49.411279], [8.676515, 49.411283], [8.676535, 49.411287], [8.676555, 49.411292], [8.676576, 49.411296], [8.676596, 49.411301], [8.676618, 49.411306], [8.67664, 49.41131], [8.676663, 49.411315], [8.676687, 49.41132], [8.676712, 49.411325], [8.676737, 49.411331], [8.676763, 49.411336], [8.67679, 49.411341], [8.676818, 49.411347], [8.676846, 49.411352], [8.676875, 49.411358], [8.676905, 49.411363], [8.676936, 49.411369], [8.676967, 49.411375], [8.677, 49.411381], [8.677033, 49.411387], [8.677066, 49.411393], [8.677101, 49.411399], [8.677136, 49.411405], [8.677172, 49.411412], [8.677209, 49.411418], [8.677246, 49.411425], [8.677285, 49.411431], [8.677324, 49.411438], [8.677363, 49.411445], [8.677404, 49.411451], [8.677445, 49.411458], [8.677487, 49.411465], [8.67753, 49.411472], [8.677574, 49.41148], [8.677618, 49.411487], [8.677663, 49.411494], [8.677707, 49.411501], [8.67775, 49.411508], [8.677792, 49.411515], [8.677833, 49.411521], [8.677873, 49.411528], [8.677912, 49.411534], [8.677949, 49.411539], [8.677986, 49.411545], [8.678022, 49.41155], [8.678057, 49.411556], [8.67809, 49.411561], [8.678123, 49.411565], [8.678154, 49.41157], [8.678185, 49.411574], [8.678214, 49.411578], [8.678243, 49.411582], [8.67827, 49.411586], [8.678296, 49.411589], [8.678321, 49.411592], [8.678346, 49.411595], [8.678369, 49.411598], [8.678391, 49.411601], [8.678412, 49.411603], [8.678432, 49.411605], [8.678451, 49.411607], [8.678469, 49.411609], [8.678486, 49.41161], [8.678502, 49.411611], [8.678517, 49.411612], [8.67853, 49.411613], [8.678543, 49.411614], [8.678555, 49.411614], [8.678566, 49.411615], [8.678577, 49.411615], [8.678588, 49.411615], [8.678599, 49.411615], [8.678609, 49.411616], [8.678619, 49.411616], [8.678629, 49.411616], [8.678639, 49.411616], [8.678648, 49.411616], [8.678657, 49.411616], [8.678666, 49.411616], [8.678675, 49.411616], [8.678683, 49.411616], [8.678691, 49.411616], [8.678699, 49.411616], [8.678706, 49.411616], [8.678713, 49.411615], [8.67872, 49.411615], [8.678727, 49.411615], [8.678734, 49.411615], [8.67874, 49.411614], [8.678746, 49.411614], [8.678751, 49.411614], [8.678757, 49.411613], [8.678762, 49.411613], [8.678767, 49.411612], [8.678771, 49.411612], [8.678776, 49.411611], [8.67878, 49.411611], [8.678784, 49.41161], [8.678787, 49.411609], [8.678791, 49.411609], [8.678794, 49.411608], [8.678797, 49.411607], [8.678801, 49.411606], [8.678804, 49.411606], [8.678807, 49.411605], [8.678811, 49.411604], [8.678814, 49.411603], [8.678817, 49.411602], [8.67882, 49.411601], [8.678824, 49.4116], [8.678827, 49.411599], [8.67883, 49.411598], [8.678834, 49.411597], [8.678837, 49.411595], [8.67884, 49.411594], [8.678844, 49.411593], [8.678847, 49.411592], [8.67885, 49.41159], [8.678853, 49.411589], [8.678857, 49.411588], [8.67886, 49.411586], [8.678863, 49.411585], [8.678867, 49.411583], [8.67887, 49.411582], [8.678873, 49.41158], [8.678876, 49.411578], [8.67888, 49.411577], [8.678883, 49.411575], [8.678886, 49.411573], [8.67889, 49.411572], [8.678893, 49.41157], [8.678896, 49.411568], [8.678899, 49.411566], [8.678903, 49.411564], [8.678906, 49.411563], [8.678909, 49.411561], [8.678912, 49.411559], [8.678915, 49.411557], [8.678918, 49.411555], [8.678921, 49.411553], [8.678924, 49.411551], [8.678927, 49.41155], [8.67893, 49.411548], [8.678933, 49.411546], [8.678935, 49.411544], [8.678938, 49.411542], [8.678941, 49.41154], [8.678943, 49.411538], [8.678946, 49.411536], [8.678949, 49.411534], [8.678951, 49.411532], [8.678954, 49.41153], [8.678956, 49.411528], [8.678959, 49.411526], [8.678961, 49.411525], [8.678963, 49.411523], [8.678966, 49.411521], [8.678968, 49.411519], [8.67897, 49.411517], [8.678973, 49.411515], [8.678975, 49.411513], [8.678977, 49.411511], [8.678979, 49.411509], [8.678981, 49.411506], [8.678983, 49.411504], [8.678985, 49.411502], [8.678987, 49.411499], [8.678989, 49.411495], [8.678991, 49.411492], [8.678993, 49.411488], [8.678995, 49.411484], [8.678997, 49.411479], [8.678999, 49.411474], [8.679001, 49.411469], [8.679002, 49.411464], [8.679004, 49.411458], [8.679006, 49.411452], [8.679008, 49.411446], [8.67901, 49.411439], [8.679011, 49.411432], [8.679013, 49.411425], [8.679015, 49.411418], [8.679016, 49.41141], [8.679018, 49.411402], [8.67902, 49.411393], [8.679021, 49.411384], [8.679023, 49.411375], [8.679024, 49.411366], [8.679026, 49.411356], [8.679027, 49.411346], [8.679029, 49.411336], [8.67903, 49.411326], [8.679032, 49.411315], [8.679033, 49.411303], [8.679035, 49.411292], [8.679036, 49.41128], [8.679038, 49.411268], [8.679039, 49.411254], [8.67904, 49.411241], [8.679041, 49.411226], [8.679043, 49.411211], [8.679044, 49.411195], [8.679045, 49.411179], [8.679046, 49.411161], [8.679047, 49.411144], [8.679048, 49.411125], [8.679049, 49.411106], [8.67905, 49.411086], [8.679051, 49.411066], [8.679051, 49.411044], [8.679052, 49.411023], [8.679053, 49.411], [8.679054, 49.410977], [8.679054, 49.410953], [8.679055, 49.410928], [8.679055, 49.410903], [8.679056, 49.410877], [8.679056, 49.410851], [8.679057, 49.410824], [8.679057, 49.410796], [8.679057, 49.410767], [8.679058, 49.410738], [8.679058, 49.410708], [8.679058, 49.410677], [8.679058, 49.410646], [8.679058, 49.410614], [8.679058, 49.410582], [8.679059, 49.410548], [8.679059, 49.410516], [8.679059, 49.410484], [8.679059, 49.410454], [8.679059, 49.410424], [8.679059, 49.410395], [8.679059, 49.410366], [8.679059, 49.410339], [8.679059, 49.410313], [8.679059, 49.410287], [8.67906, 49.410262], [8.67906, 49.410238], [8.67906, 49.410215], [8.67906, 49.410192], [8.67906, 49.410171], [8.679061, 49.41015], [8.679061, 49.41013], [8.679061, 49.410111], [8.679062, 49.410093], [8.679062, 49.410076], [8.679062, 49.41006], [8.679063, 49.410044], [8.679063, 49.410029], [8.679063, 49.410015], [8.679064, 49.410002], [8.679064, 49.40999], [8.679064, 49.409978], [8.679065, 49.409968], [8.679065, 49.409958], [8.679066, 49.409949], [8.679066, 49.409941], [8.679067, 49.409934], [8.679067, 49.409927], [8.679068, 49.409921], [8.679068, 49.409914], [8.679069, 49.409907], [8.679069, 49.4099], [8.679069, 49.409893], [8.67907, 49.409885], [8.67907, 49.409878], [8.67907, 49.40987], [8.67907, 49.409862], [8.67907, 49.409854], [8.679071, 49.409845], [8.679071, 49.409837], [8.679071, 49.409828], [8.679071, 49.409819], [8.679071, 49.40981], [8.679071, 49.409801], [8.679071, 49.409792], [8.679071, 49.409782], [8.679071, 49.409773], [8.67907, 49.409763], [8.67907, 49.409753], [8.67907, 49.409743], [8.67907, 49.409732], [8.67907, 49.409722], [8.679069, 49.409711], [8.679069, 49.4097], [8.679069, 49.409689], [8.679068, 49.409678], [8.679068, 49.409666], [8.679067, 49.409655], [8.679067, 49.409643], [8.679066, 49.409631], [8.679066, 49.409619], [8.679065, 49.409608], [8.679065, 49.409597], [8.679064, 49.409586], [8.679063, 49.409575], [8.679063, 49.409565], [8.679062, 49.409555], [8.679061, 49.409545], [8.679061, 49.409535], [8.67906, 49.409526], [8.679059, 49.409517], [8.679059, 49.409508], [8.679058, 49.4095], [8.679057, 49.409492], [8.679057, 49.409484], [8.679056, 49.409476], [8.679055, 49.409468], [8.679054, 49.409461], [8.679054, 49.409454], [8.679053, 49.409448], [8.679052, 49.409441], [8.679051, 49.409435], [8.67905, 49.409429], [8.679049, 49.409424], [8.679049, 49.409418], [8.679048, 49.409413], [8.679047, 49.409408], [8.679046, 49.409404], [8.679045, 49.4094], [8.679044, 49.409396], [8.679043, 49.409392], [8.679042, 49.409388], [8.679041, 49.409385], [8.67904, 49.409381], [8.679039, 49.409378], [8.679038, 49.409375], [8.679036, 49.409371], [8.679035, 49.409368], [8.679034, 49.409365], [8.679032, 49.409361], [8.679031, 49.409358], [8.679029, 49.409355], [8.679027, 49.409352], [8.679026, 49.409349], [8.679024, 49.409346], [8.679022, 49.409342], [8.67902, 49.409339], [8.679018, 49.409336], [8.679016, 49.409333], [8.679014, 49.40933], [8.679012, 49.409328], [8.67901, 49.409325], [8.679008, 49.409322], [8.679005, 49.409319], [8.679003, 49.409316], [8.679001, 49.409313], [8.678998, 49.409311], [8.678996, 49.409308], [8.678993, 49.409305], [8.67899, 49.409303], [8.678988, 49.4093], [8.678985, 49.409297], [8.678982, 49.409295], [8.678979, 49.409292], [8.678976, 49.40929], [8.678973, 49.409287], [8.67897, 49.409285], [8.678967, 49.409283], [8.678965, 49.409281], [8.678962, 49.409278], [8.678959, 49.409276], [8.678956, 49.409274], [8.678953, 49.409273], [8.67895, 49.409271], [8.678947, 49.409269], [8.678944, 49.409267], [8.678941, 49.409266], [8.678938, 49.409264], [8.678936, 49.409262], [8.678933, 49.409261], [8.67893, 49.40926], [8.678927, 49.409258], [8.678924, 49.409257], [8.678921, 49.409256], [8.678918, 49.409255], [8.678915, 49.409254], [8.678912, 49.409253], [8.67891, 49.409252], [8.678907, 49.409251], [8.678904, 49.40925], [8.678901, 49.40925], [8.678898, 49.409249], [8.678895, 49.409249], [8.678892, 49.409248], [8.678889, 49.409248], [8.678887, 49.409247], [8.678883, 49.409247], [8.678879, 49.409247], [8.678874, 49.409246], [8.678869, 49.409246], [8.678862, 49.409245], [8.678856, 49.409245], [8.678848, 49.409244], [8.67884, 49.409244], [8.678831, 49.409243], [8.678822, 49.409243], [8.678812, 49.409242], [8.678801, 49.409242], [8.67879, 49.409241], [8.678778, 49.40924], [8.678766, 49.40924], [8.678752, 49.409239], [8.678738, 49.409238], [8.678724, 49.409237], [8.678709, 49.409237], [8.678693, 49.409236], [8.678676, 49.409235], [8.678659, 49.409234], [8.678641, 49.409233], [8.678623, 49.409233], [8.678604, 49.409232], [8.678584, 49.409231], [8.678563, 49.40923], [8.678542, 49.409229], [8.678521, 49.409228], [8.678498, 49.409227], [8.678475, 49.409226], [8.678452, 49.409225], [8.678428, 49.409224], [8.678404, 49.409223], [8.678381, 49.409222], [8.678357, 49.409221], [8.678333, 49.409219], [8.67831, 49.409218], [8.678286, 49.409217], [8.678262, 49.409216], [8.678239, 49.409214], [8.678215, 49.409213], [8.678191, 49.409212], [8.678167, 49.40921], [8.678144, 49.409209], [8.67812, 49.409208], [8.678096, 49.409206], [8.678073, 49.409205], [8.678049, 49.409203], [8.678025, 49.409202], [8.678001, 49.4092], [8.677978, 49.409199], [8.677954, 49.409197], [8.67793, 49.409195], [8.677907, 49.409194], [8.677883, 49.409192], [8.677859, 49.40919], [8.677835, 49.409189], [8.677811, 49.409187], [8.677788, 49.409185], [8.677764, 49.409183], [8.67774, 49.409181], [8.677716, 49.409179], [8.677693, 49.409178], [8.677668, 49.409176], [8.677643, 49.409173], [8.677617, 49.409171], [8.67759, 49.409169], [8.677563, 49.409167], [8.677535, 49.409164], [8.677506, 49.409162], [8.677476, 49.409159], [8.677446, 49.409156], [8.677415, 49.409154], [8.677383, 49.409151], [8.67735, 49.409148], [8.677317, 49.409145], [8.677283, 49.409142], [8.677249, 49.409138], [8.677213, 49.409135], [8.677177, 49.409132], [8.67714, 49.409128], [8.677103, 49.409124], [8.677064, 49.409121], [8.677025, 49.409117], [8.676985, 49.409113], [8.676945, 49.409109], [8.676904, 49.409105], [8.676862, 49.409101], [8.676819, 49.409097], [8.676776, 49.409092], [8.676731, 49.409088], [8.676686, 49.409084], [8.676641, 49.409079], [8.676595, 49.409074], [8.676547, 49.40907], [8.676502, 49.409065], [8.676457, 49.409061], [8.676414, 49.409056], [8.676371, 49.409052], [8.67633, 49.409048], [8.676291, 49.409044], [8.676252, 49.409041], [8.676215, 49.409037], [8.676179, 49.409034], [8.676144, 49.40903], [8.67611, 49.409027], [8.676077, 49.409024], [8.676046, 49.409021], [8.676016, 49.409019], [8.675987, 49.409016], [8.67596, 49.409014], [8.675933, 49.409012], [8.675908, 49.40901], [8.675884, 49.409008], [8.675861, 49.409006], [8.67584, 49.409004], [8.675819, 49.409003], [8.6758, 49.409001], [8.675782, 49.409], [8.675765, 49.408999], [8.67575, 49.408998], [8.675736, 49.408997], [8.675723, 49.408997], [8.675711, 49.408996], [8.6757, 49.408996], [8.675691, 49.408996], [8.675682, 49.408996], [8.675674, 49.408996], [8.675666, 49.408996], [8.675658, 49.408996], [8.675649, 49.408997], [8.675641, 49.408997], [8.675633, 49.408998], [8.675624, 49.408998], [8.675616, 49.408999], [8.675608, 49.409], [8.675599, 49.409], [8.675591, 49.409001], [8.675583, 49.409002], [8.675574, 49.409003], [8.675566, 49.409004], [8.675557, 49.409006], [8.675549, 49.409007], [8.67554, 49.409008], [8.675532, 49.40901], [8.675523, 49.409011], [8.675515, 49.409013], [8.675506, 49.409014], [8.675498, 49.409016], [8.675489, 49.409018], [8.67548, 49.40902], [8.675472, 49.409022], [8.675463, 49.409024], [8.675455, 49.409026], [8.675446, 49.409029], [8.675437, 49.409031], [8.675429, 49.409033], [8.67542, 49.409036], [8.675411, 49.409038], [8.675403, 49.409041], [8.675394, 49.409043], [8.675386, 49.409046], [8.675378, 49.409048], [8.67537, 49.409051], [8.675362, 49.409053], [8.675355, 49.409056], [8.675347, 49.409058], [8.67534, 49.40906], [8.675333, 49.409063], [8.675326, 49.409065], [8.675319, 49.409067], [8.675313, 49.40907], [8.675307, 49.409072], [8.6753, 49.409074], [8.675294, 49.409076], [8.675288, 49.409079], [8.675283, 49.409081], [8.675277, 49.409083], [8.675272, 49.409085], [8.675266, 49.409087], [8.675261, 49.409089], [8.675256, 49.409092], [8.675252, 49.409094], [8.675247, 49.409096], [8.675243, 49.409098], [8.675238, 49.4091], [8.675234, 49.409102], [8.675231, 49.409104], [8.675227, 49.409106], [8.675223, 49.409108], [8.67522, 49.409109], [8.675216, 49.409111], [8.675213, 49.409114], [8.67521, 49.409116], [8.675207, 49.409118], [8.675203, 49.40912], [8.6752, 49.409123], [8.675197, 49.409125], [8.675194, 49.409128], [8.675191, 49.40913], [8.675188, 49.409133], [8.675185, 49.409136], [8.675183, 49.409139], [8.67518, 49.409142], [8.675177, 49.409145], [8.675174, 49.409148], [8.675172, 49.409151], [8.675169, 49.409154], [8.675166, 49.409158], [8.675164, 49.409161], [8.675161, 49.409165], [8.675159, 49.409168], [8.675156, 49.409172], [8.675154, 49.409176], [8.675152, 49.40918], [8.67515, 49.409183], [8.675147, 49.409187], [8.675145, 49.409192], [8.675143, 49.409196], [8.675141, 49.4092], [8.675139, 49.409204], [8.675137, 49.409209], [8.675135, 49.409213], [8.675133, 49.409218], [8.675131, 49.409224], [8.675129, 49.409229], [8.675127, 49.409236], [8.675124, 49.409242], [8.675122, 49.409249], [8.67512, 49.409257], [8.675117, 49.409265], [8.675115, 49.409273], [8.675112, 49.409282], [8.67511, 49.409291], [8.675107, 49.409301], [8.675105, 49.409311], [8.675102, 49.409322], [8.675099, 49.409333], [8.675096, 49.409344], [8.675093, 49.409356], [8.67509, 49.409369], [8.675087, 49.409382], [8.675084, 49.409395], [8.675081, 49.409408], [8.675078, 49.409422], [8.675074, 49.409437], [8.675071, 49.409452], [8.675068, 49.409467], [8.675064, 49.409483], [8.675061, 49.409499], [8.675057, 49.409516], [8.675053, 49.409533], [8.67505, 49.409551], [8.675046, 49.409569], [8.675042, 49.409587], [8.675038, 49.409606], [8.675034, 49.409626], [8.675029, 49.409647], [8.675024, 49.409668], [8.675019, 49.40969], [8.675014, 49.409712], [8.675008, 49.409735], [8.675002, 49.409759], [8.674996, 49.409783], [8.67499, 49.409809], [8.674983, 49.409835], [8.674976, 49.409861], [8.674969, 49.409888], [8.674962, 49.409916], [8.674954, 49.409945], [8.674946, 49.409974], [8.674938, 49.410004], [8.67493, 49.410034], [8.674921, 49.410066], [8.674912, 49.410097], [8.674903, 49.41013], [8.674893, 49.410163], [8.674884, 49.410197], [8.674874, 49.410232], [8.674863, 49.410267], [8.674853, 49.410303], [8.674842, 49.41034], [8.674831, 49.410377], [8.67482, 49.410415], [8.674808, 49.410454], [8.674797, 49.410493], [8.674784, 49.410533], [8.674773, 49.410572], [8.674762, 49.410609], [8.674751, 49.410646], [8.67474, 49.410681], [8.67473, 49.410715], [8.67472, 49.410747], [8.674711, 49.410779], [8.674702, 49.410809], [8.674693, 49.410838], [8.674685, 49.410866], [8.674677, 49.410893], [8.674669, 49.410918], [8.674662, 49.410942], [8.674655, 49.410965], [8.674649, 49.410987], [8.674643, 49.411008], [8.674637, 49.411027], [8.674632, 49.411045], [8.674627, 49.411062], [8.674622, 49.411078], [8.674618, 49.411092], [8.674614, 49.411106], [8.67461, 49.411118], [8.674607, 49.411129], [8.674605, 49.411138], [8.674602, 49.411147], [8.6746, 49.411154], [8.674599, 49.41116], [8.674597, 49.411165], [8.674597, 49.411168], [8.674596, 49.41117]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}, {"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[8.681713, 49.411727], [8.681711, 49.411729], [8.681709, 49.41173], [8.681707, 49.411731], [8.681705, 49.411732], [8.681703, 49.411733], [8.681701, 49.411735], [8.681699, 49.411736], [8.681698, 49.411738], [8.681696, 49.411739], [8.681694, 49.411741], [8.681692, 49.411743], [8.68169, 49.411744], [8.681688, 49.411746], [8.681687, 49.411748], [8.681685, 49.41175], [8.681683, 49.411752], [8.681682, 49.411754], [8.68168, 49.411756], [8.681678, 49.411759], [8.681677, 49.411761], [8.681675, 49.411763], [8.681673, 49.411766], [8.681672, 49.411768], [8.68167, 49.411771], [8.681669, 49.411773], [8.681667, 49.411776], [8.681666, 49.411779], [8.681664, 49.411782], [8.681663, 49.411784], [8.681661, 49.411787], [8.68166, 49.41179], [8.681658, 49.411793], [8.681657, 49.411797], [8.681655, 49.4118], [8.681654, 49.411804], [8.681653, 49.411808], [8.681652, 49.411813], [8.681651, 49.411818], [8.68165, 49.411824], [8.681649, 49.411829], [8.681648, 49.411836], [8.681647, 49.411842], [8.681647, 49.411849], [8.681646, 49.411857], [8.681645, 49.411865], [8.681645, 49.411873], [8.681644, 49.411882], [8.681644, 49.411891], [8.681644, 49.4119], [8.681644, 49.41191], [8.681644, 49.41192], [8.681643, 49.411931], [8.681643, 49.411942], [8.681644, 49.411953], [8.681644, 49.411965], [8.681644, 49.411977], [8.681644, 49.41199], [8.681644, 49.412003], [8.681645, 49.412016], [8.681645, 49.41203], [8.681646, 49.412044], [8.681647, 49.412058], [8.681647, 49.412073], [8.681648, 49.412089], [8.681649, 49.412104], [8.68165, 49.412121], [8.681651, 49.412137], [8.681653, 49.412154], [8.681655, 49.412172], [8.681657, 49.41219], [8.68166, 49.412209], [8.681662, 49.412228], [8.681665, 49.412248], [8.681668, 49.412268], [8.681672, 49.412288], [8.681676, 49.412309], [8.68168, 49.412331], [8.681684, 49.412353], [8.681689, 49.412375], [8.681693, 49.412398], [8.681699, 49.412422], [8.681704, 49.412446], [8.68171, 49.41247], [8.681715, 49.412495], [8.681722, 49.41252], [8.681728, 49.412546], [8.681735, 49.412572], [8.681742, 49.412599], [8.681749, 49.412627], [8.681756, 49.412654], [8.681764, 49.412683], [8.681772, 49.412711], [8.68178, 49.412741], [8.681789, 49.41277], [8.681798, 49.412801], [8.681807, 49.412831], [8.681816, 49.412863], [8.681826, 49.412895], [8.681835, 49.412929], [8.681845, 49.412965], [8.681854, 49.413002], [8.681864, 49.413041], [8.681874, 49.413081], [8.681884, 49.413123], [8.681894, 49.413166], [8.681904, 49.413211], [8.681914, 49.413257], [8.681925, 49.413305], [8.681935, 49.413354], [8.681945, 49.413405], [8.681956, 49.413457], [8.681967, 49.413511], [8.681977, 49.413566], [8.681988, 49.413623], [8.681999, 49.413681], [8.68201, 49.413741], [8.682021, 49.413802], [8.682032, 49.413865], [8.682043, 49.413929], [8.682055, 49.413995], [8.682066, 49.414062], [8.682078, 49.414131], [8.682089, 49.414201], [8.682101, 49.414273], [8.682113, 49.414346], [8.682125, 49.414421], [8.682136, 49.414498], [8.682148, 49.414575], [8.682161, 49.414655], [8.682172, 49.414732], [8.682184, 49.414806], [8.682196, 49.414878], [8.682207, 49.414948], [8.682218, 49.415016], [8.682229, 49.415081], [8.68224, 49.415144], [8.68225, 49.415204], [8.682261, 49.415262], [8.682271, 49.415317], [8.682281, 49.415371], [8.68229, 49.415422], [8.6823, 49.41547], [8.682309, 49.415516], [8.682318, 49.41556], [8.682327, 49.415601], [8.682336, 49.41564], [8.682345, 49.415677], [8.682353, 49.415711], [8.682361, 49.415743], [8.682369, 49.415773], [8.682377, 49.4158], [8.682384, 49.415825], [8.682392, 49.415847], [8.682399, 49.415867], [8.682406, 49.415885], [8.682413, 49.415901], [8.682419, 49.415914], [8.682425, 49.415924], [8.682432, 49.415932], [8.682438, 49.415938], [8.682443, 49.415942], [8.682449, 49.415945], [8.682455, 49.415949], [8.682461, 49.415952], [8.682468, 49.415955], [8.682474, 49.415958], [8.68248, 49.415961], [8.682487, 49.415964], [8.682494, 49.415967], [8.6825, 49.41597], [8.682507, 49.415973], [8.682514, 49.415976], [8.682521, 49.415978], [8.682528, 49.415981], [8.682536, 49.415983], [8.682543, 49.415986], [8.68255, 49.415988], [8.682558, 49.415991], [8.682566, 49.415993], [8.682574, 49.415995], [8.682582, 49.415997], [8.68259, 49.415999], [8.682598, 49.416001], [8.682606, 49.416003], [8.682614, 49.416005], [8.682623, 49.416007], [8.682631, 49.416008], [8.68264, 49.41601], [8.682649, 49.416012], [8.682658, 49.416013], [8.682667, 49.416015], [8.682676, 49.416016], [8.682685, 49.416017], [8.682694, 49.416018], [8.682704, 49.41602], [8.682713, 49.416021], [8.682722, 49.416022], [8.682732, 49.416023], [8.682741, 49.416024], [8.682751, 49.416025], [8.682761, 49.416025], [8.68277, 49.416026], [8.68278, 49.416027], [8.68279, 49.416028], [8.682799, 49.416028], [8.682809, 49.416029], [8.682819, 49.416029], [8.682829, 49.41603], [8.682839, 49.41603], [8.682849, 49.416031], [8.682859, 49.416031], [8.682869, 49.416031], [8.682879, 49.416031], [8.682889, 49.416032], [8.6829, 49.416032], [8.68291, 49.416032], [8.68292, 49.416032], [8.68293, 49.416032], [8.682941, 49.416032], [8.682951, 49.416031], [8.682962, 49.416031], [8.682972, 49.416031], [8.682983, 49.416031], [8.682994, 49.41603], [8.683004, 49.41603], [8.683015, 49.416029], [8.683026, 49.416029], [8.683037, 49.416028], [8.683047, 49.416027], [8.683058, 49.416026], [8.683069, 49.416024], [8.68308, 49.416023], [8.683091, 49.416021], [8.683102, 49.41602], [8.683113, 49.416018], [8.683124, 49.416016], [8.683135, 49.416014], [8.683146, 49.416012], [8.683157, 49.41601], [8.683169, 49.416007], [8.68318, 49.416005], [8.683191, 49.416002], [8.683202, 49.415999], [8.683214, 49.415996], [8.683225, 49.415993], [8.683236, 49.41599], [8.683248, 49.415987], [8.683259, 49.415983], [8.683271, 49.415979], [8.683282, 49.415976], [8.683294, 49.415972], [8.683305, 49.415968], [8.683317, 49.415964], [8.683329, 49.415959], [8.68334, 49.415955], [8.683352, 49.41595], [8.683364, 49.415946], [8.683375, 49.415941], [8.683387, 49.415935], [8.683397, 49.415929], [8.683408, 49.415922], [8.683418, 49.415915], [8.683428, 49.415908], [8.683438, 49.4159], [8.683448, 49.415892], [8.683457, 49.415883], [8.683466, 49.415874], [8.683474, 49.415864], [8.683483, 49.415854], [8.683491, 49.415843], [8.683499, 49.415832], [8.683506, 49.415821], [8.683513, 49.415809], [8.68352, 49.415796], [8.683527, 49.415783], [8.683534, 49.41577], [8.68354, 49.415756], [8.683545, 49.415742], [8.683551, 49.415727], [8.683556, 49.415712], [8.683561, 49.415697], [8.683566, 49.415681], [8.68357, 49.415664], [8.683574, 49.415647], [8.683578, 49.41563], [8.683582, 49.415612], [8.683585, 49.415593], [8.683588, 49.415575], [8.683591, 49.415555], [8.683593, 49.415536], [8.683596, 49.415517], [8.683599, 49.415498], [8.683601, 49.415478], [8.683603, 49.415459], [8.683605, 49.415439], [8.683608, 49.41542], [8.68361, 49.415401], [8.683612, 49.415381], [8.683614, 49.415362], [8.683615, 49.415342], [8.683617, 49.415323], [8.683619, 49.415303], [8.68362, 49.415284], [8.683622, 49.415264], [8.683623, 49.415245], [8.683625, 49.415225], [8.683626, 49.415206], [8.683627, 49.415186], [8.683628, 49.415166], [8.683629, 49.415147], [8.68363, 49.415127], [8.683631, 49.415107], [8.683632, 49.415088], [8.683632, 49.415068], [8.683633, 49.415048], [8.683634, 49.415028], [8.683634, 49.415008], [8.683634, 49.414989], [8.683635, 49.414969], [8.683635, 49.414949], [8.683635, 49.414929], [8.683635, 49.414909], [8.683636, 49.414889], [8.683636, 49.414869], [8.683636, 49.414849], [8.683637, 49.414828], [8.683638, 49.414808], [8.683638, 49.414787], [8.683639, 49.414767], [8.68364, 49.414746], [8.683641, 49.414725], [8.683642, 49.414705], [8.683643, 49.414684], [8.683645, 49.414663], [8.683646, 49.414641], [8.683648, 49.41462], [8.683649, 49.414599], [8.683651, 49.414577], [8.683653, 49.414556], [8.683654, 49.414534], [8.683656, 49.414513], [8.683658, 49.414491], [8.68366, 49.414469], [8.683662, 49.414447], [8.683665, 49.414425], [8.683667, 49.414403], [8.68367, 49.414381], [8.683672, 49.414358], [8.683675, 49.414336], [8.683677, 49.414314], [8.68368, 49.414291], [8.683683, 49.414268], [8.683686, 49.414246], [8.683689, 49.414223], [8.683692, 49.414202], [8.683695, 49.414181], [8.683697, 49.41416], [8.6837, 49.41414], [8.683703, 49.414121], [8.683706, 49.414102], [8.683708, 49.414083], [8.683711, 49.414066], [8.683714, 49.414048], [8.683716, 49.414032], [8.683719, 49.414015], [8.683721, 49.414], [8.683724, 49.413985], [8.683726, 49.41397], [8.683729, 49.413956], [8.683731, 49.413943], [8.683733, 49.41393], [8.683736, 49.413918], [8.683738, 49.413906], [8.68374, 49.413895], [8.683742, 49.413884], [8.683744, 49.413874], [8.683746, 49.413864], [8.683748, 49.413855], [8.68375, 49.413847], [8.683752, 49.413839], [8.683754, 49.413831], [8.683756, 49.413825], [8.683758, 49.413818], [8.68376, 49.413813], [8.683762, 49.413807], [8.683764, 49.413802], [8.683766, 49.413797], [8.683768, 49.413792], [8.68377, 49.413786], [8.683772, 49.413781], [8.683775, 49.413775], [8.683777, 49.41377], [8.683779, 49.413764], [8.683782, 49.413758], [8.683785, 49.413753], [8.683787, 49.413747], [8.68379, 49.413741], [8.683793, 49.413735], [8.683796, 49.413729], [8.683799, 49.413723], [8.683802, 49.413717], [8.683805, 49.413711], [8.683809, 49.413705], [8.683812, 49.413699], [8.683816, 49.413692], [8.683819, 49.413686], [8.683823, 49.41368], [8.683827, 49.413673], [8.68383, 49.413667], [8.683834, 49.41366], [8.683838, 49.413654], [8.683842, 49.413647], [8.683846, 49.41364], [8.683851, 49.413634], [8.683855, 49.413627], [8.683859, 49.41362], [8.683864, 49.413613], [8.683868, 49.413606], [8.683873, 49.413599], [8.683878, 49.413592], [8.683883, 49.413585], [8.683888, 49.413579], [8.683893, 49.413572], [8.683899, 49.413565], [8.683904, 49.413558], [8.68391, 49.413551], [8.683916, 49.413544], [8.683921, 49.413537], [8.683927, 49.413531], [8.683934, 49.413524], [8.68394, 49.413517], [8.683946, 49.41351], [8.683953, 49.413503], [8.68396, 49.413496], [8.683966, 49.41349], [8.683973, 49.413483], [8.68398, 49.413476], [8.683988, 49.413469], [8.683995, 49.413462], [8.684002, 49.413456], [8.68401, 49.413449], [8.684018, 49.413442], [8.684026, 49.413435], [8.684033, 49.413428], [8.684042, 49.413422], [8.68405, 49.413415], [8.684058, 49.413408], [8.684067, 49.413401], [8.684075, 49.413395], [8.684084, 49.413388], [8.684092, 49.413382], [8.684101, 49.413375], [8.684109, 49.413369], [8.684117, 49.413363], [8.684125, 49.413357], [8.684133, 49.413352], [8.68414, 49.413346], [8.684148, 49.413341], [8.684155, 49.413335], [8.684163, 49.41333], [8.68417, 49.413325], [8.684177, 49.41332], [8.684184, 49.413316], [8.684191, 49.413311], [8.684198, 49.413307], [8.684205, 49.413302], [8.684212, 49.413298], [8.684218, 49.413294], [8.684225, 49.413291], [8.684231, 49.413287], [8.684237, 49.413283], [8.684243, 49.41328], [8.684249, 49.413277], [8.684255, 49.413274], [8.684261, 49.413271], [8.684266, 49.413268], [8.684272, 49.413265], [8.684277, 49.413263], [8.684283, 49.413261], [8.684288, 49.413259], [8.684293, 49.413256], [8.684298, 49.413254], [8.684304, 49.413253], [8.684309, 49.413251], [8.684314, 49.413249], [8.68432, 49.413247], [8.684326, 49.413245], [8.684331, 49.413243], [8.684337, 49.413241], [8.684343, 49.413239], [8.684349, 49.413238], [8.684355, 49.413236], [8.684362, 49.413234], [8.684368, 49.413233], [8.684374, 49.413231], [8.684381, 49.413229], [8.684387, 49.413228], [8.684394, 49.413226], [8.684401, 49.413225], [8.684408, 49.413223], [8.684415, 49.413222], [8.684422, 49.41322], [8.684429, 49.413219], [8.684436, 49.413217], [8.684444, 49.413216], [8.684451, 49.413215], [8.684459, 49.413213], [8.684466, 49.413212], [8.684474, 49.413211], [8.684482, 49.413209], [8.68449, 49.413208], [8.684498, 49.413207], [8.684506, 49.413206], [8.684515, 49.413205], [8.684525, 49.413204], [8.684535, 49.413203], [8.684546, 49.413203], [8.684558, 49.413202], [8.684571, 49.413202], [8.684584, 49.413202], [8.684598, 49.413202], [8.684613, 49.413202], [8.684629, 49.413202], [8.684645, 49.413202], [8.684663, 49.413203], [8.68468, 49.413203], [8.684699, 49.413204], [8.684719, 49.413205], [8.684739, 49.413206], [8.68476, 49.413207], [8.684782, 49.413208], [8.684804, 49.41321], [8.684827, 49.413211], [8.684851, 49.413213], [8.684876, 49.413215], [8.684902, 49.413217], [8.684928, 49.413219], [8.684955, 49.413221], [8.684983, 49.413224], [8.685011, 49.413226], [8.68504, 49.413229], [8.68507, 49.413231], [8.685101, 49.413234], [8.685133, 49.413237], [8.685165, 49.413241], [8.685197, 49.413244], [8.685228, 49.413247], [8.685259, 49.41325], [8.685289, 49.413252], [8.685318, 49.413255], [8.685347, 49.413258], [8.685376, 49.41326], [8.685403, 49.413263], [8.685431, 49.413265], [8.685457, 49.413268], [8.685483, 49.41327], [8.685509, 49.413272], [8.685534, 49.413274], [8.685558, 49.413276], [8.685582, 49.413278], [8.685606, 49.41328], [8.685628, 49.413281], [8.685651, 49.413283], [8.685672, 49.413284], [8.685693, 49.413286], [8.685714, 49.413287], [8.685734, 49.413288], [8.685753, 49.413289], [8.685772, 49.41329], [8.68579, 49.413291], [8.685808, 49.413292], [8.685825, 49.413293], [8.685842, 49.413294], [8.685858, 49.413294], [8.685873, 49.413295], [8.685888, 49.413295], [8.685902, 49.413296], [8.685917, 49.413296], [8.685932, 49.413296], [8.685948, 49.413296], [8.685964, 49.413296], [8.685981, 49.413296], [8.685998, 49.413295], [8.686016, 49.413295], [8.686034, 49.413294], [8.686053, 49.413293], [8.686072, 49.413293], [8.686091, 49.413292], [8.686111, 49.413291], [8.686132, 49.413289], [8.686153, 49.413288], [8.686175, 49.413287], [8.686197, 49.413285], [8.686219, 49.413283], [8.686242, 49.413282], [8.686266, 49.41328], [8.68629, 49.413278], [8.686314, 49.413276], [8.686339, 49.413273], [8.686364, 49.413271], [8.68639, 49.413268], [8.686416, 49.413266], [8.686443, 49.413263], [8.686471, 49.41326], [8.686498, 49.413257], [8.686527, 49.413254], [8.686555, 49.413251], [8.686585, 49.413248], [8.686614, 49.413244], [8.686645, 49.413241], [8.686675, 49.413238], [8.686707, 49.413235], [8.686739, 49.413231], [8.686771, 49.413229], [8.686804, 49.413226], [8.686837, 49.413223], [8.686871, 49.41322], [8.686906, 49.413218], [8.686941, 49.413215], [8.686977, 49.413213], [8.687013, 49.41321], [8.687049, 49.413208], [8.687087, 49.413206], [8.687124, 49.413204], [8.687163, 49.413202], [8.687201, 49.4132], [8.687241, 49.413199], [8.687281, 49.413197], [8.687321, 49.413195], [8.687362, 49.413194], [8.687404, 49.413193], [8.687446, 49.413191], [8.687488, 49.41319], [8.687531, 49.413189], [8.687575, 49.413188], [8.687619, 49.413187], [8.687664, 49.413186], [8.687709, 49.413186], [8.687755, 49.413185], [8.687801, 49.413185], [8.687848, 49.413184], [8.687894, 49.413184], [8.687939, 49.413183], [8.687983, 49.413183], [8.688026, 49.413182], [8.688068, 49.413182], [8.688109, 49.413181], [8.688149, 49.413181], [8.688188, 49.41318], [8.688226, 49.413179], [8.688263, 49.413179], [8.688299, 49.413178], [8.688334, 49.413177], [8.688368, 49.413176], [8.688402, 49.413175], [8.688434, 49.413175], [8.688465, 49.413174], [8.688495, 49.413173], [8.688525, 49.413172], [8.688553, 49.413171], [8.688581, 49.41317], [8.688607, 49.413169], [8.688632, 49.413168], [8.688657, 49.413167], [8.68868, 49.413165], [8.688703, 49.413164], [8.688724, 49.413163], [8.688745, 49.413162], [8.688765, 49.413161], [8.688783, 49.413159], [8.688801, 49.413158], [8.688818, 49.413157], [8.688833, 49.413155], [8.688849, 49.413154], [8.688864, 49.413152], [8.688879, 49.413151], [8.688894, 49.413149], [8.688909, 49.413148], [8.688923, 49.413146], [8.688937, 49.413144], [8.688951, 49.413143], [8.688965, 49.413141], [8.688979, 49.413139], [8.688992, 49.413137], [8.689005, 49.413135], [8.689018, 49.413133], [8.689031, 49.413131], [8.689043, 49.413129], [8.689055, 49.413127], [8.689067, 49.413125], [8.689079, 49.413123], [8.689091, 49.413121], [8.689102, 49.413118], [8.689113, 49.413116], [8.689124, 49.413114], [8.689135, 49.413111], [8.689145, 49.413109], [8.689156, 49.413106], [8.689166, 49.413104], [8.689175, 49.413101], [8.689185, 49.413099], [8.689194, 49.413096], [8.689204, 49.413093], [8.689213, 49.41309], [8.689221, 49.413088], [8.68923, 49.413085], [8.689239, 49.413082], [8.689247, 49.413079], [8.689255, 49.413076], [8.689264, 49.413073], [8.689272, 49.41307], [8.68928, 49.413067], [8.689288, 49.413064], [8.689296, 49.413061], [8.689304, 49.413058], [8.689312, 49.413055], [8.689319, 49.413052], [8.689327, 49.413049], [8.689334, 49.413046], [8.689341, 49.413043], [8.689349, 49.41304], [8.689356, 49.413036], [8.689363, 49.413033], [8.68937, 49.41303], [8.689377, 49.413027], [8.689384, 49.413023], [8.68939, 49.41302], [8.689397, 49.413017], [8.689404, 49.413013], [8.68941, 49.41301], [8.689416, 49.413007], [8.689423, 49.413003], [8.689429, 49.413], [8.689435, 49.412996], [8.689441, 49.412993], [8.689447, 49.412989], [8.689452, 49.412986], [8.689458, 49.412982], [8.689464, 49.412978], [8.68947, 49.412974], [8.689475, 49.412969], [8.689481, 49.412965], [8.689486, 49.41296], [8.689492, 49.412955], [8.689498, 49.412949], [8.689503, 49.412944], [8.689509, 49.412938], [8.689514, 49.412932], [8.689519, 49.412925], [8.689525, 49.412919], [8.68953, 49.412912], [8.689536, 49.412905], [8.689541, 49.412898], [8.689546, 49.412891], [8.689551, 49.412883], [8.689557, 49.412875], [8.689562, 49.412867], [8.689567, 49.412859], [8.689572, 49.41285], [8.689577, 49.412841], [8.689582, 49.412832], [8.689587, 49.412823], [8.689592, 49.412813], [8.689597, 49.412804], [8.689602, 49.412794], [8.689607, 49.412783], [8.689612, 49.412773], [8.689617, 49.412762], [8.689622, 49.412752], [8.689627, 49.412741], [8.689631, 49.41273], [8.689636, 49.412719], [8.689641, 49.412708], [8.689645, 49.412698], [8.689649, 49.412687], [8.689654, 49.412676], [8.689658, 49.412666], [8.689662, 49.412655], [8.689666, 49.412645], [8.68967, 49.412634], [8.689674, 49.412624], [8.689678, 49.412613], [8.689682, 49.412603], [8.689686, 49.412593], [8.689689, 49.412582], [8.689693, 49.412572], [8.689696, 49.412562], [8.6897, 49.412552], [8.689703, 49.412542], [8.689706, 49.412532], [8.689709, 49.412521], [8.689713, 49.412511], [8.689716, 49.412501], [8.689719, 49.412491], [8.689721, 49.412481], [8.689724, 49.412472], [8.689727, 49.412462], [8.68973, 49.412452], [8.689732, 49.412442], [8.689735, 49.412432], [8.689737, 49.412423], [8.68974, 49.412413], [8.689742, 49.412403], [8.689744, 49.412394], [8.689746, 49.412385], [8.689748, 49.412376], [8.68975, 49.412366], [8.689752, 49.412357], [8.689754, 49.412348], [8.689755, 49.41234], [8.689757, 49.412331], [8.689758, 49.412322], [8.68976, 49.412314], [8.689761, 49.412305], [8.689762, 49.412297], [8.689763, 49.412289], [8.689765, 49.41228], [8.689766, 49.412272], [8.689766, 49.412264], [8.689767, 49.412257], [8.689768, 49.412249], [8.689769, 49.412241], [8.689769, 49.412234], [8.68977, 49.412226], [8.68977, 49.412219], [8.68977, 49.412211], [8.68977, 49.412204], [8.689771, 49.412197], [8.689771, 49.41219], [8.689771, 49.412183], [8.68977, 49.412176], [8.68977, 49.41217], [8.68977, 49.412163], [8.68977, 49.412157], [8.689769, 49.41215], [8.689769, 49.412144], [8.689768, 49.412138], [8.689768, 49.412133], [8.689767, 49.412127], [8.689767, 49.412121], [8.689766, 49.412116], [8.689766, 49.412111], [8.689765, 49.412106], [8.689765, 49.412101], [8.689764, 49.412096], [8.689763, 49.412092], [8.689763, 49.412087], [8.689762, 49.412083], [8.689761, 49.412079], [8.68976, 49.412075], [8.68976, 49.412071], [8.689759, 49.412068], [8.689758, 49.412064], [8.689757, 49.412061], [8.689756, 49.412058], [8.689755, 49.412055], [8.689754, 49.412052], [8.689753, 49.412049], [8.689752, 49.412047], [8.689751, 49.412044], [8.68975, 49.412042], [8.689749, 49.41204], [8.689748, 49.412038], [8.689747, 49.412036], [8.689746, 49.412035], [8.689745, 49.412033], [8.689743, 49.412032], [8.689742, 49.41203], [8.689741, 49.412029], [8.689739, 49.412027], [8.689738, 49.412026], [8.689736, 49.412024], [8.689734, 49.412023], [8.689732, 49.412021], [8.689731, 49.41202], [8.689729, 49.412018], [8.689727, 49.412017], [8.689725, 49.412016], [8.689722, 49.412014], [8.68972, 49.412013], [8.689718, 49.412012], [8.689716, 49.412011], [8.689713, 49.412009], [8.689711, 49.412008], [8.689708, 49.412007], [8.689706, 49.412006], [8.689703, 49.412005], [8.6897, 49.412003], [8.689697, 49.412002], [8.689694, 49.412001], [8.689692, 49.412], [8.689688, 49.411999], [8.689685, 49.411998], [8.689682, 49.411997], [8.689679, 49.411996], [8.689676, 49.411995], [8.689672, 49.411994], [8.689665, 49.411993], [8.689655, 49.411992], [8.689641, 49.411991], [8.689623, 49.411991], [8.689602, 49.41199], [8.689577, 49.411989], [8.689548, 49.411988], [8.689516, 49.411988], [8.689481, 49.411987], [8.689442, 49.411987], [8.689399, 49.411986], [8.689353, 49.411986], [8.689303, 49.411985], [8.689249, 49.411985], [8.689192, 49.411984], [8.689132, 49.411984], [8.689067, 49.411984], [8.689, 49.411983], [8.688928, 49.411983], [8.688853, 49.411983], [8.688775, 49.411983], [8.688693, 49.411983], [8.688607, 49.411983], [8.688518, 49.411983], [8.688425, 49.411983], [8.688328, 49.411983], [8.688228, 49.411983], [8.688125, 49.411983], [8.688018, 49.411983], [8.687907, 49.411984], [8.687792, 49.411984], [8.687675, 49.411984], [8.687559, 49.411984], [8.687445, 49.411984], [8.687334, 49.411984], [8.687225, 49.411984], [8.687119, 49.411984], [8.687014, 49.411984], [8.686912, 49.411983], [8.686812, 49.411983], [8.686714, 49.411982], [8.686619, 49.411981], [8.686526, 49.411981], [8.686435, 49.41198], [8.686346, 49.411978], [8.68626, 49.411977], [8.686175, 49.411976], [8.686093, 49.411975], [8.686014, 49.411973], [8.685936, 49.411971], [8.685861, 49.41197], [8.685788, 49.411968], [8.685717, 49.411966], [8.685649, 49.411964], [8.685582, 49.411962], [8.685518, 49.411959], [8.685457, 49.411957], [8.685397, 49.411955], [8.68534, 49.411952], [8.685285, 49.411949], [8.685232, 49.411946], [8.685181, 49.411944], [8.685133, 49.411941], [8.685087, 49.411937], [8.68504, 49.411934], [8.684993, 49.411931], [8.684946, 49.411927], [8.684897, 49.411923], [8.684849, 49.411919], [8.6848, 49.411915], [8.68475, 49.411911], [8.6847, 49.411906], [8.684649, 49.411901], [8.684598, 49.411897], [8.684546, 49.411892], [8.684493, 49.411886], [8.684441, 49.411881], [8.684387, 49.411875], [8.684333, 49.41187], [8.684279, 49.411864], [8.684224, 49.411858], [8.684168, 49.411851], [8.684112, 49.411845], [8.684056, 49.411838], [8.683999, 49.411831], [8.683941, 49.411824], [8.683883, 49.411817], [8.683824, 49.41181], [8.683765, 49.411803], [8.683706, 49.411795], [8.683645, 49.411787], [8.683585, 49.411779], [8.683523, 49.411771], [8.683462, 49.411762], [8.683399, 49.411754], [8.683337, 49.411745], [8.683275, 49.411737], [8.683216, 49.411729], [8.683158, 49.411721], [8.683102, 49.411713], [8.683047, 49.411706], [8.682995, 49.411699], [8.682944, 49.411692], [8.682894, 49.411685], [8.682846, 49.411679], [8.6828, 49.411673], [8.682755, 49.411667], [8.682713, 49.411662], [8.682671, 49.411657], [8.682632, 49.411652], [8.682594, 49.411648], [8.682558, 49.411643], [8.682523, 49.411639], [8.682491, 49.411635], [8.682459, 49.411632], [8.68243, 49.411629], [8.682402, 49.411626], [8.682376, 49.411623], [8.682351, 49.411621], [8.682328, 49.411619], [8.682307, 49.411617], [8.682288, 49.411615], [8.68227, 49.411614], [8.682253, 49.411613], [8.682239, 49.411613], [8.682226, 49.411612], [8.682215, 49.411612], [8.682205, 49.411612], [8.682196, 49.411612], [8.682186, 49.411613], [8.682176, 49.411613], [8.682167, 49.411613], [8.682157, 49.411614], [8.682148, 49.411615], [8.682138, 49.411615], [8.682128, 49.411616], [8.682119, 49.411617], [8.682109, 49.411618], [8.6821, 49.411619], [8.68209, 49.411621], [8.68208, 49.411622], [8.682071, 49.411623], [8.682061, 49.411625], [8.682051, 49.411626], [8.682042, 49.411628], [8.682032, 49.41163], [8.682022, 49.411632], [8.682013, 49.411634], [8.682003, 49.411636], [8.681993, 49.411638], [8.681983, 49.41164], [8.681974, 49.411642], [8.681964, 49.411645], [8.681954, 49.411647], [8.681944, 49.41165], [8.681935, 49.411652], [8.681925, 49.411655], [8.681915, 49.411658], [8.681905, 49.411661], [8.681896, 49.411664], [8.681886, 49.411667], [8.681877, 49.41167], [8.681868, 49.411673], [8.681859, 49.411676], [8.68185, 49.411678], [8.681842, 49.411681], [8.681834, 49.411684], [8.681826, 49.411686], [8.681819, 49.411689], [8.681811, 49.411691], [8.681804, 49.411693], [8.681797, 49.411696], [8.681791, 49.411698], [8.681784, 49.4117], [8.681778, 49.411702], [8.681772, 49.411704], [8.681767, 49.411706], [8.681761, 49.411708], [8.681756, 49.41171], [8.681751, 49.411712], [8.681746, 49.411713], [8.681742, 49.411715], [8.681738, 49.411717], [8.681734, 49.411718], [8.68173, 49.41172], [8.681727, 49.411721], [8.681723, 49.411723], [8.68172, 49.411724], [8.681718, 49.411725], [8.681715, 49.411726], [8.681713, 49.411727]]]}, "properties": {"color": "foo", "name": "sketch_map.png"}}]} \ No newline at end of file diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 8548c3ed..ac60df56 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -370,21 +370,16 @@ def uuid_digitize( assert url_rest == "/digitize/results" # Wait for tasks to be finished and retrieve results (vector and raster) - with flask_app.app_context(): - id_vector = db_client_flask.get_async_result_id(uuid, "vector-results") - id_raster = db_client_flask.get_async_result_id(uuid, "raster-results") - group_raster = celery_app.GroupResult.restore(id_raster) - group_vector = celery_app.GroupResult.restore(id_vector) - result_raster = group_raster.get(timeout=180) - result_vector = group_vector.get(timeout=180) + result = celery_app.GroupResult.restore(uuid).get(timeout=180) + # Write sketch map to temporary test directory dir = tmp_path_factory.mktemp(uuid, numbered=False) path_raster = dir / "raster.zip" path_vector = dir / "vector.geojson" with open(path_vector, "w") as file: - file.write(json.dumps(merge(result_vector))) + file.write(json.dumps(merge(r[-1] for r in result))) with open(path_raster, "wb") as file: - r = zip_(result_raster) + r = zip_([r[:-1] for r in result]) file.write(r.getbuffer()) return uuid diff --git a/tests/integration/test_routes.py b/tests/integration/test_routes.py index b691a903..825a1de2 100644 --- a/tests/integration/test_routes.py +++ b/tests/integration/test_routes.py @@ -77,7 +77,8 @@ def test_create_results_post( @patch("sketch_map_tool.routes.chord") @vcr_app.use_cassette def test_digitize_results_post(mock_chord, sketch_map_marked, flask_client): - mock_chord.get.side_effect = Mock() # mock chord/task execution in Celery + # mock chord/task execution in Celery + mock_chord.return_value.apply_async.return_value.parent.id = uuid4() unique_file_name = str(uuid4()) data = {"file": [(BytesIO(sketch_map_marked), unique_file_name)], "consent": "True"} response = flask_client.post("/digitize/results", data=data, follow_redirects=True) @@ -96,7 +97,8 @@ def test_digitize_results_post(mock_chord, sketch_map_marked, flask_client): @patch("sketch_map_tool.routes.chord") @vcr_app.use_cassette def test_digitize_results_post_no_consent(mock_chord, sketch_map_marked, flask_client): - mock_chord.get.side_effect = Mock() # mock chord/task execution in Celery + # mock chord/task execution in Celery + mock_chord.return_value.apply_async.return_value.parent.id = uuid4() # do not send consent parameter # -> consent is a checkbox and only send if selected unique_file_name = str(uuid4()) @@ -123,7 +125,8 @@ def test_digitize_results_legacy_2024_04_15( flask_client, ): """Legacy map frames in DB do not have bbox, lon, lat and format set.""" - mock_chord.get.side_effect = Mock() # mock chord/task execution in Celery + # mock chord/task execution in Celery + mock_chord.return_value.apply_async.return_value.parent.id = uuid4() unique_file_name = str(uuid4()) data = {"file": [(BytesIO(sketch_map_marked), unique_file_name)], "consent": "True"} response = flask_client.post("/digitize/results", data=data, follow_redirects=True) @@ -165,7 +168,7 @@ def test_api_status_uuid_digitize(uuid_digitize, type_, flask_client): @patch("sketch_map_tool.routes.chord") def test_api_status_uuid_digitize_info(mock_chord, sketch_map_marked, flask_client): """Test if custom task status information is return by /status.""" - mock_chord.get.side_effect = Mock() # mock chord/task execution in Celery + mock_chord.return_value.apply_async.return_value.parent.id = uuid4() unique_file_name = str(uuid4()) data = {"file": [(BytesIO(sketch_map_marked), unique_file_name)], "consent": "True"} response = flask_client.post("/digitize/results", data=data, follow_redirects=True) diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index b6ba8f6f..9a2c6dba 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -7,7 +7,7 @@ from celery.result import AsyncResult, GroupResult from werkzeug.datastructures import FileStorage -from sketch_map_tool.exceptions import QRCodeError +from sketch_map_tool.exceptions import QRCodeError, UUIDNotFoundError from sketch_map_tool.models import Bbox, Layer, PaperFormat, Size from sketch_map_tool.routes import app from tests import FIXTURE_DIR @@ -161,12 +161,19 @@ def files(file): return [file, file] -@pytest.fixture() -def mock_request_task_mapping(uuid, monkeypatch): - """Mock request id to task id mapping.""" +@pytest.fixture(autouse=True) +def mock_request_task_mapping(monkeypatch): + """Mock every request id to task id mapping . + + This mapping is only present because of legacy support. + """ + + def raise_(exception): + raise exception + monkeypatch.setattr( "sketch_map_tool.routes.db_client_flask.get_async_result_id", - lambda *_: uuid, + lambda *_: raise_(UUIDNotFoundError("")), ) @@ -177,8 +184,7 @@ def mock_async_result_success(monkeypatch): mock.ready.return_value = True mock.failed.return_value = False mock.successful.return_value = True - - monkeypatch.setattr("sketch_map_tool.routes.celery_app.AsyncResult", lambda _: mock) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -189,7 +195,7 @@ def mock_async_result_started(monkeypatch): mock.ready.return_value = False mock.failed.return_value = False mock.successful.return_value = False - monkeypatch.setattr("sketch_map_tool.routes.celery_app.AsyncResult", lambda _: mock) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -202,7 +208,7 @@ def mock_async_result_failure(monkeypatch): mock.failed.return_value = True mock.successful.return_value = False mock.get.side_effect = QRCodeError("Mock error") - monkeypatch.setattr("sketch_map_tool.routes.celery_app.AsyncResult", lambda _: mock) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -215,8 +221,7 @@ def mock_async_result_failure_hard(monkeypatch): mock.failed.return_value = True mock.successful.return_value = False mock.get.side_effect = ValueError() - - monkeypatch.setattr("sketch_map_tool.routes.celery_app.AsyncResult", lambda _: mock) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -226,11 +231,9 @@ def mock_group_result_success(mock_async_result_success, monkeypatch): mock.ready.return_value = True mock.failed.return_value = False mock.successful.return_value = True + mock.get.return_value = [[Mock()]] mock.results = [mock_async_result_success] - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -241,10 +244,7 @@ def mock_group_result_started(mock_async_result_started, monkeypatch): mock.failed.return_value = False mock.successful.return_value = True mock.results = [mock_async_result_started] - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) return mock @@ -256,10 +256,7 @@ def mock_group_result_failure(mock_async_result_failure, monkeypatch): mock.successful.return_value = False mock.results = [mock_async_result_failure] mock.get.side_effect = mock_async_result_failure.get - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) @pytest.fixture @@ -270,10 +267,7 @@ def mock_group_result_failure_hard(mock_async_result_failure_hard, monkeypatch): mock.successful.return_value = False mock.results = [mock_async_result_failure_hard] mock.get.side_effect = mock_async_result_failure_hard.get - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) @pytest.fixture @@ -293,10 +287,7 @@ def mock_group_result_started_success_failure( mock_async_result_failure, ] mock.get.side_effect = mock_async_result_failure.get - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) @pytest.fixture @@ -314,7 +305,4 @@ def mock_group_result_success_failure( mock_async_result_failure, ] mock.get.side_effect = mock_async_result_failure.get - - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) diff --git a/tests/unit/test_routes_api_download.py b/tests/unit/test_routes_api_download.py index a1aec61c..f55e8153 100644 --- a/tests/unit/test_routes_api_download.py +++ b/tests/unit/test_routes_api_download.py @@ -94,10 +94,8 @@ def test_group_success_failure( mock_async_result_success, mock_async_result_failure, ] - mock.get.side_effect = mock_async_result_success.get - monkeypatch.setattr( - "sketch_map_tool.routes.celery_app.GroupResult.restore", lambda _: mock - ) + mock.get.return_value = [[mock_async_result_success.get]] + monkeypatch.setattr("sketch_map_tool.routes.get_async_result", lambda _: mock) resp = client.get("/api/download/{0}/{1}".format(uuid, type_)) assert resp.status_code == 200 diff --git a/tests/unit/test_routes_digitize.py b/tests/unit/test_routes_digitize.py index ce3e15a7..aecb033d 100644 --- a/tests/unit/test_routes_digitize.py +++ b/tests/unit/test_routes_digitize.py @@ -1,5 +1,3 @@ -from uuid import uuid4 - import pytest from sketch_map_tool.routes import app @@ -12,12 +10,9 @@ def client(): @pytest.fixture() def mock_tasks(uuid, monkeypatch): - """Mock celery workflow generate digitized results.""" - monkeypatch.setattr( - "sketch_map_tool.routes.tasks.digitize_sketches", lambda _: str(uuid4()) - ) + """Mock celery workflow of upload processing.""" monkeypatch.setattr( - "sketch_map_tool.routes.tasks.georeference_sketch_map", lambda _: str(uuid()) + "sketch_map_tool.routes.tasks.upload_processing", lambda _: str(uuid()) )