{ "id": "velopark", "title": { "nl": "Velopark naar OpenStreetMap sync tool" }, "description": "A commisioned theme", "hideFromOverview": true, "icon": "./assets/themes/velopark/velopark.svg", "mustHaveLanguage": [ "nl" ], "lockLocation": [ [ 2.51357303225, 49.5294835476 ], [ 6.15665815596, 51.4750237087 ] ], "startLat": 51.03753, "startLon": 3.71025, "startZoom": 18, "defaultBackgroundId": "photo", "layers": [ { "id": "velopark_maproulette", "description": "Maproulette challenge containing velopark data", "source": { "osmTags": "mr_taskId~*", "geoJson": "https://maproulette.org/api/v2/challenge/view/43282", "isOsmCache": false }, "title": { "render": "Velopark parking {mr_velopark_id}" }, "name": { "en": "Velopark data", "nl": "Velopark data" }, "titleIcons": [ { "id": "maproulette", "render": "" } ], "tagRenderings": [ { "id": "velopark-id-display", "render": { "*": "{ref:velopark}" } }, { "id": "velopark-link", "render": { "special": { "type": "link", "href": "https://www.velopark.be/static/data/{mr_velopark_id}", "text": { "en": "See on velopark (webpage)", "nl": "Bekijk op Velopark (webpagina)" } } } }, { "id": "velopark-data-link", "render": { "special": { "type": "link", "href": "{ref:velopark}", "text": "Inspect raw data on velopark.be" } } }, { "id": "show-data-velopark", "render": { "special": { "type": "compare_data", "url": "ref:velopark", "host": "https://data.velopark.be", "postprocessing": "velopark", "readonly": "yes" } } }, { "id": "closest_parkings", "render": { "*": "There are {_nearby_bicycle_parkings:count} bicycle parkings within 25m known in OpenStreetMap. " } }, { "id": "list_nearby_bike_parkings", "render": { "special": { "type": "multi", "key": "_nearby_bicycle_parkings:props", "tagrendering": "{id} ({_distance}m, {_velopark:id}) {minimap(20)} {tag_apply(ref:velopark=$_ref,Link,link,id,_mr_id)}" } } }, { "id": "import_point", "render": { "special": { "type": "import_button", "targetLayer": "bike_parking_with_velopark_ref bike_parking", "tags": "amenity=bicycle_parking;ref:velopark=$ref:velopark", "text": { "en": "Create a new bicycle parking in OSM", "nl": "Maak een nieuwe parking aan in OSM" }, "maproulette_id": "mr_taskId" } } }, { "id": "close_mr", "render": { "special": { "type": "maproulette_set_status", "message": { "en": "Mark this item as linked", "nl": "Markeer als gelinkt" } } } }, { "id": "close_mr_incorrect", "render": { "special": { "type": "maproulette_set_status", "message": { "en": "Mark this item as incorrect (duplicate, does not exist anymore, contradictory data)", "nl": "Markeer dit object als incorrect (duplicaatin, incorrect of tegenstrijdige data, ...)" }, "image": "invalid", "status": 6 } } }, "{nearby_images(open,readonly)}" ], "lineRendering": [], "filter": [ { "id": "created-only", "options": [ { "question": { "en": "Only unfinished tasks", "nl": "Enkel onafgewerkte taken" }, "osmTags": "mr_taskStatus=Created", "default": true } ] }, { "id": "too-hard-only", "options": [ { "question": { "en": "Only too-hard tasks", "nl": "Enkel foutieve taken" }, "osmTags": "mr_taskStatus=Too_hard" } ] } ], "calculatedTags": [ "mr_velopark_id=feat.properties['ref:velopark']?.split('/')?.at(-1)", "_nearby_bicycle_parkings=closestn(feat)(['bike_parking','bike_parking_with_velopark_ref'], 100, undefined, 25)", "_nearby_bicycle_parkings:count=get(feat)('_nearby_bicycle_parkings').length", "_nearby_bicycle_parkings:props=get(feat)('_nearby_bicycle_parkings').map(f => ({_distance: Math.round(f.distance), _ref: feat.properties['ref:velopark'], _mr_id: feat.properties.id, '_velopark:id': (f.feat.properties['_velopark:id'] ?? 'unlinked') /*Explicit copy to trigger lazy loading*/, ...f.feat.properties}))" ], "pointRendering": [ { "location": [ "point", "centroid" ], "marker": [ { "icon": "square_rounded", "color": "#ffffff88" }, { "icon": "./assets/themes/velopark/velopark.svg" } ], "iconSize": "40,40", "anchor": "bottom", "iconBadges": [{ "if": "mr_taskStatus=Too_Hard", "then": "invalid" },{ "if": "mr_taskStatus=Fixed", "then": "confirm" }] } ] }, { "builtin": [ "bike_parking" ], "override": { "id": "bike_parking_with_velopark_ref", "=presets": [], "=name": { "en": "Bicycle parkings with velopark ID", "nl": "Fietsparking met Velopark-referentie" }, "source": { "osmTags": { "and+": [ "ref:velopark~*" ] } }, "calculatedTags": [ "_velopark:id=feat.properties['ref:velopark'].substr(feat.properties['ref:velopark'].lastIndexOf('/') + 1)" ], "pointRendering": [ { "marker": [ { "color": "#0088ff" } ] } ], "=titleIcons": [ { "condition": "_velopark:id~*", "render": "" }, "icons.defaults" ], "minzoom": 8 } }, { "builtin": [ "bike_parking" ], "override": { "minzoom": 14 } }, { "builtin": [ "toilet", "bike_repair_station", "bicycle_rental" ], "override": { "minzoom": 18 } } ], "overrideAll": { "+tagRenderings": [ { "id": "velopark-ref", "condition": { "and": [ "amenity=bicycle_parking" ] }, "freeform": { "key": "ref:velopark", "inline": false, "type": "velopark" }, "question": { "en": "What is the URL of the data path within Velopark?", "nl": "Wat is de data-url van deze fietsenstalling in Velopark.be?" }, "icon": { "path": "./assets/themes/velopark/velopark.svg", "class": "medium" }, "render": { "special": { "type": "link", "href": "{ref:velopark}", "text": "{ref:velopark}" } } }, { "id": "comparison_tool", "condition": { "and": [ "ref:velopark~https://data.velopark.be/data/.*", "id!~.*maproulette.org/.*" ] }, "render": { "special": { "type": "compare_data", "url": "ref:velopark", "host": "https://data.velopark.be", "postprocessing": "velopark" } } } ] } }