From c9ee022db272b47f0baa6523bfd61ddcb9372951 Mon Sep 17 00:00:00 2001 From: Thomas Mills Date: Thu, 23 May 2024 10:59:57 +0200 Subject: [PATCH] WIP initial Polygonlayer examples --- src/pages/PolygonLayer/PolygonLayer.test.tsx | 14 + src/pages/PolygonLayer/PolygonLayer.tsx | 89 + src/pages/PolygonLayer/PolygonLayerArray.tsx | 121 + src/pages/PolygonLayer/data.json | 2163 +++++++++++++++++ src/pages/PolygonLayer/single.json | 645 +++++ src/pages/PolygonLayer/styles.module.css | 4 + src/stories/pages/PolygonLayer/index.mdx | 52 + .../pages/PolygonLayer/index.stories.ts | 19 + src/utils/reverseLatLng.ts | 11 + 9 files changed, 3118 insertions(+) create mode 100644 src/pages/PolygonLayer/PolygonLayer.test.tsx create mode 100644 src/pages/PolygonLayer/PolygonLayer.tsx create mode 100644 src/pages/PolygonLayer/PolygonLayerArray.tsx create mode 100644 src/pages/PolygonLayer/data.json create mode 100644 src/pages/PolygonLayer/single.json create mode 100644 src/pages/PolygonLayer/styles.module.css create mode 100644 src/stories/pages/PolygonLayer/index.mdx create mode 100644 src/stories/pages/PolygonLayer/index.stories.ts create mode 100644 src/utils/reverseLatLng.ts diff --git a/src/pages/PolygonLayer/PolygonLayer.test.tsx b/src/pages/PolygonLayer/PolygonLayer.test.tsx new file mode 100644 index 0000000..2631fdb --- /dev/null +++ b/src/pages/PolygonLayer/PolygonLayer.test.tsx @@ -0,0 +1,14 @@ +import { describe, expect, it } from 'vitest'; +import { render } from '@testing-library/react'; +import PolygonLayer from './PolygonLayer'; + +describe('PolygonLayer', () => { + it('renders the component', () => { + const { container } = render(); + expect(container.firstChild).toBeDefined(); + }); + + // it('', () => { + + // }); +}); diff --git a/src/pages/PolygonLayer/PolygonLayer.tsx b/src/pages/PolygonLayer/PolygonLayer.tsx new file mode 100644 index 0000000..5cca9f8 --- /dev/null +++ b/src/pages/PolygonLayer/PolygonLayer.tsx @@ -0,0 +1,89 @@ +import { useEffect, useRef, useState } from 'react'; +import type { FunctionComponent } from 'react'; +import L, { LatLngTuple } from 'leaflet'; +import 'leaflet/dist/leaflet.css'; +import getCrsRd from '@/utils/getCrsRd'; +import styles from './styles.module.css'; +import data from './single.json'; + +const polygonStyles = { + fillOpacity: 0.2, + color: '#0000ff', +}; + +const polygonHoverStyles = { + ...polygonStyles, + fillOpacity: 0.5, + color: '#ff0000', +}; + +const PolygonLayer: FunctionComponent = () => { + const containerRef = useRef(null); + const [mapInstance, setMapInstance] = useState(null); + const createdMapInstance = useRef(false); + + const polygonRef = useRef(null); + + // Set the Leaflet map and Amsterdam base layer + useEffect(() => { + if (containerRef.current === null || createdMapInstance.current !== false) { + return; + } + + const map = new L.Map(containerRef.current, { + center: L.latLng([52.370216, 4.895168]), + zoom: 12, + layers: [ + L.tileLayer('https://{s}.data.amsterdam.nl/topo_rd/{z}/{x}/{y}.png', { + attribution: '', + subdomains: ['t1', 't2', 't3', 't4'], + tms: true, + }), + ], + zoomControl: false, + maxZoom: 16, + minZoom: 3, + crs: getCrsRd(), + maxBounds: [ + [52.25168, 4.64034], + [52.50536, 5.10737], + ], + }); + + map.attributionControl.setPrefix(false); + + createdMapInstance.current = true; + setMapInstance(map); + + return () => { + if (mapInstance) mapInstance.remove(); + }; + }, []); + + // Create the polygon layer and add it to the map + useEffect(() => { + if (mapInstance) { + // TypeScript will often throw errors with Leaflet coordinate sets if you don't explicitly cast the type + polygonRef.current = L.polygon( + data.geometry.coordinates as LatLngTuple[][][] + ) + .addTo(mapInstance) + .on('mouseover', () => { + polygonRef.current?.setStyle(polygonHoverStyles); + }) + .on('mouseout', () => { + polygonRef.current?.setStyle(polygonStyles); + }); + } + + return () => { + if (polygonRef.current && mapInstance) { + mapInstance.removeLayer(polygonRef.current); + } + }; + }, [data, mapInstance]); + + return
; +}; + +export default PolygonLayer; diff --git a/src/pages/PolygonLayer/PolygonLayerArray.tsx b/src/pages/PolygonLayer/PolygonLayerArray.tsx new file mode 100644 index 0000000..117edc4 --- /dev/null +++ b/src/pages/PolygonLayer/PolygonLayerArray.tsx @@ -0,0 +1,121 @@ +import { useEffect, useRef, useState } from 'react'; +import type { FunctionComponent } from 'react'; +import type { FeatureCollection, LineString } from 'geojson'; +import L, { LatLngTuple } from 'leaflet'; +import 'leaflet/dist/leaflet.css'; +import getCrsRd from '@/utils/getCrsRd'; +import styles from './styles.module.css'; +import data from './data.json'; +import reverseLatLng from '@/utils/reverseLatLng'; + +const polygonInactiveStyles = { + fillOpacity: 0.2, + color: '#0000ff', +}; + +const polygonActiveStyles = { + ...polygonInactiveStyles, + fillOpacity: 0.5, + color: '#ff0000', +}; + +// TODO align code comments with Marker +const PolygonLayer: FunctionComponent = () => { + const containerRef = useRef(null); + const [mapInstance, setMapInstance] = useState(null); + const createdMapInstance = useRef(false); + + const polygonRefs = useRef([]); + + // Set the Leaflet map and Amsterdam base layer + useEffect(() => { + if (containerRef.current === null || createdMapInstance.current !== false) { + return; + } + + const map = new L.Map(containerRef.current, { + center: L.latLng([52.370216, 4.895168]), + zoom: 12, + layers: [ + L.tileLayer('https://{s}.data.amsterdam.nl/topo_rd/{z}/{x}/{y}.png', { + attribution: '', + subdomains: ['t1', 't2', 't3', 't4'], + tms: true, + }), + ], + zoomControl: false, + maxZoom: 16, + minZoom: 3, + crs: getCrsRd(), + maxBounds: [ + [52.25168, 4.64034], + [52.50536, 5.10737], + ], + }); + + map.attributionControl.setPrefix(false); + + createdMapInstance.current = true; + setMapInstance(map); + + return () => { + if (mapInstance) mapInstance.remove(); + }; + }, []); + + // Create the polygon layer and add it to the map + useEffect(() => { + let selectedPolygon: number | undefined = undefined; + + if (mapInstance) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + data.map((record: any, index: number) => { + // Reverse the lat lng arrays otherwise Leaflet will plot incorrectly + const geoJson = reverseLatLng(record.geometry); + + // Create the polygon layer + polygonRefs.current[index] = L.polygon( + (geoJson.toGeoJSON() as FeatureCollection).features[0] + .geometry.coordinates as LatLngTuple[] + ) + .addTo(mapInstance) + .on('mouseover', () => { + polygonRefs.current[index].setStyle(polygonActiveStyles); + }) + .on('mouseout', () => { + if (selectedPolygon !== index) { + polygonRefs.current[index].setStyle(polygonInactiveStyles); + } + }) + .on('click', () => { + L.popup() + .setLatLng([ + geoJson.getBounds().getCenter().lng, + geoJson.getBounds().getCenter().lat, + ]) + .setContent(`${index}: ${record.name}
`) + .openOn(mapInstance as L.Map) + .on('remove', () => { + selectedPolygon = undefined; + polygonRefs.current[index].setStyle(polygonInactiveStyles); + }); + + selectedPolygon = index; + polygonRefs.current[index].setStyle(polygonActiveStyles); + }); + }); + } + + return () => { + if (polygonRefs.current && mapInstance) { + polygonRefs.current.forEach(polygon => + mapInstance.removeLayer(polygon) + ); + } + }; + }, [data, mapInstance]); + + return
; +}; + +export default PolygonLayer; diff --git a/src/pages/PolygonLayer/data.json b/src/pages/PolygonLayer/data.json new file mode 100644 index 0000000..947895d --- /dev/null +++ b/src/pages/PolygonLayer/data.json @@ -0,0 +1,2163 @@ +[ + { + "id": 1, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.895419429285667, 52.3257835849102], + [4.895641287532809, 52.326239051937144], + [4.895869744490875, 52.32670805567532], + [4.896138935859494, 52.32731523971373], + [4.896352621626554, 52.32776546291842], + [4.896492424551599, 52.327978634408154], + [4.896513183977639, 52.328010281129956], + [4.896534501406138, 52.32803565243628], + [4.896869371824843, 52.32843431784468], + [4.898011716449003, 52.32962742206413], + [4.898245405550044, 52.32989263785027], + [4.898322564486054, 52.33004915221892], + [4.898387794700699, 52.33022143330254], + [4.89839778947113, 52.330388217355285], + [4.898353793799328, 52.33052922805083], + [4.89812684126758, 52.331208460566515], + [4.898083622158156, 52.33124947179086], + [4.897831219802706, 52.33186244432575], + [4.897587314397771, 52.33245476483294], + [4.897709892425937, 52.33261481141887], + [4.89892344312047, 52.33356127020565], + [4.899216460465589, 52.33370865151633], + [4.899481547213935, 52.33380415763655], + [4.899827386482445, 52.33389336525042], + [4.900041420954887, 52.33391299780285], + [4.900272386492946, 52.333923489552376], + [4.900533944725431, 52.33392514198814], + [4.901199343180225, 52.333918545727855], + [4.902135826167041, 52.33385125908105], + [4.902355143191664, 52.33384597209662], + [4.902492197284498, 52.33384542277601], + [4.903295351266217, 52.333883609753734], + [4.903397693022403, 52.33389055933956], + [4.903550155396193, 52.333911886400514], + [4.903700687803139, 52.33393973474834], + [4.903804454581973, 52.333967382994025], + [4.903900915970246, 52.33400127300672], + [4.903982107917987, 52.33403246656919], + [4.904046533636768, 52.334064343013985], + [4.90414208387872, 52.33412164944631], + [4.904213960009185, 52.33418386549439], + [4.904416688469666, 52.334349738816876], + [4.904709251019133, 52.334582653108036], + [4.904799755214473, 52.33466377865376], + [4.905308522538033, 52.33515823568695], + [4.905357375622466, 52.33520118233954], + [4.905686483203791, 52.33549045557234], + [4.905792945767161, 52.33562481765828], + [4.906001713735043, 52.33593049283187], + [4.906030826910015, 52.336016198650526], + [4.906131042135093, 52.33600239637969], + [4.906120025545812, 52.33596996507005], + [4.906100258465852, 52.335911773405826], + [4.905886588051146, 52.3355989211465], + [4.905775354469164, 52.33545853810961], + [4.905441635672716, 52.33516521231315], + [4.90539414053692, 52.33512345950153], + [4.904885621472888, 52.33462924465376], + [4.904792409278222, 52.334545691871334], + [4.904498494082934, 52.33431170106706], + [4.904296995335288, 52.33414683415184], + [4.904220556580367, 52.334080668789625], + [4.904114876536387, 52.334017287055275], + [4.904041867346886, 52.33398116372089], + [4.903953765766884, 52.33394731552852], + [4.903850622587467, 52.33391107799819], + [4.903736134708044, 52.33388057316503], + [4.903576462655914, 52.33385103399728], + [4.903414837351779, 52.33382842518801], + [4.903304984497183, 52.33382096555828], + [4.902495841478539, 52.333782493816344], + [4.902352787464338, 52.333783067186815], + [4.902127813134162, 52.33378849054783], + [4.901192513498922, 52.333855692208495], + [4.900533643504495, 52.33386222374116], + [4.900276717697997, 52.333860600573985], + [4.900052838058998, 52.333850430706605], + [4.899855351862338, 52.333832316071884], + [4.899527709860997, 52.333747802366304], + [4.899275433449365, 52.333656911626186], + [4.899059383640482, 52.3335482435198], + [4.898997054721157, 52.333516893328266], + [4.8988206005455, 52.33338084524596], + [4.898422513272048, 52.33307225104674], + [4.897816637471609, 52.33256311483854], + [4.897777586851936, 52.332466077246096], + [4.897749692496069, 52.33239676178817], + [4.897759314655906, 52.33220659323405], + [4.897917726072493, 52.33185467805772], + [4.898178435025077, 52.33127549347381], + [4.898223579089308, 52.33123265553296], + [4.898454533092242, 52.33054144275126], + [4.898500837869824, 52.330393030029455], + [4.898490054595078, 52.33021309504618], + [4.898421839578093, 52.33003293181782], + [4.898340705095942, 52.3298683539074], + [4.898101213362762, 52.329596553323356], + [4.897658342992298, 52.32913400808135], + [4.896959378817713, 52.3284039843893], + [4.896625802525649, 52.328006860602635], + [4.896606675352642, 52.32798409612394], + [4.896587704216859, 52.327955175655106], + [4.896449800458736, 52.327744900717526], + [4.896237789804592, 52.327298208940164], + [4.89596850223767, 52.32669081095732], + [4.895744594025413, 52.326231147636086], + [4.895517133895771, 52.32576418236462], + [4.895032682952047, 52.32491647084225], + [4.894965539061117, 52.324804455274005], + [4.894850327082244, 52.32461609668084], + [4.894778357054428, 52.32449843293253], + [4.894707725056159, 52.324350541388895], + [4.894691757643743, 52.32430364851422], + [4.894643572119705, 52.32416207890302], + [4.894639016647764, 52.32402922033266], + [4.894659404664916, 52.323818972832264], + [4.894691808343027, 52.32361246033547], + [4.894735900214635, 52.32343920637939], + [4.894757170033532, 52.323407361272594], + [4.8947727568728, 52.323384030915], + [4.89480167276038, 52.323322710689546], + [4.89483429868464, 52.32325353258689], + [4.894862570451664, 52.32320928647751], + [4.895099506935125, 52.322838276315004], + [4.895212676198113, 52.32268543313795], + [4.895276559082297, 52.322599173981914], + [4.895185208529, 52.322570274240626], + [4.895169046989699, 52.322592101153425], + [4.895119178191434, 52.32265943728389], + [4.89500488392619, 52.322813799413424], + [4.894766959672646, 52.3231863550498], + [4.894736970606756, 52.323233288619264], + [4.894675647718039, 52.323363321819805], + [4.894662147319315, 52.32338352913022], + [4.894636309138466, 52.323422213844225], + [4.894589893719759, 52.32360459629899], + [4.894557021015393, 52.32381409488711], + [4.894536276531541, 52.324028013284014], + [4.894541118003866, 52.32416922245532], + [4.894591244406839, 52.32431649538943], + [4.89460804132629, 52.32436582467403], + [4.894680878527365, 52.3245183342511], + [4.894869272945402, 52.32482633986165], + [4.894936031294996, 52.32493771263845], + [4.895419429285667, 52.3257835849102] + ] + ] + ] + }, + "name": "Amsteldijk" + }, + { + "id": 2, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.89762269983173, 52.33226630012372], + [4.897941960700525, 52.33152147463518], + [4.896784966817855, 52.331242295975336], + [4.896806819896653, 52.330893064224334], + [4.895562448181085, 52.33058638014077], + [4.895433818398031, 52.33028432523847], + [4.895839728105818, 52.32938145029031], + [4.895962616750549, 52.329402187055365], + [4.896083973920432, 52.32899269398191], + [4.897486683753985, 52.32909637358709], + [4.897412705126433, 52.32901986230353], + [4.897039331873775, 52.32863370189101], + [4.896786868333094, 52.32836887324853], + [4.896443036174672, 52.328055715272434], + [4.896435483283491, 52.32795994604094], + [4.896365160988145, 52.32784409836481], + [4.896210190601494, 52.3275269998921], + [4.896001368696069, 52.327086091054525], + [4.895843706790641, 52.326648769182725], + [4.895787003875316, 52.32652935560156], + [4.895088590956528, 52.325264162471406], + [4.894864163303711, 52.32495409366442], + [4.894739840854572, 52.32477201385446], + [4.893256869265165, 52.32441770776265], + [4.893016124702039, 52.32441688220256], + [4.892868816680454, 52.32444463471785], + [4.892529303144991, 52.3245726734897], + [4.892262803505347, 52.32466169306214], + [4.892051185937742, 52.324770395813104], + [4.891908413252248, 52.324938413748384], + [4.891600599544418, 52.32506654003326], + [4.891276245032878, 52.32507051069327], + [4.891021753896608, 52.32506166926522], + [4.890977427612198, 52.32604425373121], + [4.890924682976855, 52.327022551462605], + [4.890869631076296, 52.329319635549254], + [4.890743254977045, 52.32938201988603], + [4.890745537486815, 52.32945474066468], + [4.890870808882724, 52.329514855235274], + [4.890865566163177, 52.33154608626771], + [4.890860450842308, 52.33303553360576], + [4.89072986961321, 52.333196208624294], + [4.890858542979492, 52.333257424927616], + [4.89087660630566, 52.33358928460958], + [4.89185857588518, 52.3335868336905], + [4.892848719234913, 52.333642200186645], + [4.893413484326127, 52.33385337130187], + [4.893887165309135, 52.333974772070775], + [4.894051422636434, 52.33398657011271], + [4.894352294996453, 52.33398515424272], + [4.894587860304367, 52.33395760791986], + [4.89486198755213, 52.33389121462406], + [4.894988657532752, 52.33381751153237], + [4.895415206654848, 52.33362389074984], + [4.896191643332694, 52.33328746737303], + [4.897587177152019, 52.332592688118815], + [4.897490691734585, 52.332509574330594], + [4.897580577561778, 52.33240151323963], + [4.89762269983173, 52.33226630012372] + ] + ] + ] + }, + "name": "Amstelpark" + }, + { + "id": 3, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.883156307540872, 52.3489121143369], + [4.882811567700137, 52.348757260655404], + [4.881884203630494, 52.34946225940352], + [4.881243113123207, 52.34995620210557], + [4.881009374757508, 52.34999553078342], + [4.880369932258422, 52.350107118653554], + [4.87889301514157, 52.35036485451434], + [4.878450126565347, 52.35043341571484], + [4.877918800582001, 52.35052427987161], + [4.877478053119975, 52.35060550141662], + [4.877364783566081, 52.3506200770544], + [4.877214560728759, 52.35063303735303], + [4.87707734611077, 52.350634126770075], + [4.874627145626376, 52.35054346048447], + [4.873648527231816, 52.35051732429112], + [4.873413032508635, 52.35044634155625], + [4.873097719771798, 52.350273135414454], + [4.871848104606606, 52.350222294936906], + [4.871185500670064, 52.35019532984456], + [4.870843323082859, 52.35035533867618], + [4.870724823758489, 52.35039919424142], + [4.8705309398588, 52.35046219712629], + [4.870383736206898, 52.350465311348884], + [4.869866957751052, 52.350443676128954], + [4.866878038220694, 52.35031848800662], + [4.866817096292242, 52.35050524648611], + [4.868146962854071, 52.35055909849339], + [4.869560956429635, 52.35061468760745], + [4.870682703071007, 52.35065878373188], + [4.870816918257885, 52.35065817398301], + [4.873364114884932, 52.3507644577048], + [4.873627451298513, 52.35075956083708], + [4.873701543246763, 52.350770856353044], + [4.874643081731354, 52.350808102174625], + [4.875995705526318, 52.35086157798105], + [4.877027882903986, 52.350902377911574], + [4.877189784160294, 52.35090140391132], + [4.877306456761442, 52.35089601959999], + [4.877412223987813, 52.3508855370851], + [4.877531756925477, 52.35087007161957], + [4.878040112336946, 52.350779703574034], + [4.878525373388341, 52.350691058615716], + [4.879031881081609, 52.35060660130939], + [4.879236202346671, 52.35056935228549], + [4.880072577398916, 52.35042562039826], + [4.881290181727407, 52.35021118822347], + [4.881584538192746, 52.35008543104279], + [4.882214268577871, 52.34962230199909], + [4.883156307540872, 52.3489121143369] + ] + ] + ] + }, + "name": "Apollolaan" + }, + { + "id": 4, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.881204216772004, 52.34561507321263], + [4.881250696919467, 52.34558005785849], + [4.881350554742133, 52.345629773600905], + [4.881396161400155, 52.34559541955119], + [4.881403668336229, 52.34559698581916], + [4.881528360088105, 52.34566099186039], + [4.881526299255897, 52.345716906017216], + [4.881563126690581, 52.34578719488331], + [4.881620661629038, 52.34583041117338], + [4.882012869744344, 52.34554510664147], + [4.881932781233521, 52.34550423892908], + [4.881823346627247, 52.34548874414299], + [4.881705342252059, 52.3455092805527], + [4.881697604952755, 52.345513610665066], + [4.88166142167533, 52.34549612361219], + [4.881576769666861, 52.345500337625424], + [4.881576844711371, 52.34549374905651], + [4.881569797403128, 52.34545923289603], + [4.881531516701705, 52.34543620157823], + [4.881450577671537, 52.34539966489976], + [4.881406725345494, 52.345362501835346], + [4.881411307977779, 52.3453132145408], + [4.88148897188433, 52.345210007364045], + [4.881631125245423, 52.345097216055976], + [4.881788815864962, 52.34503626045659], + [4.881917923383259, 52.34500969563954], + [4.882215941681812, 52.344996173736476], + [4.88226421854372, 52.34503530572463], + [4.882291274540475, 52.34504351014136], + [4.88237231812535, 52.34506616349069], + [4.882411817253611, 52.34506031016394], + [4.882495517164555, 52.34502972164478], + [4.882264182717038, 52.34487331009235], + [4.882237017877635, 52.344850327954056], + [4.882399545134358, 52.34467737395625], + [4.882611652689279, 52.34454402048074], + [4.882945135436693, 52.34439945254738], + [4.88322710773149, 52.34432256830221], + [4.8838495790463, 52.34426340650936], + [4.883909227954485, 52.344463001919195], + [4.883980645727985, 52.34445499616986], + [4.884716489532756, 52.34439496560591], + [4.884965091416642, 52.34438666457109], + [4.885533953566795, 52.34437725482431], + [4.885580199752709, 52.344375443624344], + [4.885252356648669, 52.341235325055926], + [4.885119533932819, 52.34124381231346], + [4.884986711166674, 52.341252299421804], + [4.88497787756688, 52.34105600287631], + [4.884879899884855, 52.34105765633975], + [4.884862351568233, 52.34090965213638], + [4.884863180178249, 52.34088699748335], + [4.884893140540705, 52.34079971104619], + [4.88491058360768, 52.34074889229996], + [4.884916193686069, 52.34073254783513], + [4.884843102861339, 52.340209036560765], + [4.884806459052146, 52.3400926421476], + [4.884647997816765, 52.34009915056692], + [4.884583521387906, 52.34009529062442], + [4.884536908081244, 52.34006634075897], + [4.884513771545271, 52.34003749059964], + [4.884508323863828, 52.34000153434451], + [4.884438879491409, 52.33973947580818], + [4.884435658978004, 52.339739870211055], + [4.883896058592462, 52.33978993032748], + [4.883113270345137, 52.33983493482727], + [4.882712167480851, 52.33984530519294], + [4.882469639505281, 52.33984427105923], + [4.882357201257121, 52.33984379145642], + [4.882140277467444, 52.339842865870935], + [4.8811310719523, 52.33982485712351], + [4.879433022983297, 52.33977520357741], + [4.879214547536719, 52.34012819819297], + [4.879226803857885, 52.340217643217905], + [4.878985280199022, 52.34032627003885], + [4.878901101615607, 52.341039923181114], + [4.878610469400167, 52.341487231862615], + [4.878291671325786, 52.3421810938726], + [4.878260498832612, 52.343679496850186], + [4.878420197719922, 52.344011910898296], + [4.878393889086929, 52.3444526903426], + [4.881012083032651, 52.34576068432221], + [4.881043181778281, 52.34573483865079], + [4.881057243980869, 52.34572427525152], + [4.881060539897333, 52.345721578790744], + [4.881063457884771, 52.34571872366789], + [4.881065977690173, 52.34571572969963], + [4.881068081824223, 52.34571261766639], + [4.881069755682699, 52.345709409168165], + [4.881070987647831, 52.34570612647432], + [4.88107176916893, 52.34570279236933], + [4.881072094821749, 52.34569942999441], + [4.881071962346109, 52.34569606268706], + [4.881070976830561, 52.34568725046329], + [4.881070219721522, 52.345682861196416], + [4.881069820942135, 52.34567718410511], + [4.8810702378381, 52.34567150750191], + [4.881071467187117, 52.34566587525873], + [4.881073499487824, 52.34566033090439], + [4.881076319033241, 52.345654917288606], + [4.881079904032177, 52.34564967625062], + [4.881084226777642, 52.34564464829584], + [4.881089253860995, 52.34563987228293], + [4.881094946430144, 52.345635385123366], + [4.881101260489825, 52.345631221496156], + [4.881108147241618, 52.34562741357994], + [4.881115553461093, 52.34562399080422], + [4.881123421909151, 52.3456209796219], + [4.881131691774394, 52.34561840330495], + [4.881140299143111, 52.34561628176446], + [4.881149177493223, 52.345614631396685], + [4.881158258208402, 52.3456134649565], + [4.881167471108357, 52.345612791458755], + [4.881176744991222, 52.34561261610858], + [4.881186008183835, 52.34561294026113], + [4.881195189095646, 52.34561376141125], + [4.881204216772004, 52.34561507321263] + ] + ] + ] + }, + "name": "Beatrixpark" + }, + { + "id": 5, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.933782369657653, 52.37783231750218], + [4.933847260811864, 52.37785309380058], + [4.933871758476204, 52.377887457593616], + [4.934010662709102, 52.37785556172619], + [4.934362271629629, 52.37777705131054], + [4.934559398990126, 52.37773283962542], + [4.934748706054243, 52.37769938294457], + [4.935152394698673, 52.37762896932719], + [4.935704960692662, 52.37753195231092], + [4.935721923784593, 52.37752844303111], + [4.935687952402611, 52.37745279591452], + [4.935648178994197, 52.37735652106235], + [4.935640330677846, 52.37729797237529], + [4.936461197835922, 52.37725057998934], + [4.936457302650862, 52.37722490534817], + [4.937096836140335, 52.37718955373357], + [4.937066169448142, 52.37697275328909], + [4.937057496862995, 52.37690552845541], + [4.937052635735088, 52.376763738370364], + [4.937068031830983, 52.37668940589718], + [4.937100648534277, 52.37662720932704], + [4.937134603320247, 52.37656773211143], + [4.93717941712678, 52.376500386998124], + [4.935350033454291, 52.376440312440295], + [4.935214653631735, 52.37684167080348], + [4.935438766496793, 52.37680838131395], + [4.935603112565391, 52.37711374485828], + [4.935404545982811, 52.37714391403499], + [4.935238701409072, 52.377169552156204], + [4.934868421988519, 52.37721315087584], + [4.934559053755103, 52.377241437094504], + [4.934336505328543, 52.37725419355793], + [4.934149744801497, 52.3772613523903], + [4.934057388731783, 52.377263866081684], + [4.933913302770877, 52.37726697261317], + [4.933767395271562, 52.377268687892226], + [4.933597426216229, 52.37726811783218], + [4.933544432810126, 52.37726713619877], + [4.933411987784577, 52.37716421199449], + [4.93274706092204, 52.37728019040819], + [4.932758157985001, 52.37730509291182], + [4.932810915650857, 52.37733463114384], + [4.932829961324892, 52.377373530991235], + [4.932792503420774, 52.37737868100127], + [4.932836604039286, 52.37748059073076], + [4.933559052428531, 52.377440363471656], + [4.933782369657653, 52.37783231750218] + ] + ] + ] + }, + "name": "Bogortuin" + }, + { + "id": 6, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.857685741285138, 52.33043165028844], + [4.858484533211452, 52.33043183392173], + [4.861746052559486, 52.33043279121221], + [4.861762687653889, 52.32925368309923], + [4.861519058661413, 52.329296034514385], + [4.861517910630178, 52.32964090498865], + [4.85835687139465, 52.32963097114857], + [4.858311410731907, 52.33011120217071], + [4.857688127715905, 52.330108181596465], + [4.857685741285138, 52.33043165028844] + ] + ] + ] + }, + "name": "Gijsbrecht van Aemstelpark" + }, + { + "id": 7, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.862006325719586, 52.33042129964838], + [4.86264614199423, 52.33042413783669], + [4.862798119614969, 52.330356141473835], + [4.868595694328948, 52.33038100548997], + [4.868613762033992, 52.328833709871056], + [4.862025443193147, 52.32880465045446], + [4.862006325719586, 52.33042129964838] + ] + ] + ] + }, + "name": "Gijsbrecht van Aemstelpark" + }, + { + "id": 8, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.869242524026414, 52.329724962044956], + [4.870315781517736, 52.32973055545056], + [4.870314197594059, 52.3296575397136], + [4.870316612422892, 52.32959338599266], + [4.871306698425851, 52.329601526801326], + [4.871307862436637, 52.32964781904145], + [4.871825659288809, 52.32965823645583], + [4.871825830927244, 52.32959287793131], + [4.872771307684586, 52.329600785204164], + [4.872769805098732, 52.32966844780327], + [4.873282127811621, 52.32967782840673], + [4.873283787618025, 52.32958003040021], + [4.875496152774618, 52.329581664611474], + [4.875488418925671, 52.32952854932782], + [4.877159408877671, 52.329540150053205], + [4.877159530833042, 52.32951547907996], + [4.879282879249094, 52.329519193283744], + [4.879262613981969, 52.32818310643833], + [4.878489374772632, 52.328116276689535], + [4.878215870182533, 52.32807936497076], + [4.875345540202347, 52.328035812963755], + [4.869238809505574, 52.32794908199989], + [4.869176280028273, 52.327981155353655], + [4.869083677784921, 52.32798177449582], + [4.869100985943925, 52.32972422367599], + [4.869242524026414, 52.329724962044956] + ] + ] + ] + }, + "name": "Gijsbrecht van Aemstelpark" + }, + { + "id": 9, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.879647106100044, 52.32952855762544], + [4.882485565343706, 52.329536340247536], + [4.882474437187893, 52.32818808779552], + [4.879727063169801, 52.32816851688045], + [4.879644437173175, 52.328172899038755], + [4.879647106100044, 52.32952855762544] + ] + ] + ] + }, + "name": "Gijsbrecht van Aemstelpark" + }, + { + "id": 10, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.882641923848435, 52.32952955622231], + [4.889372755725942, 52.32954315589551], + [4.889372403353039, 52.3294921397268], + [4.889300479842674, 52.32943418043517], + [4.889310262400144, 52.328882164639985], + [4.888686120969038, 52.328878011292375], + [4.888437439702419, 52.32885379919804], + [4.88818736376845, 52.32879741595355], + [4.886436591911515, 52.32815368360481], + [4.886222200353488, 52.328108897646686], + [4.885261569662591, 52.32809718674007], + [4.883503394933895, 52.32810201944005], + [4.882964090846603, 52.32815256160436], + [4.88262293711934, 52.32818453230691], + [4.882613274158853, 52.329109802998], + [4.882639956060927, 52.32916429292785], + [4.882641923848435, 52.32952955622231] + ] + ] + ] + }, + "name": "Gijsbrecht van Aemstelpark" + }, + { + "id": 11, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.908449933081937, 52.33926171942554], + [4.907949906205057, 52.33968797345136], + [4.906773259881537, 52.33994354207399], + [4.906349221516372, 52.33915235299249], + [4.905904103505303, 52.33856779503884], + [4.905798848006305, 52.33838691061726], + [4.906520594767356, 52.33817887465014], + [4.906595123357105, 52.33827588681183], + [4.906616968293289, 52.338257433785195], + [4.906597149735189, 52.33823526921679], + [4.906575020745512, 52.338147648618595], + [4.906488262311278, 52.33800747250425], + [4.906417927032936, 52.33784693495336], + [4.906380925993211, 52.3377354531949], + [4.90634303286342, 52.3375830689768], + [4.906278562236503, 52.337317384830115], + [4.906206672736976, 52.3370207885172], + [4.906115840925062, 52.33686377602506], + [4.90522369588267, 52.33692670920665], + [4.905061215711503, 52.336959427900354], + [4.904643568744461, 52.33710779430598], + [4.902748500912185, 52.337789102426186], + [4.903163704169603, 52.33801839660687], + [4.904661066975714, 52.337938956278435], + [4.904818561818544, 52.33813515345782], + [4.905625528541242, 52.33870066088006], + [4.905719283231, 52.339229652094666], + [4.905778201923549, 52.33972556945873], + [4.90531240748052, 52.339746864385184], + [4.905275514360097, 52.339890518325184], + [4.905262506923285, 52.33998711074417], + [4.905190305908382, 52.34009521624651], + [4.905361525072853, 52.34012902622169], + [4.905752626637675, 52.34011169420784], + [4.906630245745715, 52.340115521903364], + [4.906852324764878, 52.34011804891333], + [4.907417436662764, 52.34018334684697], + [4.907649739715597, 52.34011775651336], + [4.90795742953094, 52.339903152897925], + [4.908064997276708, 52.3398246849133], + [4.908535013484503, 52.33941430041825], + [4.908623618821199, 52.339336043199005], + [4.908449933081937, 52.33926171942554] + ] + ] + ] + }, + "name": "Martin Luther Kingpark" + }, + { + "id": 12, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.912066586226014, 52.3416311790806], + [4.913233432138583, 52.34110457378666], + [4.913061852703533, 52.3409586084508], + [4.912800926481849, 52.34078505184486], + [4.912714647084019, 52.34072916612735], + [4.912562027756588, 52.34063619596426], + [4.912376640460679, 52.34053243915127], + [4.912225709614947, 52.34045459272627], + [4.911983722996764, 52.34034095526808], + [4.911667469937122, 52.340209209678044], + [4.911541538785189, 52.34016347720788], + [4.91136742035037, 52.34010946188419], + [4.911106562035758, 52.34004628489104], + [4.910748038455774, 52.33996792480959], + [4.910389516144777, 52.33988956364191], + [4.910387430904356, 52.33989312787415], + [4.910385345663602, 52.33989669210641], + [4.910258063173677, 52.33986904966669], + [4.910130780842677, 52.33984140709007], + [4.910134024358071, 52.33983451756717], + [4.909991754673368, 52.339802639609395], + [4.909896312665979, 52.33977924155979], + [4.909775052069741, 52.33974703014067], + [4.909655593409427, 52.33971237670361], + [4.909583313799731, 52.33969007196663], + [4.909512172885424, 52.33966683212935], + [4.909460493553593, 52.339649034474924], + [4.909335380353281, 52.33960196376635], + [4.909220082734977, 52.339554325895065], + [4.908948101916759, 52.33943724454124], + [4.908918599291905, 52.33942446155854], + [4.908287405869395, 52.339982349647194], + [4.908245866218588, 52.34002575419323], + [4.908199201723054, 52.34012050302195], + [4.908198987765839, 52.34017496594718], + [4.908684534154696, 52.34029941738578], + [4.90892183651385, 52.3403730606472], + [4.909494013874327, 52.34054586040732], + [4.910025117730444, 52.34072056795139], + [4.911031605267469, 52.34110290748578], + [4.911723162555858, 52.341450736815695], + [4.911804877588406, 52.34149183601479], + [4.912066586226014, 52.3416311790806] + ] + ] + ] + }, + "name": "Martin Luther Kingpark" + }, + { + "id": 13, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.880152708744968, 52.356385879440026], + [4.880051790150232, 52.35652349587655], + [4.879934878307133, 52.3566859517511], + [4.879910862121654, 52.35673612628124], + [4.87986122553124, 52.3567995917311], + [4.880024796424269, 52.35698023414469], + [4.879895179314617, 52.35702423314793], + [4.879514723313904, 52.35719604756264], + [4.880551914016888, 52.357599061804294], + [4.880927495418541, 52.35767690273489], + [4.881095000322921, 52.35770907779065], + [4.881394365728117, 52.35773451412547], + [4.881520559691417, 52.35777905838042], + [4.881585573275125, 52.35780814236436], + [4.88165571417132, 52.35784605001788], + [4.881716589030371, 52.35789432025054], + [4.88175264384015, 52.357941684567145], + [4.881774368173864, 52.35798498645654], + [4.881777641305133, 52.35804181251099], + [4.881758807271622, 52.35808894245721], + [4.881711269184073, 52.358131948602164], + [4.881632519833942, 52.358161219048526], + [4.881586679996058, 52.35816982507351], + [4.881572186209557, 52.35818016535434], + [4.881558925901762, 52.358196912421285], + [4.881558752671549, 52.358212115008406], + [4.881563761399653, 52.35823134039843], + [4.882304883521237, 52.35856737593556], + [4.882355809626955, 52.35859127872317], + [4.882752446420261, 52.35831247840672], + [4.883116272724729, 52.35813114568901], + [4.883402027838264, 52.35801465871705], + [4.883447845887179, 52.358000167735675], + [4.882634703954997, 52.356956598113335], + [4.882584264064908, 52.35690255550944], + [4.881410939626123, 52.35616319526996], + [4.88112577505269, 52.35632502315802], + [4.880904408143705, 52.356455585247375], + [4.880834727094571, 52.35649670272499], + [4.880798832363749, 52.356513805644255], + [4.880757019079091, 52.35652472662576], + [4.880712025537893, 52.35652876734759], + [4.880666834858621, 52.3565256439757], + [4.880624439196946, 52.35651556704501], + [4.880235124365824, 52.35640853700295], + [4.880152708744968, 52.356385879440026] + ] + ] + ] + }, + "name": "Museumplein" + }, + { + "id": 14, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.870414310879769, 52.35221475973468], + [4.870297194343173, 52.35218387774513], + [4.87028652305784, 52.35218106386885], + [4.869345458174875, 52.35193497290355], + [4.868938899431472, 52.35182626303221], + [4.868938899348148, 52.35182626314907], + [4.868548357306497, 52.351721834304556], + [4.868028348756297, 52.351579992865545], + [4.867508341524807, 52.35143814859272], + [4.866596449787338, 52.35119766422981], + [4.865854724867838, 52.3509993830057], + [4.865338869043122, 52.35086147534887], + [4.865279626387769, 52.35084582563024], + [4.865277120960145, 52.350845163788044], + [4.86523510036943, 52.350834063476114], + [4.865172689207847, 52.35092296483701], + [4.865249145428096, 52.350945232163966], + [4.865316562069312, 52.350964871107784], + [4.865776683653873, 52.35111324675666], + [4.865892307465189, 52.35114484473607], + [4.866541759900525, 52.35131670028033], + [4.866943216179387, 52.35142562663921], + [4.868350733024497, 52.35179893701099], + [4.869467842272762, 52.35209960681163], + [4.870187761613072, 52.352283982770906], + [4.870249250971139, 52.352296205057655], + [4.870371277878683, 52.35232046562373], + [4.870414310879769, 52.35221475973468] + ] + ] + ] + }, + "name": "Oevers Noordelijk Amstelkanaal" + }, + { + "id": 15, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.86512164239415, 52.35080408861297], + [4.865034542826308, 52.35078107678916], + [4.864695999980897, 52.350696131381], + [4.864610557480241, 52.35067469589593], + [4.864534997143695, 52.350655739541445], + [4.864156013832025, 52.35055382344348], + [4.863836201523575, 52.350467818287875], + [4.862736425940253, 52.35017864519459], + [4.86094063599464, 52.34970643319982], + [4.86093503782571, 52.34970496107478], + [4.860096950928225, 52.34892581174049], + [4.860035758290696, 52.34895061344763], + [4.861006162882417, 52.34984848067253], + [4.861194181123142, 52.349903637239734], + [4.861256897301258, 52.34992083991164], + [4.861418801050027, 52.34996523979442], + [4.861603093403697, 52.35001533825677], + [4.863349015142381, 52.35047104673472], + [4.86356593556491, 52.35052765885148], + [4.86463011901962, 52.35080541038365], + [4.864938991680003, 52.35085487618216], + [4.86501086925534, 52.35087582023521], + [4.865081050239662, 52.350896262433174], + [4.865140857134657, 52.350809165161564], + [4.865122566693541, 52.350804332813624], + [4.86512164239415, 52.35080408861297] + ] + ] + ] + }, + "name": "Oevers Noordelijk Amstelkanaal" + }, + { + "id": 16, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.858748402692403, 52.34775736462114], + [4.858592039959986, 52.34772617103874], + [4.858072095522649, 52.34762785804506], + [4.858012237589676, 52.34761379418889], + [4.857919304178941, 52.34759196076056], + [4.857917357618606, 52.347638834493246], + [4.858701847150861, 52.347795338959635], + [4.859776284393619, 52.348761858467505], + [4.85985801733971, 52.348726782746134], + [4.859844543320975, 52.34872809784092], + [4.859824367459458, 52.34872525768485], + [4.858748402692403, 52.34775736462114] + ] + ] + ] + }, + "name": "Oevers Noordelijk Amstelkanaal" + }, + { + "id": 17, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.87815318735769, 52.351500028349015], + [4.877815269133461, 52.351560095743785], + [4.877477349645879, 52.35162016223414], + [4.876463599486056, 52.35179792917272], + [4.876274378607956, 52.351833487682896], + [4.876130946941514, 52.35186044121483], + [4.875626730500842, 52.351948118174874], + [4.875626730500842, 52.351948118174874], + [4.875122512290576, 52.352035792944676], + [4.874457225659075, 52.352155955262795], + [4.874120636920956, 52.352214400123636], + [4.873489988220015, 52.35231900554393], + [4.873488655446081, 52.35243415090555], + [4.873550071758386, 52.35244009770177], + [4.87365511514146, 52.35243294985135], + [4.874974030874207, 52.35218353834646], + [4.875315687129522, 52.35212337834006], + [4.875790288414463, 52.352041915629826], + [4.876105733592847, 52.35198256583493], + [4.876762994465342, 52.351870466611345], + [4.877499085592631, 52.351739145872614], + [4.877582340508421, 52.35172473747279], + [4.878064323506639, 52.3516413470993], + [4.878827670452409, 52.35150296311987], + [4.879005237282258, 52.35147612423711], + [4.878936182390968, 52.35142464246248], + [4.878882218145608, 52.35135503423714], + [4.878507288497599, 52.351429603224084], + [4.87815318735769, 52.351500028349015] + ] + ] + ] + }, + "name": "Oevers Noordelijk Amstelkanaal" + }, + { + "id": 18, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.8848884851708, 52.3497418579296], + [4.884858116597347, 52.34975251201402], + [4.88485773722164, 52.3497526451088], + [4.884815736649736, 52.34976737997891], + [4.884067945581332, 52.35029347453543], + [4.88396578362978, 52.35038106629088], + [4.883852963244352, 52.35045931779439], + [4.883802242125335, 52.350494497364195], + [4.883774106019355, 52.350504857419146], + [4.881718385694398, 52.35086569952416], + [4.881491168070323, 52.35090557829677], + [4.881224514644229, 52.35095238133274], + [4.880068467432744, 52.35115528275345], + [4.879926904220812, 52.351177145526215], + [4.879736422851535, 52.35120657282032], + [4.879304306331988, 52.35127333193294], + [4.879338052136726, 52.35134237686496], + [4.879339973870963, 52.35134631275964], + [4.879763928036438, 52.35127334393535], + [4.879953124623481, 52.35124077436398], + [4.880788100876198, 52.3510970493883], + [4.881517288949176, 52.35096137802542], + [4.881743933796173, 52.35092026543393], + [4.881768775072525, 52.3509157518071], + [4.883482459184084, 52.35061201791841], + [4.883638092864403, 52.350585096729944], + [4.883761050718988, 52.350563734595895], + [4.883823348580238, 52.35054878328671], + [4.883852992296719, 52.350537494904884], + [4.884024921450472, 52.35041567789388], + [4.884133819363121, 52.350338513549424], + [4.884864983458027, 52.34983169865268], + [4.884904396910704, 52.34980393197766], + [4.884948988565545, 52.34977251127087], + [4.8848884851708, 52.3497418579296] + ] + ] + ] + }, + "name": "Oevers Noordelijk Amstelkanaal" + }, + { + "id": 19, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.872100973902304, 52.3445741976366], + [4.871997454791688, 52.344571037840915], + [4.871997454791718, 52.34457103784054], + [4.871902474619249, 52.344568138605176], + [4.871774034483535, 52.3445643745001], + [4.871774034483513, 52.344564374500344], + [4.871506248116567, 52.34455652622218], + [4.871325871676028, 52.344544878396356], + [4.871145495398388, 52.34453323030008], + [4.870948064292849, 52.344511557801276], + [4.870733415173603, 52.34448799484094], + [4.869903155290362, 52.34437082622322], + [4.868840220267445, 52.34422530107422], + [4.868722687151025, 52.34420902167479], + [4.868146201784085, 52.34412917291458], + [4.868074845361866, 52.34411902841183], + [4.868073516233136, 52.3441188394536], + [4.868073516233136, 52.3441188394536], + [4.868073473310139, 52.34411883335138], + [4.868043134386318, 52.344114520153745], + [4.868004735845073, 52.34422568327915], + [4.868007223449962, 52.34425139024143], + [4.868012628695769, 52.344268544653254], + [4.868045853713688, 52.344296094129554], + [4.868067634701164, 52.344309626396054], + [4.868084709734002, 52.344320243953334], + [4.868126488814503, 52.34433412456998], + [4.868215757967505, 52.3443516467636], + [4.868758562439693, 52.344355230173306], + [4.868985964848402, 52.34435672942634], + [4.869029700357832, 52.34435766690667], + [4.869086581458834, 52.34435888661493], + [4.869159212916144, 52.34436605324365], + [4.870095820582507, 52.34448833847775], + [4.871219434148679, 52.344638826459615], + [4.871338374568635, 52.34464657112141], + [4.871395740473502, 52.34465030840749], + [4.871529535730878, 52.34465901639466], + [4.871609199776268, 52.344662194623886], + [4.871890671565485, 52.344673432890865], + [4.87237961864875, 52.34469377002623], + [4.872654176444555, 52.344706477357605], + [4.872661232981844, 52.344648429057074], + [4.872667786884193, 52.34459449496974], + [4.872295932599064, 52.344581179333524], + [4.872100973902304, 52.3445741976366] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 20, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.85351585044436, 52.34195047789682], + [4.853334356745484, 52.34192686932991], + [4.85310262235862, 52.341894968639], + [4.853089182591853, 52.34189603145686], + [4.853078091939488, 52.34190309074283], + [4.853076141915976, 52.34191393020274], + [4.853081517355748, 52.34192330176396], + [4.853093667219514, 52.34192821899269], + [4.853106464836699, 52.34193052369695], + [4.853032576713082, 52.34212956632567], + [4.853028845683268, 52.3421396337835], + [4.85293374239129, 52.34212610926952], + [4.852906290261127, 52.34212336988704], + [4.852891617948499, 52.34212441813023], + [4.85287972005999, 52.342127968308866], + [4.85287437915415, 52.34213631203239], + [4.852165594258844, 52.344107447957825], + [4.852095633801801, 52.34409808994373], + [4.851936919716878, 52.34451220344552], + [4.852332220465403, 52.34456491542321], + [4.852353404387075, 52.34451556036988], + [4.852490961049141, 52.34378889935751], + [4.852510650838643, 52.343666170223095], + [4.852754785609982, 52.342988146835886], + [4.852832845342913, 52.34283532046892], + [4.852885309117658, 52.34274858252987], + [4.852962167921791, 52.34265767650715], + [4.853055703705488, 52.342584479744865], + [4.853091629076498, 52.3425599074952], + [4.853131046378976, 52.34253294226606], + [4.853147809374344, 52.34251059338303], + [4.853160719765864, 52.34248767885746], + [4.853311217595826, 52.3420828738408], + [4.853357056816241, 52.342089264225635], + [4.853402896049917, 52.342095654592704], + [4.853426130613126, 52.342098896129066], + [4.85343496731712, 52.342075122746934], + [4.856542822019131, 52.34246932308237], + [4.857067212872336, 52.34253582808656], + [4.857207212500049, 52.34250346097868], + [4.857257600760138, 52.34238085955309], + [4.855955827214226, 52.342205738172495], + [4.855983017249331, 52.34213351753134], + [4.855133507416709, 52.342019295281936], + [4.855106946831486, 52.34209765722228], + [4.853516819346706, 52.34188151304566], + [4.853515026963784, 52.34188475777227], + [4.853512623150753, 52.341906656609126], + [4.853512898155676, 52.34192860423656], + [4.85351585044436, 52.34195047789682] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 21, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.857652908079679, 52.34243440768437], + [4.857646695867055, 52.34251843537536], + [4.857657873759802, 52.34251881621526], + [4.859741624788268, 52.34279407919794], + [4.862182449179866, 52.34278781083979], + [4.862422758155268, 52.342799149708355], + [4.862721170195199, 52.34286212874351], + [4.866696805835713, 52.34405808632801], + [4.867570657414267, 52.34428629716025], + [4.867637803142037, 52.34428316761105], + [4.867741623198564, 52.34425107860804], + [4.867807098019115, 52.34408094876139], + [4.867089211868037, 52.3439819683638], + [4.866871787118176, 52.34393692759901], + [4.865146131263062, 52.34342265105999], + [4.862590889396213, 52.34267831102262], + [4.862437037852311, 52.3426575116665], + [4.859629313122404, 52.34267859787193], + [4.859394160050635, 52.34266570345745], + [4.857652908079679, 52.34243440768437] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 22, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.884192117121087, 52.34765889086054], + [4.883298209725901, 52.34720690766916], + [4.883107129905897, 52.347110290591544], + [4.88309787933277, 52.347108357329894], + [4.883097879332686, 52.34710835733006], + [4.883079165138576, 52.34710444627931], + [4.881874675683488, 52.346506220083434], + [4.881874675683492, 52.346506220083434], + [4.881460697665047, 52.346300605662506], + [4.881400626398609, 52.346269921264835], + [4.881384665012261, 52.34626176817781], + [4.881335523440078, 52.346295891405546], + [4.881314322081235, 52.346319914954876], + [4.881307924360702, 52.34634172787358], + [4.881346796866866, 52.346387111459705], + [4.882762373066948, 52.34708732300424], + [4.882922279206045, 52.34716642263554], + [4.883735120696297, 52.3475691823115], + [4.883832885048517, 52.34761907575531], + [4.884019382145205, 52.34771424923141], + [4.88408144935921, 52.34773741389595], + [4.884156130624856, 52.3477444092356], + [4.884206080629002, 52.34773602922546], + [4.884271895854872, 52.347697832311574], + [4.884227221065768, 52.34767602574949], + [4.884192117121087, 52.34765889086054] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 23, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.881106832559085, 52.346120748841976], + [4.880596465876912, 52.345864574100126], + [4.880452758422559, 52.34579244028535], + [4.878858259730688, 52.344996548470995], + [4.878523610513662, 52.344828873885525], + [4.878489955319569, 52.344812010969136], + [4.878302875319959, 52.34480545458281], + [4.878085683031641, 52.344797842510914], + [4.877606234074985, 52.34477930890753], + [4.877174931844189, 52.344762634786214], + [4.876813773259602, 52.34474999593179], + [4.876807873218413, 52.34485854273437], + [4.876789877528381, 52.3448933376686], + [4.876946998636739, 52.344901600851756], + [4.877489787839043, 52.344930139098174], + [4.87754436438771, 52.34493276487929], + [4.877576969506278, 52.344934334336926], + [4.877705101960167, 52.34489958205452], + [4.877844381196981, 52.34490374071595], + [4.878071872713521, 52.34491052566239], + [4.878228316291722, 52.34491518912135], + [4.878352823123281, 52.344925269507456], + [4.878446066656249, 52.344944751397335], + [4.878508156177092, 52.344964099313344], + [4.878598055575432, 52.34500264773927], + [4.878737872137686, 52.34507267900221], + [4.879695398323432, 52.345552277617195], + [4.879875798639207, 52.34564263210592], + [4.88099198260617, 52.34620166884142], + [4.881056334984437, 52.34621716034672], + [4.881110928667712, 52.34621071589638], + [4.881146001273969, 52.346195469824444], + [4.881188346655967, 52.34616275566057], + [4.881106832559085, 52.346120748841976] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 24, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.873772481222101, 52.34462819717353], + [4.873761238328694, 52.34462772936459], + [4.873579082107935, 52.344620149821175], + [4.873176829943065, 52.34460929893344], + [4.872789657672341, 52.34459885353437], + [4.872782936894638, 52.34465073769073], + [4.872774976604918, 52.344712071594095], + [4.872972164788914, 52.344721161329204], + [4.873080336141003, 52.34472366251482], + [4.873075257118249, 52.344796009984314], + [4.873193495469551, 52.344799813085125], + [4.873452852253606, 52.344674157709], + [4.873509672942767, 52.34466796011576], + [4.873578510093331, 52.344669589067124], + [4.87376323478915, 52.34467396772862], + [4.873872810644885, 52.34468191188434], + [4.873963728434077, 52.3447233713147], + [4.873988913595408, 52.344746003882264], + [4.875410784114855, 52.344820800664465], + [4.875568388651434, 52.34482909473391], + [4.876321139850798, 52.34486868402878], + [4.876327657130276, 52.3448328509631], + [4.876346847604576, 52.34472741738976], + [4.876037788199067, 52.34471335627373], + [4.875065376627433, 52.344676742498585], + [4.874418341376265, 52.344650581625764], + [4.873772481222101, 52.34462819717353] + ] + ] + ] + }, + "name": "Oevers Olympia -en Zuidelijk Amstelkanaal" + }, + { + "id": 25, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.85094002303171, 52.34654564350209], + [4.851191963907262, 52.34643983917276], + [4.851387941410224, 52.34640848740345], + [4.851479493115911, 52.34641300926306], + [4.851551125003994, 52.34642887335695], + [4.851638148854861, 52.3463934241005], + [4.851369012827764, 52.346118869295424], + [4.851255218022915, 52.34598025676231], + [4.851149256219971, 52.34582830919857], + [4.851089915074528, 52.34573549529362], + [4.851023014913703, 52.34560568447362], + [4.85098203410478, 52.34549566635642], + [4.850939450845729, 52.345361105428374], + [4.850896025981396, 52.34520813265139], + [4.850869195614839, 52.34507681279998], + [4.85086037168964, 52.344998673812995], + [4.850844244795756, 52.34485112820619], + [4.850833661148284, 52.344711084846445], + [4.850837955654367, 52.34461857631216], + [4.850853559432091, 52.34447481296166], + [4.850890541610109, 52.34429285971557], + [4.850922439519816, 52.344190326764206], + [4.850955868836614, 52.34409239256737], + [4.851008496138639, 52.34396207578455], + [4.851074466569202, 52.34381503848858], + [4.85113891395222, 52.34368686382458], + [4.851205517164709, 52.34355427092468], + [4.851265772928286, 52.34343949371561], + [4.851239371141557, 52.34343478139259], + [4.851259989440469, 52.3433949422693], + [4.851203954004031, 52.343401060243096], + [4.851165746161493, 52.343409832413954], + [4.851130678358617, 52.34343545694259], + [4.851085026500069, 52.34352550607749], + [4.850882917434624, 52.34348702307404], + [4.850846410149051, 52.343374930955655], + [4.850747168171974, 52.34329715343045], + [4.849583279340642, 52.34296827222333], + [4.849335131013957, 52.34306128278671], + [4.849370540590097, 52.343310237188575], + [4.849821327941791, 52.34430900131812], + [4.850094079847071, 52.34475921479068], + [4.850433846662395, 52.34480782530503], + [4.850652195700245, 52.34445579774098], + [4.850694976124099, 52.34500400967103], + [4.850476500929376, 52.34491224300588], + [4.850217405414816, 52.34500184377237], + [4.850665359556933, 52.34594948916076], + [4.850938666813674, 52.34654371397164], + [4.85094002303171, 52.34654564350209] + ] + ] + ] + }, + "name": "Park Schinkeleilanden" + }, + { + "id": 26, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.893855969941494, 52.3544558450929], + [4.895930902960014, 52.35494575024465], + [4.897806811330986, 52.35535820266968], + [4.897894370765174, 52.35537941618749], + [4.897949822581181, 52.35538513689702], + [4.89799998695123, 52.35538315121397], + [4.898062846260178, 52.35536804194534], + [4.898097117217968, 52.355348410532066], + [4.898941664188842, 52.35426298773236], + [4.898854733346263, 52.3542328257854], + [4.896234136643789, 52.35370216140057], + [4.895840673975527, 52.353638522339914], + [4.894787924364469, 52.35343781938379], + [4.894630227949382, 52.35341887320975], + [4.894561716702732, 52.353439493583075], + [4.893855969941494, 52.3544558450929] + ] + ] + ] + }, + "name": "Sarphatiepark" + }, + { + "id": 27, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.918611592531539, 52.34157841576978], + [4.918757268542992, 52.34141652090925], + [4.918260513237252, 52.34131313585066], + [4.918089525649255, 52.341265065801366], + [4.917835604226619, 52.34115005839607], + [4.917617521024321, 52.34100700705568], + [4.917435060278545, 52.34085769743017], + [4.917275757527846, 52.34069438667619], + [4.917143726770433, 52.34052349050648], + [4.917032131294897, 52.34039752425575], + [4.91688077471842, 52.34027395240905], + [4.916687315769054, 52.34017711332931], + [4.916524915212255, 52.34010857406414], + [4.916191245738744, 52.340405100710015], + [4.916427397291922, 52.34049438995207], + [4.916437667815239, 52.34050556663303], + [4.916332746289291, 52.340552991036866], + [4.916646813455783, 52.340711831459906], + [4.916842104717666, 52.340822914471474], + [4.917227841967007, 52.34106226282782], + [4.917743898324854, 52.34137426260562], + [4.917816633616542, 52.34132883940373], + [4.918611592531539, 52.34157841576978] + ] + ] + ] + }, + "name": "Somerlust" + }, + { + "id": 28, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.870868238740244, 52.36021543554047], + [4.870965249389386, 52.36021427287773], + [4.87100579371883, 52.360224250226004], + [4.871016055154826, 52.36022678457574], + [4.871041848153867, 52.36023312554778], + [4.871062546876857, 52.360238221969915], + [4.871241194471373, 52.36028219583987], + [4.871250551275278, 52.360288042703985], + [4.871263303875251, 52.36029601648722], + [4.871271588709332, 52.360300627356686], + [4.871279611088381, 52.36030508429007], + [4.871284818274916, 52.36030798306195], + [4.871289996207376, 52.36031087271836], + [4.871297097009476, 52.360317572570295], + [4.871303540881365, 52.360329006100194], + [4.871304713732071, 52.36033292986794], + [4.871304869042979, 52.36033346082168], + [4.871306167009657, 52.36033798731353], + [4.871307511992059, 52.36034352063762], + [4.871308540134098, 52.36034978957594], + [4.871309150143921, 52.36035414230255], + [4.871309063523301, 52.36035906720889], + [4.871308978261051, 52.3603638752805], + [4.87130811231167, 52.360370171915484], + [4.871307974662543, 52.36037100741604], + [4.871306801321267, 52.36037812934366], + [4.871304708496526, 52.36038514863919], + [4.871295451509399, 52.360413752385746], + [4.871285811198658, 52.360443540547685], + [4.871267163355848, 52.36050067525568], + [4.871261958847114, 52.36051660142254], + [4.871256756323818, 52.360532536963184], + [4.871255733730962, 52.36053566920535], + [4.871385166089871, 52.36056748308236], + [4.871535767884912, 52.36035442862256], + [4.871840546556333, 52.36034943746215], + [4.871859898628045, 52.36035167876694], + [4.871885549378248, 52.36035511589381], + [4.871911003661145, 52.36035903749812], + [4.871936246797878, 52.36036344351606], + [4.871961264109563, 52.36036833388391], + [4.871991843204704, 52.36037466851577], + [4.87202457969532, 52.36038105746711], + [4.872114165785238, 52.36039695115793], + [4.872175645513233, 52.36040722200569], + [4.872449757475709, 52.360474330347], + [4.872509547858224, 52.36049230515856], + [4.872733938410635, 52.36055685983708], + [4.872925594153183, 52.36061744310562], + [4.872984555670326, 52.36063603422896], + [4.873011396232058, 52.36064450042724], + [4.873027458967179, 52.36065063692111], + [4.873285193367326, 52.36074916522985], + [4.873310926906261, 52.360749285928975], + [4.873318663146951, 52.360749319511484], + [4.873343295807144, 52.36074942643704], + [4.873399965745847, 52.360744082034955], + [4.873464439473817, 52.36073800751383], + [4.873467657985415, 52.36073770691011], + [4.873488688980308, 52.36073570403145], + [4.873494126737997, 52.36073518836381], + [4.87350338273293, 52.360735872846476], + [4.873515043233613, 52.36073673514174], + [4.87355158267884, 52.36074183694806], + [4.873558661876566, 52.360742829352496], + [4.873580336026829, 52.360747408275344], + [4.873582329355056, 52.36074768655603], + [4.873594699526397, 52.360749429921114], + [4.873602320941713, 52.36075050556504], + [4.873630254119269, 52.36075717881411], + [4.873654701007094, 52.36076318981541], + [4.873669212900652, 52.360767611823], + [4.873680023813862, 52.36077089430678], + [4.873702298538768, 52.36077812719631], + [4.873722415519887, 52.360782798203694], + [4.873748763158841, 52.360793284337724], + [4.873783907991641, 52.36080600162832], + [4.873809703915876, 52.36083499111634], + [4.873823005716479, 52.36085137952911], + [4.873823418134163, 52.360853043472254], + [4.873829013382997, 52.360875618088045], + [4.873830554401974, 52.36088183548597], + [4.873849585829229, 52.360958619571676], + [4.873850482346277, 52.36096223664752], + [4.873851220195173, 52.36096951991783], + [4.873851746561815, 52.360974780029174], + [4.873850246154462, 52.36097884496974], + [4.873843657802452, 52.36098491008862], + [4.873840481324743, 52.36098825007799], + [4.873837460605654, 52.36099142629045], + [4.873829393762087, 52.360998392758894], + [4.873828153791216, 52.36099898057265], + [4.8738198578542, 52.361002908190336], + [4.873812147654297, 52.36100696417595], + [4.873803341662809, 52.361010566021854], + [4.873792285976887, 52.361011938138276], + [4.873796934924837, 52.36101248356315], + [4.873805172729064, 52.361013450040105], + [4.873813382637197, 52.36101442036945], + [4.87382053705137, 52.36101526029261], + [4.873827384852428, 52.36101595508178], + [4.87383590480633, 52.36101677396253], + [4.873851101290971, 52.36101786446389], + [4.873862229412977, 52.36102165161973], + [4.873874026845114, 52.3610234194349], + [4.873885509886563, 52.36102698343394], + [4.873893738137903, 52.361028906537875], + [4.873905011900939, 52.36103152591473], + [4.873912229946146, 52.36103321095593], + [4.873921883103724, 52.361036326617935], + [4.873931130424396, 52.36103899113253], + [4.873943004736983, 52.36104299722172], + [4.873948564102911, 52.361045119188525], + [4.87395412757132, 52.361047242720716], + [4.873964874136732, 52.361051019224846], + [4.873974164589507, 52.36105503208418], + [4.873982320304786, 52.361058150237064], + [4.873986220704934, 52.36105982089073], + [4.873990121105373, 52.36106149154423], + [4.874007222934505, 52.36107173980622], + [4.874003051502605, 52.361063039564606], + [4.874001998858686, 52.36105377762771], + [4.874000665854225, 52.36105098564919], + [4.874000586102135, 52.36104518821024], + [4.874001278585311, 52.36104116470411], + [4.874001971068359, 52.361037141198004], + [4.874005908748491, 52.36102797279653], + [4.874013871804571, 52.36101728494129], + [4.874014815142515, 52.36101639854807], + [4.874015196294959, 52.3610157358037], + [4.874023459667638, 52.36100827584885], + [4.874030095492257, 52.36100318160192], + [4.874035574541144, 52.36099909795499], + [4.874039138475856, 52.36099685748089], + [4.874041874101878, 52.36099515268063], + [4.874046190866146, 52.36099255596003], + [4.874049959382318, 52.3609903972621], + [4.874055098009594, 52.36098782207918], + [4.874060029767164, 52.360985362839976], + [4.874064691674346, 52.36098338776893], + [4.874071242060121, 52.36098060299887], + [4.874078229930494, 52.3609780717815], + [4.874084213646195, 52.36097604851256], + [4.874089915222385, 52.36097430264044], + [4.874098987629212, 52.36097178045696], + [4.874110600999727, 52.360969152445286], + [4.874122825726281, 52.36096697646917], + [4.874152835096323, 52.36096297216784], + [4.874159050656617, 52.36097009942066], + [4.874190804157952, 52.3609587237327], + [4.874207454900479, 52.360961006872266], + [4.874222899611479, 52.36096348251379], + [4.874238344324212, 52.360965958153294], + [4.874244487210065, 52.360967944098604], + [4.874250644776316, 52.36096993010723], + [4.874258986731547, 52.36097217723712], + [4.87426732858373, 52.36097443335373], + [4.874279857477133, 52.360978963534365], + [4.874296369631498, 52.360984346831664], + [4.87431874953718, 52.36099265858888], + [4.874327895204008, 52.36098506761928], + [4.874339975449332, 52.36098014973373], + [4.874351689385386, 52.360977710876654], + [4.87437977311866, 52.36097734685954], + [4.874381392956569, 52.36097730028913], + [4.874398982638044, 52.360977097864804], + [4.87441658360677, 52.36097845935371], + [4.874434107684498, 52.3609802291694], + [4.874436760544916, 52.3609804970905], + [4.874443160440356, 52.36098161974591], + [4.874461965053916, 52.36098449736919], + [4.874466643433172, 52.36098489569983], + [4.874476000456304, 52.360985691196774], + [4.874493246518126, 52.360987275830624], + [4.874503336304008, 52.36098829411652], + [4.874503397979635, 52.36098830034098], + [4.87453547862922, 52.36098888777971], + [4.874606434364365, 52.36098850298392], + [4.874620425679004, 52.36098717046575], + [4.874618601060795, 52.360982452989006], + [4.874627082819177, 52.360980224803164], + [4.874631114814962, 52.36098448447474], + [4.874645510352803, 52.36097865983327], + [4.874661357407467, 52.360975537796826], + [4.874681654445398, 52.360969720726104], + [4.87469084785382, 52.36097197151178], + [4.874697497349858, 52.36097331250943], + [4.874697991192651, 52.36097344133647], + [4.874714808345848, 52.36097690165837], + [4.874742113685081, 52.360979491491385], + [4.874772386135716, 52.36097939783926], + [4.874799722362178, 52.36097804217437], + [4.874829746543374, 52.360973808278956], + [4.874829834240688, 52.36097379007354], + [4.874836297572837, 52.36097244832579], + [4.874846984097826, 52.36096998699755], + [4.87484961459284, 52.36096975571326], + [4.874842210334912, 52.36095876761148], + [4.874931978937924, 52.36092979314786], + [4.87493827589989, 52.36093878117406], + [4.874961913508191, 52.360932259491484], + [4.874980881885884, 52.36092326394791], + [4.8750013184987, 52.36091043698852], + [4.875012691059704, 52.36089941329645], + [4.875025858389413, 52.36088297776055], + [4.87503786864638, 52.36086249273374], + [4.875043728068513, 52.36085978581033], + [4.875052172224788, 52.36085572393227], + [4.875058795446706, 52.360854023140796], + [4.875065423992472, 52.36085232098172], + [4.87507681552166, 52.36084982673181], + [4.875072724879711, 52.36084555783391], + [4.875085564773717, 52.3608396814705], + [4.875087791856292, 52.360842603132895], + [4.875096516052046, 52.3608333565365], + [4.875144653053066, 52.36075198303553], + [4.875155520345176, 52.36073766763082], + [4.875158776644303, 52.36073281934756], + [4.875170049369759, 52.360721534563936], + [4.875175518577284, 52.36071701941024], + [4.875189625405595, 52.36070432697651], + [4.875189740697685, 52.36070421782887], + [4.875190769084626, 52.360703244249564], + [4.875205278934592, 52.36069640441985], + [4.875216049908607, 52.36069202381027], + [4.875216134777059, 52.36069198446311], + [4.875239735153022, 52.36068104059553], + [4.875258032230589, 52.360678045915556], + [4.875281825236022, 52.36067458067333], + [4.875288260583581, 52.36067401012723], + [4.875311113398473, 52.360671984035626], + [4.875339310713427, 52.36067232166536], + [4.875363727246217, 52.36067334398556], + [4.875369313496562, 52.36067453971072], + [4.875370817525256, 52.36067465090035], + [4.875382004140518, 52.36067718887026], + [4.875387597500463, 52.36067845336115], + [4.875393190860731, 52.360679717851816], + [4.875400751250775, 52.36068249121093], + [4.875432083354253, 52.36069210932042], + [4.875446763889228, 52.36069719693152], + [4.875463662030847, 52.36070475676808], + [4.875483037373985, 52.36071648607218], + [4.875486456213255, 52.36071788752473], + [4.875495662311543, 52.36072412885987], + [4.875503370010693, 52.36072791006424], + [4.875514069333854, 52.36073706089264], + [4.875522190757853, 52.36074442999268], + [4.875526620623274, 52.3607485655251], + [4.875531050489522, 52.360752701057365], + [4.875539880005143, 52.36075850036202], + [4.875544062804551, 52.360762419120114], + [4.87559589686002, 52.36081741443343], + [4.875669438249383, 52.360800287026635], + [4.875673203163666, 52.3607995968002], + [4.875710092197398, 52.36079109455642], + [4.875711340554844, 52.36079080235995], + [4.87574687770298, 52.36078248435938], + [4.875820830160744, 52.36076789317758], + [4.875864194451652, 52.360714558496824], + [4.876452145080829, 52.360888685436564], + [4.876668188469124, 52.360597008612096], + [4.876845889012206, 52.3606396846658], + [4.876962277821802, 52.36065865858288], + [4.876733728937213, 52.36097126824653], + [4.877207130474766, 52.36110099208028], + [4.877440757474827, 52.36078143185254], + [4.881254233257216, 52.36182632110397], + [4.88208506790752, 52.361546413794], + [4.882106740130919, 52.36152934867539], + [4.882111028877661, 52.36149564498983], + [4.882067628717989, 52.36145729788694], + [4.880346696694701, 52.36099953082082], + [4.880345540189635, 52.36096711608749], + [4.880299046646569, 52.36094785402403], + [4.878790383425321, 52.360546795746714], + [4.878594757508464, 52.36050019885188], + [4.877980121158842, 52.360337422004505], + [4.877688222570613, 52.360266591930824], + [4.877301043222332, 52.36018226461887], + [4.877098739433883, 52.360454498748446], + [4.876823246753967, 52.360382303988416], + [4.877025984528478, 52.36009232559679], + [4.876697630434126, 52.359999181168554], + [4.875755054038905, 52.35969103934038], + [4.875816229461869, 52.359617311743825], + [4.87586533607182, 52.3595479545352], + [4.875875558392619, 52.359533510448216], + [4.875881795966668, 52.3595247204147], + [4.875886899782848, 52.35951749833888], + [4.875970095055625, 52.35940000138013], + [4.875875392798265, 52.359374624410954], + [4.875745493905367, 52.35933981096497], + [4.875690832851949, 52.359325158449], + [4.875684832570106, 52.35932355067902], + [4.875649289817392, 52.35931611702085], + [4.875648573606591, 52.35931712055314], + [4.875454801300457, 52.359265843825604], + [4.875444659027987, 52.359263157583875], + [4.875246935612433, 52.35921083883027], + [4.875236890972208, 52.35922513982885], + [4.875074478286337, 52.35918129614326], + [4.875101897703445, 52.35914337862846], + [4.875153902024207, 52.359071458962894], + [4.875160928356276, 52.359061746640485], + [4.875180366695218, 52.35903484951043], + [4.875191778804139, 52.35901908044073], + [4.875278303087995, 52.35889940534282], + [4.875297524699081, 52.358891282653985], + [4.87532091018964, 52.35888106584726], + [4.875322826731707, 52.35888163137474], + [4.875327132767607, 52.35887612253157], + [4.875318135047767, 52.35887348616638], + [4.875317673255046, 52.358874068372884], + [4.875314409341233, 52.358873227386695], + [4.875379007602379, 52.358778461304944], + [4.875285283979371, 52.35875365431454], + [4.875099739730671, 52.358704533680225], + [4.874996035260677, 52.35867708582352], + [4.87501363906076, 52.35865268836199], + [4.875026573706918, 52.3586347328849], + [4.875075581111547, 52.35856678185244], + [4.875144817638096, 52.3584707956497], + [4.87504851533494, 52.35844562679134], + [4.874864165523122, 52.35839744567318], + [4.874628167213479, 52.35833577472619], + [4.874618185841979, 52.35833316101102], + [4.873869464852632, 52.358137479970495], + [4.873859963192123, 52.358135281707575], + [4.873838888257563, 52.35812977070268], + [4.873736240594897, 52.35810124778582], + [4.873721125131302, 52.35809704785705], + [4.873684894898821, 52.35808697721121], + [4.873672449443204, 52.35808292367483], + [4.873636838749975, 52.35807132778478], + [4.873632087249923, 52.35806965342537], + [4.873627423407493, 52.35806801539699], + [4.873606151338839, 52.358060517203064], + [4.873563756070518, 52.35804280714995], + [4.873555089674388, 52.358039471042765], + [4.873495696485481, 52.358016600143344], + [4.873487258822958, 52.35801379530081], + [4.873478835736326, 52.358010999508714], + [4.873455116615721, 52.358003122170174], + [4.873391831658801, 52.357981672367565], + [4.873339514593451, 52.35796637282255], + [4.873321051390579, 52.3579609809151], + [4.873312370561844, 52.35795889402421], + [4.873246188495978, 52.35794297700645], + [4.873178110929426, 52.357927222487916], + [4.873137488966892, 52.35791866052014], + [4.873129962056815, 52.35791707295292], + [4.873122420468444, 52.35791548532154], + [4.873071946844142, 52.35790706929005], + [4.87299833629466, 52.35789502055194], + [4.872921187876169, 52.357882983361065], + [4.872857035853266, 52.357874319068785], + [4.872804953781794, 52.35786790020211], + [4.872750189497988, 52.357857326304014], + [4.872732203298425, 52.357853850767505], + [4.872663279862207, 52.35784017743286], + [4.872603160433002, 52.357825562666065], + [4.872571890426909, 52.35781692431669], + [4.872526646063839, 52.35780444136008], + [4.872477531464466, 52.35778898458838], + [4.872464991374538, 52.35778424744384], + [4.872452466070336, 52.35777950137451], + [4.872444909871898, 52.35777664636371], + [4.872407885019053, 52.35776172747282], + [4.872371928011331, 52.35774586950088], + [4.872335056405482, 52.35772786845581], + [4.872326626195222, 52.357723167147505], + [4.872300197931232, 52.35770842912819], + [4.872260842834286, 52.35768180699408], + [4.872226506301883, 52.35765281593809], + [4.872223355640739, 52.357649818299066], + [4.872220204980019, 52.35764682065994], + [4.87220855698935, 52.35764870235181], + [4.87209380891253, 52.35766754471933], + [4.872079697666194, 52.35767044028309], + [4.872066087654797, 52.35767441655623], + [4.872053276417229, 52.3576791332993], + [4.872041803415388, 52.3576849074315], + [4.872031625969075, 52.35769162192669], + [4.872022838515464, 52.35769872894353], + [4.872005398425424, 52.35771650271049], + [4.871999324683982, 52.35771493038334], + [4.871958842801662, 52.35770445422855], + [4.871952755636998, 52.3577027739876], + [4.871916569017863, 52.35769280185241], + [4.871916232449995, 52.35769271050986], + [4.871864160765294, 52.35767784278921], + [4.871861189954072, 52.357677056909644], + [4.871860268010588, 52.357676810226785], + [4.871835843068565, 52.35767034056552], + [4.871832696635216, 52.357669508981864], + [4.871780607468711, 52.3576561510899], + [4.871776524520484, 52.35765506377007], + [4.871747563493892, 52.35764734301798], + [4.871704099798233, 52.3576357752616], + [4.871686596750248, 52.35763116022543], + [4.871697095482098, 52.35760942863036], + [4.871698567824744, 52.35760652301149], + [4.87169980572514, 52.35760358042064], + [4.871700823862057, 52.35760060092177], + [4.871701023664244, 52.35759982884547], + [4.871701607452404, 52.35759759343822], + [4.871702171070551, 52.35759456702127], + [4.871702499933412, 52.35759153059422], + [4.871702593936635, 52.35758849314446], + [4.87170243840154, 52.35758545460796], + [4.871702062685626, 52.35758241511264], + [4.871701466475731, 52.35757940162037], + [4.871700620623258, 52.35757639602865], + [4.87169955417249, 52.357573425427304], + [4.871698267123468, 52.35757048981627], + [4.871696744797514, 52.35756758913159], + [4.871695001664579, 52.35756474141184], + [4.871693052403415, 52.35756194672091], + [4.871690882335337, 52.35755920499479], + [4.871688505930284, 52.3575565342721], + [4.871633799380239, 52.357503142469184], + [4.871619281788512, 52.357486685584234], + [4.871575464610665, 52.35749039541387], + [4.871566795201396, 52.357491130597175], + [4.871548920836156, 52.35749068423848], + [4.871531031897031, 52.35749022882587], + [4.871498645737637, 52.35748925187886], + [4.871460401890958, 52.35748706301926], + [4.871422143473864, 52.357484865096005], + [4.871377447435672, 52.357480832570786], + [4.871364711296081, 52.35747908737497], + [4.871352006081983, 52.35747720749632], + [4.871339375829547, 52.35747519312679], + [4.871326790972548, 52.357473062112916], + [4.871314266398726, 52.357470796544206], + [4.871301802003702, 52.35746840540795], + [4.871289412466258, 52.35746588876811], + [4.871280568170651, 52.35746398975772], + [4.871277083107798, 52.357463246560826], + [4.871264828607101, 52.357460478849944], + [4.871252663642938, 52.357457585699585], + [4.871240558858034, 52.35745456698179], + [4.871228558288515, 52.35745142288849], + [4.871216632472604, 52.35744816227907], + [4.871204796089054, 52.35744478521752], + [4.871123121183267, 52.35742068353387], + [4.871075828803378, 52.35740513525549], + [4.871029953700519, 52.35739015936632], + [4.87098320000048, 52.357374999872775], + [4.870909744324451, 52.357347239918326], + [4.87081190904815, 52.357310412781736], + [4.870612622532607, 52.35723847711935], + [4.870606877694462, 52.357236402841586], + [4.87058822186973, 52.35722995809761], + [4.870548642646542, 52.3572189281559], + [4.870475508056328, 52.35719767646215], + [4.870336712275719, 52.35716135319136], + [4.870248526219513, 52.35725018950682], + [4.869959843386207, 52.35714805892244], + [4.870020760825543, 52.357083972791735], + [4.869846536088861, 52.357049642219884], + [4.869740915791143, 52.35702848176761], + [4.869733567078332, 52.357026741970486], + [4.869537068646451, 52.356980314922325], + [4.869353120135428, 52.3569289632344], + [4.869314448828934, 52.35691817053085], + [4.869267250621581, 52.35690219951223], + [4.869253108233303, 52.35689770667097], + [4.869229445083364, 52.3568901792468], + [4.869173905914015, 52.356870711408106], + [4.869163146300764, 52.35686691642884], + [4.869131349763381, 52.35685571335098], + [4.869110400600512, 52.35684833259696], + [4.869098573771632, 52.356844164443004], + [4.869090183584429, 52.35684110783554], + [4.869043453060314, 52.35682406923144], + [4.868992609183292, 52.356803534341495], + [4.868981453508246, 52.356798461350955], + [4.868953943924924, 52.356785955792894], + [4.868879010477358, 52.356751689953114], + [4.868873783308043, 52.35674929429822], + [4.868865327950189, 52.35674553634459], + [4.868821590792892, 52.35672610204171], + [4.868748910024494, 52.35669378733792], + [4.868736891423127, 52.356688449899735], + [4.868712342877139, 52.356678824346915], + [4.868711086203541, 52.3566783335039], + [4.868561632100086, 52.356619770691346], + [4.868386387893525, 52.356551100274785], + [4.868362228015656, 52.35654716559971], + [4.86833928819437, 52.35654057589268], + [4.868303244657549, 52.356531070635214], + [4.868245362255234, 52.35651372218235], + [4.868231421913024, 52.35650954467511], + [4.86819845576642, 52.356499234991816], + [4.86812391488411, 52.356481696598586], + [4.867917624729569, 52.35643317469779], + [4.867895866465756, 52.356428486503546], + [4.86787410810138, 52.35642380729257], + [4.867867310186851, 52.35642268096252], + [4.86786048165387, 52.35642166235079], + [4.867853593040549, 52.356420760315864], + [4.867848547060446, 52.35642045056895], + [4.867843484719184, 52.35642028455408], + [4.867838420905404, 52.35642024436111], + [4.867833355408695, 52.35642034796457], + [4.867828302907342, 52.35642059542891], + [4.867823263611666, 52.35642096877952], + [4.867818266667913, 52.35642148611981], + [4.867813312181225, 52.35642213846244], + [4.867810856271602, 52.356422523147685], + [4.867808414935078, 52.35642291688459], + [4.86780356014591, 52.356423830309126], + [4.867798791848679, 52.3564248789293], + [4.867794095470206, 52.35642605369341], + [4.86778950036712, 52.35642735473028], + [4.86778499196625, 52.356428772988174], + [4.867780599519048, 52.35643031758328], + [4.867776323130679, 52.35643197952828], + [4.867772162801122, 52.35643375882319], + [4.867768133313895, 52.35643564654517], + [4.867764249347315, 52.35643764275861], + [4.867762387568757, 52.35643868615599], + [4.867760511006577, 52.35643973847624], + [4.867756932970011, 52.35644193376247], + [4.867753515237617, 52.356444228617356], + [4.867750272698138, 52.3564466051307], + [4.867747190462842, 52.35644908121273], + [4.867744298204019, 52.35645163003035], + [4.867741595921693, 52.35645425158365], + [4.867739083615877, 52.35645694587257], + [4.867736776070147, 52.35645970397428], + [4.867734658606186, 52.3564625258244], + [4.867732760685911, 52.35646540256443], + [4.867731053057873, 52.356468325078296], + [4.867565283773862, 52.35643181724912], + [4.867560700189634, 52.35643088037703], + [4.867561067628969, 52.356427080170235], + [4.867561346787777, 52.35642329755141], + [4.86756140587682, 52.35641950497878], + [4.867561230007355, 52.35641572036246], + [4.867560833857765, 52.35641194376684], + [4.867560202749782, 52.356408175127555], + [4.867559364145811, 52.356404576344744], + [4.867558235237913, 52.35640069766712], + [4.86755691340723, 52.35639699789764], + [4.867555370980985, 52.356393333110766], + [4.867553593280911, 52.356389703242066], + [4.867551609558457, 52.356386117407645], + [4.867549390351794, 52.356382584465976], + [4.86754708076027, 52.35637924885803], + [4.867544333661159, 52.35637566866006], + [4.867541495861541, 52.35637231275766], + [4.867538538846711, 52.35636910912363], + [4.867535201564358, 52.356365786979346], + [4.867531759429436, 52.356362644129725], + [4.867528183716776, 52.3563596265221], + [4.867524314543667, 52.35635659863829], + [4.867520326365917, 52.35635370504816], + [4.86751614621297, 52.356350909480426], + [4.867511876411985, 52.35634824833523], + [4.867507312729654, 52.35634561286292], + [4.867502659294031, 52.35634312080043], + [4.867497857812878, 52.35634073594081], + [4.867492908286182, 52.356338458284085], + [4.867488555518242, 52.35633661465941], + [4.86748260871, 52.35633426072164], + [4.86747734641451, 52.35633236816442], + [4.867471833641051, 52.356330555397015], + [4.867397166068642, 52.35631260255071], + [4.86718842359381, 52.35626429329727], + [4.867137559060911, 52.356123181933725], + [4.867233383961543, 52.355992566291675], + [4.867041280960356, 52.35587857544605], + [4.867388196176178, 52.35522039364998], + [4.867242354728078, 52.355179321690045], + [4.867085830132322, 52.35495313122182], + [4.866853667380711, 52.354738319100704], + [4.86680401703846, 52.35480996114231], + [4.86670351536868, 52.355202411611934], + [4.864662381046981, 52.35547982627098], + [4.864191949037235, 52.35572743726165], + [4.862902525002823, 52.35579149900464], + [4.862106041772348, 52.35573289010199], + [4.861621699923393, 52.35563527137289], + [4.861144572359165, 52.35543486973168], + [4.859972544183071, 52.354698948569855], + [4.858866441702216, 52.35447003118795], + [4.8578930287119, 52.35467498031823], + [4.85762302359612, 52.3548530315845], + [4.857622660895996, 52.35485636442177], + [4.857616102836207, 52.354906522747825], + [4.857568109539648, 52.354903584723225], + [4.857496455034481, 52.35489690075307], + [4.857423673083452, 52.35488752435231], + [4.857399075293866, 52.35488354053305], + [4.857336231696658, 52.35487162907259], + [4.857246903396953, 52.35484903838445], + [4.857168261660299, 52.35482763692723], + [4.857150645963791, 52.35482283947063], + [4.857128921165447, 52.35481673836021], + [4.857068679534972, 52.354797144883676], + [4.856978302511412, 52.354767754545605], + [4.856977514818597, 52.35476856890369], + [4.856954797221194, 52.354570376832896], + [4.856721497902141, 52.354955855859345], + [4.856627397380694, 52.355001005466896], + [4.856624966459253, 52.35507419091262], + [4.8565054413279, 52.355072702392306], + [4.856158818158288, 52.35500904239318], + [4.856468338185143, 52.35455068851282], + [4.85623548985104, 52.35452400216093], + [4.855857496929533, 52.35454916143023], + [4.855617518795705, 52.35462021075809], + [4.855649563330507, 52.35487009766624], + [4.855618611887341, 52.35499951728627], + [4.8555929926328, 52.3551065453607], + [4.854950328694452, 52.3563881704337], + [4.855110155604327, 52.356441952721504], + [4.861818778980194, 52.3581905749727], + [4.865165800724702, 52.358975686817665], + [4.865332084015194, 52.35887801311724], + [4.865553274601393, 52.358873541458586], + [4.865778185095015, 52.358853572914775], + [4.865861569263299, 52.35888085848488], + [4.86592015721833, 52.358958294305666], + [4.866075984879038, 52.35909952184341], + [4.866277230060384, 52.35921728429396], + [4.866335922680389, 52.3592433823367], + [4.868506665683955, 52.35975503222791], + [4.869971597385317, 52.360140760787026], + [4.870058521860415, 52.36000830166947], + [4.870868238740244, 52.36021543554047] + ] + ] + ] + }, + "name": "Vondelpark" + }, + { + "id": 29, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.906597217132099, 52.35618022268742], + [4.906663379215594, 52.35621374588988], + [4.906966493142058, 52.356265936402906], + [4.906998556780916, 52.35626685739672], + [4.90703451098284, 52.356262293672195], + [4.907070704236297, 52.35624920155027], + [4.907104603094245, 52.356184959926146], + [4.907231038074401, 52.35585061676067], + [4.907376631107756, 52.35558648236902], + [4.907384198854615, 52.35557622209183], + [4.90733848300725, 52.35554285407488], + [4.907347429542153, 52.35550825162468], + [4.907566011073937, 52.35511027093938], + [4.907671894032209, 52.35513551504449], + [4.907785725346158, 52.35493725736124], + [4.907819830207286, 52.35489588114653], + [4.908011214820773, 52.35477299384113], + [4.908202598373938, 52.354650106221946], + [4.908071404757302, 52.354581897643946], + [4.907938911979054, 52.354549231779544], + [4.907408495307206, 52.355117020516374], + [4.907162894610487, 52.355627094187675], + [4.906961701340467, 52.35607798351784], + [4.906908650241791, 52.35613236874584], + [4.906866421736219, 52.356156518201], + [4.906777691747033, 52.356183238158835], + [4.90671767093938, 52.35618987915283], + [4.906662969881859, 52.35618918974808], + [4.906597217132099, 52.35618022268742] + ] + ] + ] + }, + "name": "Weesperzijde" + }, + { + "id": 30, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.908870856142062, 52.35394133952752], + [4.909031126419095, 52.354002762111215], + [4.909178028449949, 52.353855381399406], + [4.910286457890335, 52.352722490652624], + [4.911046292853144, 52.35194584767296], + [4.911294226641099, 52.35168449070792], + [4.911345852131642, 52.351615591558286], + [4.911406015042802, 52.351519745519], + [4.911590436402146, 52.35115544077722], + [4.911750833848005, 52.35084267378495], + [4.912238467275894, 52.34992112345298], + [4.912503591743188, 52.349420104961276], + [4.912549161048026, 52.34935303245403], + [4.91283456370252, 52.34893284035869], + [4.912795357238128, 52.34892235630919], + [4.912950348875868, 52.34860986252663], + [4.912778640537293, 52.348570832701064], + [4.912318288034426, 52.34938812027077], + [4.911644965437318, 52.35065242746958], + [4.911576108700331, 52.35081189885353], + [4.911258034683491, 52.35144881257111], + [4.911206170729665, 52.351541321509224], + [4.911140624332878, 52.35162588416257], + [4.908870856142062, 52.35394133952752] + ] + ] + ] + }, + "name": "Weesperzijde" + }, + { + "id": 31, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.845850141788427, 52.35486610422637], + [4.845911356920602, 52.35167049385251], + [4.845748026958314, 52.35167035797283], + [4.845666980871384, 52.35462443909394], + [4.845376793409515, 52.3546250884344], + [4.845366606118414, 52.35485818213064], + [4.845850141788427, 52.35486610422637] + ] + ] + ] + }, + "name": "Westlandgracht" + }, + { + "id": 32, + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [4.861877260618465, 52.32352615229901], + [4.862226446170766, 52.32352789997844], + [4.862245051347768, 52.32303589961766], + [4.8622614386287, 52.32295992641567], + [4.865896580207141, 52.32293966009039], + [4.86590696362375, 52.3226548349252], + [4.868737800014175, 52.32267313842906], + [4.868754212459183, 52.32187643169608], + [4.86273747293006, 52.32176395840829], + [4.862718826643739, 52.32213798050007], + [4.862494636673055, 52.32255090074634], + [4.862509484784579, 52.32260270047189], + [4.861911161839862, 52.322594374115596], + [4.861877260618465, 52.32352615229901] + ] + ] + ] + }, + "name": "t Kleine Loopveld" + } +] diff --git a/src/pages/PolygonLayer/single.json b/src/pages/PolygonLayer/single.json new file mode 100644 index 0000000..952e077 --- /dev/null +++ b/src/pages/PolygonLayer/single.json @@ -0,0 +1,645 @@ +{ + "geometry": { + "type": "MultiPolygon", + "coordinates": [ + [ + [ + [52.360215, 4.870868], + [52.360214, 4.870965], + [52.360224, 4.871006], + [52.360227, 4.871016], + [52.360233, 4.871042], + [52.360238, 4.871063], + [52.360282, 4.871241], + [52.360288, 4.871251], + [52.360296, 4.871263], + [52.360301, 4.871272], + [52.360305, 4.87128], + [52.360308, 4.871285], + [52.360311, 4.87129], + [52.360318, 4.871297], + [52.360329, 4.871304], + [52.360333, 4.871305], + [52.360333, 4.871305], + [52.360338, 4.871306], + [52.360344, 4.871308], + [52.36035, 4.871309], + [52.360354, 4.871309], + [52.360359, 4.871309], + [52.360364, 4.871309], + [52.36037, 4.871308], + [52.360371, 4.871308], + [52.360378, 4.871307], + [52.360385, 4.871305], + [52.360414, 4.871295], + [52.360444, 4.871286], + [52.360501, 4.871267], + [52.360517, 4.871262], + [52.360533, 4.871257], + [52.360536, 4.871256], + [52.360567, 4.871385], + [52.360354, 4.871536], + [52.360349, 4.871841], + [52.360352, 4.87186], + [52.360355, 4.871886], + [52.360359, 4.871911], + [52.360363, 4.871936], + [52.360368, 4.871961], + [52.360375, 4.871992], + [52.360381, 4.872025], + [52.360397, 4.872114], + [52.360407, 4.872176], + [52.360474, 4.87245], + [52.360492, 4.87251], + [52.360557, 4.872734], + [52.360617, 4.872926], + [52.360636, 4.872985], + [52.360645, 4.873011], + [52.360651, 4.873027], + [52.360749, 4.873285], + [52.360749, 4.873311], + [52.360749, 4.873319], + [52.360749, 4.873343], + [52.360744, 4.8734], + [52.360738, 4.873464], + [52.360738, 4.873468], + [52.360736, 4.873489], + [52.360735, 4.873494], + [52.360736, 4.873503], + [52.360737, 4.873515], + [52.360742, 4.873552], + [52.360743, 4.873559], + [52.360747, 4.87358], + [52.360748, 4.873582], + [52.360749, 4.873595], + [52.360751, 4.873602], + [52.360757, 4.87363], + [52.360763, 4.873655], + [52.360768, 4.873669], + [52.360771, 4.87368], + [52.360778, 4.873702], + [52.360783, 4.873722], + [52.360793, 4.873749], + [52.360806, 4.873784], + [52.360835, 4.87381], + [52.360851, 4.873823], + [52.360853, 4.873823], + [52.360876, 4.873829], + [52.360882, 4.873831], + [52.360959, 4.87385], + [52.360962, 4.87385], + [52.36097, 4.873851], + [52.360975, 4.873852], + [52.360979, 4.87385], + [52.360985, 4.873844], + [52.360988, 4.87384], + [52.360991, 4.873837], + [52.360998, 4.873829], + [52.360999, 4.873828], + [52.361003, 4.87382], + [52.361007, 4.873812], + [52.361011, 4.873803], + [52.361012, 4.873792], + [52.361012, 4.873797], + [52.361013, 4.873805], + [52.361014, 4.873813], + [52.361015, 4.873821], + [52.361016, 4.873827], + [52.361017, 4.873836], + [52.361018, 4.873851], + [52.361022, 4.873862], + [52.361023, 4.873874], + [52.361027, 4.873886], + [52.361029, 4.873894], + [52.361032, 4.873905], + [52.361033, 4.873912], + [52.361036, 4.873922], + [52.361039, 4.873931], + [52.361043, 4.873943], + [52.361045, 4.873949], + [52.361047, 4.873954], + [52.361051, 4.873965], + [52.361055, 4.873974], + [52.361058, 4.873982], + [52.36106, 4.873986], + [52.361061, 4.87399], + [52.361072, 4.874007], + [52.361063, 4.874003], + [52.361054, 4.874002], + [52.361051, 4.874001], + [52.361045, 4.874001], + [52.361041, 4.874001], + [52.361037, 4.874002], + [52.361028, 4.874006], + [52.361017, 4.874014], + [52.361016, 4.874015], + [52.361016, 4.874015], + [52.361008, 4.874023], + [52.361003, 4.87403], + [52.360999, 4.874036], + [52.360997, 4.874039], + [52.360995, 4.874042], + [52.360993, 4.874046], + [52.36099, 4.87405], + [52.360988, 4.874055], + [52.360985, 4.87406], + [52.360983, 4.874065], + [52.360981, 4.874071], + [52.360978, 4.874078], + [52.360976, 4.874084], + [52.360974, 4.87409], + [52.360972, 4.874099], + [52.360969, 4.874111], + [52.360967, 4.874123], + [52.360963, 4.874153], + [52.36097, 4.874159], + [52.360959, 4.874191], + [52.360961, 4.874207], + [52.360963, 4.874223], + [52.360966, 4.874238], + [52.360968, 4.874244], + [52.36097, 4.874251], + [52.360972, 4.874259], + [52.360974, 4.874267], + [52.360979, 4.87428], + [52.360984, 4.874296], + [52.360993, 4.874319], + [52.360985, 4.874328], + [52.36098, 4.87434], + [52.360978, 4.874352], + [52.360977, 4.87438], + [52.360977, 4.874381], + [52.360977, 4.874399], + [52.360978, 4.874417], + [52.36098, 4.874434], + [52.36098, 4.874437], + [52.360982, 4.874443], + [52.360984, 4.874462], + [52.360985, 4.874467], + [52.360986, 4.874476], + [52.360987, 4.874493], + [52.360988, 4.874503], + [52.360988, 4.874503], + [52.360989, 4.874535], + [52.360989, 4.874606], + [52.360987, 4.87462], + [52.360982, 4.874619], + [52.36098, 4.874627], + [52.360984, 4.874631], + [52.360979, 4.874646], + [52.360976, 4.874661], + [52.36097, 4.874682], + [52.360972, 4.874691], + [52.360973, 4.874697], + [52.360973, 4.874698], + [52.360977, 4.874715], + [52.360979, 4.874742], + [52.360979, 4.874772], + [52.360978, 4.8748], + [52.360974, 4.87483], + [52.360974, 4.87483], + [52.360972, 4.874836], + [52.36097, 4.874847], + [52.36097, 4.87485], + [52.360959, 4.874842], + [52.36093, 4.874932], + [52.360939, 4.874938], + [52.360932, 4.874962], + [52.360923, 4.874981], + [52.36091, 4.875001], + [52.360899, 4.875013], + [52.360883, 4.875026], + [52.360862, 4.875038], + [52.36086, 4.875044], + [52.360856, 4.875052], + [52.360854, 4.875059], + [52.360852, 4.875065], + [52.36085, 4.875077], + [52.360846, 4.875073], + [52.36084, 4.875086], + [52.360843, 4.875088], + [52.360833, 4.875097], + [52.360752, 4.875145], + [52.360738, 4.875156], + [52.360733, 4.875159], + [52.360722, 4.87517], + [52.360717, 4.875176], + [52.360704, 4.87519], + [52.360704, 4.87519], + [52.360703, 4.875191], + [52.360696, 4.875205], + [52.360692, 4.875216], + [52.360692, 4.875216], + [52.360681, 4.87524], + [52.360678, 4.875258], + [52.360675, 4.875282], + [52.360674, 4.875288], + [52.360672, 4.875311], + [52.360672, 4.875339], + [52.360673, 4.875364], + [52.360675, 4.875369], + [52.360675, 4.875371], + [52.360677, 4.875382], + [52.360678, 4.875388], + [52.36068, 4.875393], + [52.360682, 4.875401], + [52.360692, 4.875432], + [52.360697, 4.875447], + [52.360705, 4.875464], + [52.360716, 4.875483], + [52.360718, 4.875486], + [52.360724, 4.875496], + [52.360728, 4.875503], + [52.360737, 4.875514], + [52.360744, 4.875522], + [52.360749, 4.875527], + [52.360753, 4.875531], + [52.360759, 4.87554], + [52.360762, 4.875544], + [52.360817, 4.875596], + [52.3608, 4.875669], + [52.3608, 4.875673], + [52.360791, 4.87571], + [52.360791, 4.875711], + [52.360782, 4.875747], + [52.360768, 4.875821], + [52.360715, 4.875864], + [52.360889, 4.876452], + [52.360597, 4.876668], + [52.36064, 4.876846], + [52.360659, 4.876962], + [52.360971, 4.876734], + [52.361101, 4.877207], + [52.360781, 4.877441], + [52.361826, 4.881254], + [52.361546, 4.882085], + [52.361529, 4.882107], + [52.361496, 4.882111], + [52.361457, 4.882068], + [52.361, 4.880347], + [52.360967, 4.880346], + [52.360948, 4.880299], + [52.360547, 4.87879], + [52.3605, 4.878595], + [52.360337, 4.87798], + [52.360267, 4.877688], + [52.360182, 4.877301], + [52.360454, 4.877099], + [52.360382, 4.876823], + [52.360092, 4.877026], + [52.359999, 4.876698], + [52.359691, 4.875755], + [52.359617, 4.875816], + [52.359548, 4.875865], + [52.359534, 4.875876], + [52.359525, 4.875882], + [52.359517, 4.875887], + [52.3594, 4.87597], + [52.359375, 4.875875], + [52.35934, 4.875745], + [52.359325, 4.875691], + [52.359324, 4.875685], + [52.359316, 4.875649], + [52.359317, 4.875649], + [52.359266, 4.875455], + [52.359263, 4.875445], + [52.359211, 4.875247], + [52.359225, 4.875237], + [52.359181, 4.875074], + [52.359143, 4.875102], + [52.359071, 4.875154], + [52.359062, 4.875161], + [52.359035, 4.87518], + [52.359019, 4.875192], + [52.358899, 4.875278], + [52.358891, 4.875298], + [52.358881, 4.875321], + [52.358882, 4.875323], + [52.358876, 4.875327], + [52.358873, 4.875318], + [52.358874, 4.875318], + [52.358873, 4.875314], + [52.358778, 4.875379], + [52.358754, 4.875285], + [52.358705, 4.8751], + [52.358677, 4.874996], + [52.358653, 4.875014], + [52.358635, 4.875027], + [52.358567, 4.875076], + [52.358471, 4.875145], + [52.358446, 4.875049], + [52.358397, 4.874864], + [52.358336, 4.874628], + [52.358333, 4.874618], + [52.358137, 4.873869], + [52.358135, 4.87386], + [52.35813, 4.873839], + [52.358101, 4.873736], + [52.358097, 4.873721], + [52.358087, 4.873685], + [52.358083, 4.873672], + [52.358071, 4.873637], + [52.35807, 4.873632], + [52.358068, 4.873627], + [52.358061, 4.873606], + [52.358043, 4.873564], + [52.358039, 4.873555], + [52.358017, 4.873496], + [52.358014, 4.873487], + [52.358011, 4.873479], + [52.358003, 4.873455], + [52.357982, 4.873392], + [52.357966, 4.87334], + [52.357961, 4.873321], + [52.357959, 4.873312], + [52.357943, 4.873246], + [52.357927, 4.873178], + [52.357919, 4.873137], + [52.357917, 4.87313], + [52.357915, 4.873122], + [52.357907, 4.873072], + [52.357895, 4.872998], + [52.357883, 4.872921], + [52.357874, 4.872857], + [52.357868, 4.872805], + [52.357857, 4.87275], + [52.357854, 4.872732], + [52.35784, 4.872663], + [52.357826, 4.872603], + [52.357817, 4.872572], + [52.357804, 4.872527], + [52.357789, 4.872478], + [52.357784, 4.872465], + [52.35778, 4.872452], + [52.357777, 4.872445], + [52.357762, 4.872408], + [52.357746, 4.872372], + [52.357728, 4.872335], + [52.357723, 4.872327], + [52.357708, 4.8723], + [52.357682, 4.872261], + [52.357653, 4.872227], + [52.35765, 4.872223], + [52.357647, 4.87222], + [52.357649, 4.872209], + [52.357668, 4.872094], + [52.35767, 4.87208], + [52.357674, 4.872066], + [52.357679, 4.872053], + [52.357685, 4.872042], + [52.357692, 4.872032], + [52.357699, 4.872023], + [52.357717, 4.872005], + [52.357715, 4.871999], + [52.357704, 4.871959], + [52.357703, 4.871953], + [52.357693, 4.871917], + [52.357693, 4.871916], + [52.357678, 4.871864], + [52.357677, 4.871861], + [52.357677, 4.87186], + [52.35767, 4.871836], + [52.35767, 4.871833], + [52.357656, 4.871781], + [52.357655, 4.871777], + [52.357647, 4.871748], + [52.357636, 4.871704], + [52.357631, 4.871687], + [52.357609, 4.871697], + [52.357607, 4.871699], + [52.357604, 4.8717], + [52.357601, 4.871701], + [52.3576, 4.871701], + [52.357598, 4.871702], + [52.357595, 4.871702], + [52.357592, 4.871702], + [52.357588, 4.871703], + [52.357585, 4.871702], + [52.357582, 4.871702], + [52.357579, 4.871701], + [52.357576, 4.871701], + [52.357573, 4.8717], + [52.35757, 4.871698], + [52.357568, 4.871697], + [52.357565, 4.871695], + [52.357562, 4.871693], + [52.357559, 4.871691], + [52.357557, 4.871689], + [52.357503, 4.871634], + [52.357487, 4.871619], + [52.35749, 4.871575], + [52.357491, 4.871567], + [52.357491, 4.871549], + [52.35749, 4.871531], + [52.357489, 4.871499], + [52.357487, 4.87146], + [52.357485, 4.871422], + [52.357481, 4.871377], + [52.357479, 4.871365], + [52.357477, 4.871352], + [52.357475, 4.871339], + [52.357473, 4.871327], + [52.357471, 4.871314], + [52.357468, 4.871302], + [52.357466, 4.871289], + [52.357464, 4.871281], + [52.357463, 4.871277], + [52.35746, 4.871265], + [52.357458, 4.871253], + [52.357455, 4.871241], + [52.357451, 4.871229], + [52.357448, 4.871217], + [52.357445, 4.871205], + [52.357421, 4.871123], + [52.357405, 4.871076], + [52.35739, 4.87103], + [52.357375, 4.870983], + [52.357347, 4.87091], + [52.35731, 4.870812], + [52.357238, 4.870613], + [52.357236, 4.870607], + [52.35723, 4.870588], + [52.357219, 4.870549], + [52.357198, 4.870476], + [52.357161, 4.870337], + [52.35725, 4.870249], + [52.357148, 4.86996], + [52.357084, 4.870021], + [52.35705, 4.869847], + [52.357028, 4.869741], + [52.357027, 4.869734], + [52.35698, 4.869537], + [52.356929, 4.869353], + [52.356918, 4.869314], + [52.356902, 4.869267], + [52.356898, 4.869253], + [52.35689, 4.869229], + [52.356871, 4.869174], + [52.356867, 4.869163], + [52.356856, 4.869131], + [52.356848, 4.86911], + [52.356844, 4.869099], + [52.356841, 4.86909], + [52.356824, 4.869043], + [52.356804, 4.868993], + [52.356798, 4.868981], + [52.356786, 4.868954], + [52.356752, 4.868879], + [52.356749, 4.868874], + [52.356746, 4.868865], + [52.356726, 4.868822], + [52.356694, 4.868749], + [52.356688, 4.868737], + [52.356679, 4.868712], + [52.356678, 4.868711], + [52.35662, 4.868562], + [52.356551, 4.868386], + [52.356547, 4.868362], + [52.356541, 4.868339], + [52.356531, 4.868303], + [52.356514, 4.868245], + [52.35651, 4.868231], + [52.356499, 4.868198], + [52.356482, 4.868124], + [52.356433, 4.867918], + [52.356428, 4.867896], + [52.356424, 4.867874], + [52.356423, 4.867867], + [52.356422, 4.86786], + [52.356421, 4.867854], + [52.35642, 4.867849], + [52.35642, 4.867843], + [52.35642, 4.867838], + [52.35642, 4.867833], + [52.356421, 4.867828], + [52.356421, 4.867823], + [52.356421, 4.867818], + [52.356422, 4.867813], + [52.356423, 4.867811], + [52.356423, 4.867808], + [52.356424, 4.867804], + [52.356425, 4.867799], + [52.356426, 4.867794], + [52.356427, 4.86779], + [52.356429, 4.867785], + [52.35643, 4.867781], + [52.356432, 4.867776], + [52.356434, 4.867772], + [52.356436, 4.867768], + [52.356438, 4.867764], + [52.356439, 4.867762], + [52.35644, 4.867761], + [52.356442, 4.867757], + [52.356444, 4.867754], + [52.356447, 4.86775], + [52.356449, 4.867747], + [52.356452, 4.867744], + [52.356454, 4.867742], + [52.356457, 4.867739], + [52.35646, 4.867737], + [52.356463, 4.867735], + [52.356465, 4.867733], + [52.356468, 4.867731], + [52.356432, 4.867565], + [52.356431, 4.867561], + [52.356427, 4.867561], + [52.356423, 4.867561], + [52.35642, 4.867561], + [52.356416, 4.867561], + [52.356412, 4.867561], + [52.356408, 4.86756], + [52.356405, 4.867559], + [52.356401, 4.867558], + [52.356397, 4.867557], + [52.356393, 4.867555], + [52.35639, 4.867554], + [52.356386, 4.867552], + [52.356383, 4.867549], + [52.356379, 4.867547], + [52.356376, 4.867544], + [52.356372, 4.867541], + [52.356369, 4.867539], + [52.356366, 4.867535], + [52.356363, 4.867532], + [52.35636, 4.867528], + [52.356357, 4.867524], + [52.356354, 4.86752], + [52.356351, 4.867516], + [52.356348, 4.867512], + [52.356346, 4.867507], + [52.356343, 4.867503], + [52.356341, 4.867498], + [52.356338, 4.867493], + [52.356337, 4.867489], + [52.356334, 4.867483], + [52.356332, 4.867477], + [52.356331, 4.867472], + [52.356313, 4.867397], + [52.356264, 4.867188], + [52.356123, 4.867138], + [52.355993, 4.867233], + [52.355879, 4.867041], + [52.35522, 4.867388], + [52.355179, 4.867242], + [52.354953, 4.867086], + [52.354738, 4.866854], + [52.35481, 4.866804], + [52.355202, 4.866704], + [52.35548, 4.864662], + [52.355727, 4.864192], + [52.355791, 4.862903], + [52.355733, 4.862106], + [52.355635, 4.861622], + [52.355435, 4.861145], + [52.354699, 4.859973], + [52.35447, 4.858866], + [52.354675, 4.857893], + [52.354853, 4.857623], + [52.354856, 4.857623], + [52.354907, 4.857616], + [52.354904, 4.857568], + [52.354897, 4.857496], + [52.354888, 4.857424], + [52.354884, 4.857399], + [52.354872, 4.857336], + [52.354849, 4.857247], + [52.354828, 4.857168], + [52.354823, 4.857151], + [52.354817, 4.857129], + [52.354797, 4.857069], + [52.354768, 4.856978], + [52.354769, 4.856978], + [52.35457, 4.856955], + [52.354956, 4.856721], + [52.355001, 4.856627], + [52.355074, 4.856625], + [52.355073, 4.856505], + [52.355009, 4.856159], + [52.354551, 4.856468], + [52.354524, 4.856235], + [52.354549, 4.855857], + [52.35462, 4.855618], + [52.35487, 4.85565], + [52.355, 4.855619], + [52.355107, 4.855593], + [52.356388, 4.85495], + [52.356442, 4.85511], + [52.358191, 4.861819], + [52.358976, 4.865166], + [52.358878, 4.865332], + [52.358874, 4.865553], + [52.358854, 4.865778], + [52.358881, 4.865862], + [52.358958, 4.86592], + [52.3591, 4.866076], + [52.359217, 4.866277], + [52.359243, 4.866336], + [52.359755, 4.868507], + [52.360141, 4.869972], + [52.360008, 4.870059], + [52.360215, 4.870868] + ] + ] + ] + } +} diff --git a/src/pages/PolygonLayer/styles.module.css b/src/pages/PolygonLayer/styles.module.css new file mode 100644 index 0000000..d171d7c --- /dev/null +++ b/src/pages/PolygonLayer/styles.module.css @@ -0,0 +1,4 @@ +.container { + height: 100%; + min-height: 100%; +} diff --git a/src/stories/pages/PolygonLayer/index.mdx b/src/stories/pages/PolygonLayer/index.mdx new file mode 100644 index 0000000..7c57754 --- /dev/null +++ b/src/stories/pages/PolygonLayer/index.mdx @@ -0,0 +1,52 @@ +import { Canvas, Meta, Source, Story } from '@storybook/blocks'; +import * as PolygonLayerStories from './index.stories'; +import PolygonLayer from '@/pages/PolygonLayer/index?raw'; +import styles from '@/pages/PolygonLayer/styles.module.css?raw'; +import getCrsRd from '@/utils/getCrsRd?raw'; + + + +# PolygonLayer +## Requirements + +- [See global requirements list](../?path=/docs/global-requirements--docs) +- CRS handling ([utils/getCrsRd.ts](#1-getcrsrdts)) + +## Description + +This is a polygon layer.... + +## Background + +## How to implement + +To accomplish the Amstedam base/tile layer there are three files: +1. The React components + * [BaseLayer.tsx](#1-baselayertsx) +2. The CSS styles (1 file) + * [styles.module.css](#1-stylesmodulecss) +3. Utils (1 file) + * [getCrsRd.ts](#1-getcrsrdts) + - This util file handles the CRS (Coordinate Reference System) because Gemeente Amsterdam by default uses [Rijksdriehoekscoördinaten](https://www.kadaster.nl/zakelijk/registraties/basisregistraties/rijksdriehoeksmeting/rijksdriehoeksstelsel). Leaflet by default uses [WGS84 (World Geodetic System)](https://en.wikipedia.org/wiki/World_Geodetic_System). + +## Usage + +The following files are required: + +### React Components + +#### 1. PolygonLayer.tsx + + + +### CSS Styling + +#### 1. styles.module.css + + + +### Utils + +#### 1. getCrsRd.ts + + diff --git a/src/stories/pages/PolygonLayer/index.stories.ts b/src/stories/pages/PolygonLayer/index.stories.ts new file mode 100644 index 0000000..0f0f502 --- /dev/null +++ b/src/stories/pages/PolygonLayer/index.stories.ts @@ -0,0 +1,19 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import PolygonLayer from '@/pages/PolygonLayer/PolygonLayer'; + +const meta = { + title: 'React/PolygonLayer', + component: PolygonLayer, + parameters: { + layout: 'fullscreen', + options: { + panelPosition: 'bottom', + bottomPanelHeight: 0, + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Base: Story = {}; diff --git a/src/utils/reverseLatLng.ts b/src/utils/reverseLatLng.ts new file mode 100644 index 0000000..a8b7aed --- /dev/null +++ b/src/utils/reverseLatLng.ts @@ -0,0 +1,11 @@ +import L from 'leaflet'; + +// Leaflet uses lat-lng (or north-east) whereas GeoJSON uses lng-lat (or east-north). +// @see https://macwright.com/lonlat/ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +const reverseLatLng = (input: any) => + L.geoJSON(input, { + coordsToLatLng: coords => new L.LatLng(coords[0], coords[1], coords[2]), + }); + +export default reverseLatLng;