Merge master

This commit is contained in:
Pieter Vander Vennet 2024-02-26 16:11:41 +01:00
commit 89a0be8903
150 changed files with 4201 additions and 9581 deletions

View file

@ -1,4 +1,28 @@
{
"id": "aerialway",
"name": {
"en": "Aerialways",
"de": "Seilbahnen"
},
"description": {
"en": "Various forms of transport for passengers and goods that use wires, including cable cars, gondolas, chair lifts, drag lifts, and zip lines. ",
"de": "Alle Arten von seil- oder drahtgestütztem Personen- oder Gütertransport, wie Seilbahnen, Gondeln, Sessellifte, Schlepplifte. "
},
"source": {
"osmTags": {
"and": [
"aerialway~*",
"aerialway!=pylon",
"aerialway!=station"
]
}
},
"title": {
"render": {
"en": "Aerialway {name}",
"de": "Seilbahn {name}"
}
},
"pointRendering": [
{
"location": [
@ -27,6 +51,27 @@
"labelCssClasses": "bg-white px-2 py-1 no-weblate"
}
],
"lineRendering": [
{
"width": "4",
"color": "black",
"imageAlongWay": [
{
"if": "oneway=no",
"then": "./assets/png/twoway.png"
},
{
"if": {
"or": [
"oneway=yes",
"oneway="
]
},
"then": "./assets/png/oneway.png"
}
]
}
],
"tagRenderings": [
"images",
{
@ -155,20 +200,23 @@
{
"id": "oneway",
"question": {
"en": "In what direction can this aerialway be taken?"
"en": "In what direction can this aerialway be taken?",
"de": "In welche Richtung kann diese Seilbahn genutzt werden?"
},
"mappings": [
{
"if": "oneway=yes",
"alsoShowIf": "oneway=",
"then": {
"en": "This aerialway can only be taken to the top"
"en": "This aerialway can only be taken to the top",
"de": "Diese Seilbahn kann nur nach oben gefahren werden"
}
},
{
"if": "oneway=no",
"then": {
"en": "This aerialway can be taken in both directions"
"en": "This aerialway can be taken in both directions",
"de": "Diese Seilbahn kann in beide Richtungen befahren werden"
}
}
]
@ -180,50 +228,5 @@
"de": "Die Seilbahn hat eine Länge von {_length:km} km"
}
}
],
"lineRendering": [
{
"width": "4",
"color": "black",
"imageAlongWay": [
{
"if": "oneway=no",
"then": "./assets/png/twoway.png"
},
{
"if": {
"or": [
"oneway=yes",
"oneway="
]
},
"then": "./assets/png/oneway.png"
}
]
}
],
"id": "aerialway",
"name": {
"en": "Aerialways",
"de": "Seilbahnen"
},
"description": {
"en": "Various forms of transport for passengers and goods that use wires, including cable cars, gondolas, chair lifts, drag lifts, and zip lines. ",
"de": "Alle Arten von seil- oder drahtgestütztem Personen- oder Gütertransport, wie Seilbahnen, Gondeln, Sessellifte, Schlepplifte. "
},
"source": {
"osmTags": {
"and": [
"aerialway~*",
"aerialway!=pylon",
"aerialway!=station"
]
}
},
"title": {
"render": {
"en": "Aerialway {name}",
"de": "Seilbahn {name}"
}
}
]
}

View file

@ -1,8 +1,5 @@
{
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"id": "assembly_point",
"name": {
"en": "Emergency assembly points",
"it": "Punti di raccolta per emergenze",
@ -13,9 +10,6 @@
"it": "Questo livello contiene punti di raccolta e aree di attesa in cui tutti i dipendenti, i passeggeri o una grande folla si riuniscono in caso di emergenza.",
"de": "Diese Ebene enthält Sammelplätze und Wartebereiche, in denen sich alle Mitarbeiter, Fahrgäste oder eine große Menschenmenge im Notfall versammeln."
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dassembly_point",
"id": "assembly_point",
"minzoom": 10,
"source": {
"osmTags": {
"and": [
@ -23,6 +17,13 @@
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Assembly point during emergencies",
"de": "Sammelplatz bei Notfällen"
}
},
"pointRendering": [
{
"iconSize": "20,20",
@ -50,12 +51,6 @@
]
}
],
"title": {
"render": {
"en": "Assembly point during emergencies",
"de": "Sammelplatz bei Notfällen"
}
},
"tagRenderings": [
"images",
{
@ -154,5 +149,10 @@
}
]
}
]
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dassembly_point"
}

View file

@ -5,7 +5,12 @@
"nl": "Oplaadpunten",
"de": "Ladestationen"
},
"minzoom": 10,
"description": {
"en": "A charging station",
"nl": "Oplaadpunten",
"ca": "Una estació de càrrega",
"de": "Eine Ladestation"
},
"source": {
"osmTags": {
"and": [
@ -20,6 +25,7 @@
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Charging station",
@ -65,13 +71,103 @@
}
]
},
"description": {
"en": "A charging station",
"nl": "Oplaadpunten",
"ca": "Una estació de càrrega",
"de": "Eine Ladestation"
},
"#": "no-question-hint-check",
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "pin",
"color": "#fff"
},
{
"icon": {
"render": "./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "./assets/themes/charging_stations/car.svg"
}
]
}
}
],
"iconBadges": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "close:#c22;"
},
{
"if": {
"or": [
"proposed:amenity=charging_station",
"planned:amenity=charging_station"
]
},
"then": "./assets/layers/charging_station/under_construction.svg"
},
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg"
}
],
"anchor": "bottom",
"iconSize": "50,50"
}
],
"lineRendering": [],
"presets": [
{
"tags": [
"amenity=charging_station",
"motorcar=no",
"bicycle=yes"
],
"title": {
"en": "charging station for electrical bikes",
"nl": "oplaadpunt voor elektrische fietsen",
"de": "Ladestation für Elektrofahrräder"
}
},
{
"tags": [
"amenity=charging_station",
"motorcar=yes",
"bicycle=no"
],
"title": {
"en": "charging station for cars",
"nl": "oplaadstation voor elektrische auto's",
"de": "Ladestation für Elektrofahrräder"
}
}
],
"tagRenderings": [
"images",
{
@ -2316,103 +2412,6 @@
}
}
],
"lineRendering": [],
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "pin",
"color": "#fff"
},
{
"icon": {
"render": "./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "./assets/themes/charging_stations/car.svg"
}
]
}
}
],
"iconBadges": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "close:#c22;"
},
{
"if": {
"or": [
"proposed:amenity=charging_station",
"planned:amenity=charging_station"
]
},
"then": "./assets/layers/charging_station/under_construction.svg"
},
{
"if": {
"and": [
"bicycle=yes",
{
"or": [
"motorcar=yes",
"car=yes"
]
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg"
}
],
"anchor": "bottom",
"iconSize": "50,50"
}
],
"presets": [
{
"tags": [
"amenity=charging_station",
"motorcar=no",
"bicycle=yes"
],
"title": {
"en": "charging station for electrical bikes",
"nl": "oplaadpunt voor elektrische fietsen",
"de": "Ladestation für Elektrofahrräder"
}
},
{
"tags": [
"amenity=charging_station",
"motorcar=yes",
"bicycle=no"
],
"title": {
"en": "charging station for cars",
"nl": "oplaadstation voor elektrische auto's",
"de": "Ladestation für Elektrofahrräder"
}
}
],
"filter": [
{
"id": "vehicle-type",
@ -2611,6 +2610,20 @@
]
}
],
"deletion": {
"softDeletionTags": {
"and": [
"amenity=",
"disused:amenity=charging_station"
]
},
"neededChangesets": 10
},
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"#": "no-question-hint-check",
"units": [
{
"maxstay": {
@ -2759,18 +2772,5 @@
]
}
}
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"deletion": {
"softDeletionTags": {
"and": [
"amenity=",
"disused:amenity=charging_station"
]
},
"neededChangesets": 10
}
}
]
}

View file

@ -147,5 +147,6 @@
}
]
}
]
],
"doCount": false
}

View file

@ -5,8 +5,7 @@
"source": {
"osmTags": "HUISNR~*",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 18,
"maxCacheAge": 0
"geoJsonZoomLevel": 18
},
"calculatedTags": [
"_HNRLABEL=(() => {const lbl = feat.properties.HNRLABEL?.split('-')?.map(l => Number(l))?.filter(i => !isNaN (i)) ;if(lbl?.length != 2) {return feat.properties.HNRLABEL}; const addresses = []; for(let i = lbl[0]; i <= lbl[1]; i += 1){addresses.push(''+i);}; return addresses.join(';') })()"

View file

@ -1,12 +1,5 @@
{
"id": "disaster_response",
"title": {
"render": {
"en": "Disaster response organization",
"it": "Organizzazione per la risposta ai disastri",
"de": "Katastrophenschutzorganisation"
}
},
"name": {
"en": "Disaster response organizations",
"de": "Katastrophenschutzorganisationen"
@ -16,8 +9,36 @@
"it": "Questo livello contiene organizzazioni che hanno come obiettivo principale quello di aiutare la popolazione civile durante e dopo disastri naturali o antropogenici, lavorando nell'area colpita.",
"de": "Diese Ebene umfasst Organisationen, deren Hauptziel es ist, der Zivilbevölkerung während und nach Natur- oder anthropogenen Katastrophen zu helfen, indem sie in dem betroffenen Gebiet tätig sind."
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Ddisaster_response",
"source": {
"osmTags": {
"and": [
"emergency=disaster_response"
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Disaster response organization",
"it": "Organizzazione per la risposta ai disastri",
"de": "Katastrophenschutzorganisation"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": "./assets/themes/disaster_response/CivilDefence.svg"
}
]
}
],
"lineRendering": [
{
"color": "#6BC4F7",
@ -36,28 +57,6 @@
]
}
],
"source": {
"osmTags": {
"and": [
"emergency=disaster_response"
]
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": "./assets/themes/disaster_response/CivilDefence.svg"
}
]
}
],
"tagRenderings": [
"images",
"website",
@ -77,5 +76,6 @@
"de": "Diese Organisation heißt <b>{name}</b>"
}
}
]
],
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Ddisaster_response"
}

View file

@ -441,4 +441,4 @@
],
"deletion": true,
"allowMove": true
}
}

View file

@ -30,7 +30,7 @@
}
},
"calculatedTags": [
"_same_name_ids=closestn(feat)('*', 250, undefined, 5000)?.filter(f => f.feat.properties.name === feat.properties.name)?.map(f => f.feat.properties.id)??[]"
"_same_name_ids=closestn(feat)('*', 250, undefined, 3000)?.filter(f => f.feat.properties.name === feat.properties.name)?.map(f => f.feat.properties.id)??[]"
],
"minzoom": 12,
"title": {

View file

@ -309,7 +309,8 @@
"keyToShowWikipediaFor": "subject:wikidata"
},
"before": {
"en": "<h3>Wikipedia page about the deceased person</h3>"
"en": "<h3>Wikipedia page about the deceased person</h3>",
"de": "<h3>Wikipedia-Seite über die verstorbene Person</h3>"
}
},
"condition": "subject:wikidata~*"

View file

@ -11,6 +11,7 @@
"source": {
"osmTags": "amenity=ice_cream"
},
"minzoom": 14,
"title": {
"render": {
"en": "Ice cream parlor",

View file

@ -1,7 +1,9 @@
{
"id": "item_with_image",
"name": {
"en": "Items with at least one image"
},
"description": "All items with an image. All alone, not a layer which is relevant for any MapComplete theme, as it is a random collection of items. However, when put into the databank, this allows to quickly fetch (the URL of) pictures nearby a different object, to quickly link this",
"minzoom": 14,
"source": {
"osmTags": {
"or": [
@ -15,22 +17,20 @@
]
}
},
"tagRenderings": [
"images"
],
"minzoom": 14,
"title": {
"render": {
"en": "POI with image"
},
"mappings": [{
"if": "name~*",
"then": {"*": "name"}
}]
"mappings": [
{
"if": "name~*",
"then": {
"*": "name"
}
}
]
},
"name": {
"en": "Items with at least one image"
},
"lineRendering": [],
"pointRendering": [
{
"marker": [
@ -43,5 +43,9 @@
"point"
]
}
],
"lineRendering": [],
"tagRenderings": [
"images"
]
}

View file

@ -1,7 +1,7 @@
{
"id": "last_click",
"name": null,
"description": "This layer defines how to render the 'last click'-location. By default, it will show a marker with the possibility to add a new point (if there are some presets) and/or to add a new note (if the 'note' layer attribute is set). If none are possible, this layer won't show up",
"description": "This 'layer' is not really a layer, but contains part of the code how the popup to 'add a new marker' is displayed",
"source": "special",
"isShown": {
"or": [

View file

@ -10,8 +10,7 @@
},
"source": {
"osmTags": "mr_taskId~*",
"geoJson": "https://maproulette.org/api/v2/challenge/view/27971",
"isOsmCache": false
"geoJson": "https://maproulette.org/api/v2/challenge/view/27971"
},
"title": {
"render": {

View file

@ -1,6 +1,23 @@
{
"credits": "Not logged in",
"id": "mountain_rescue",
"name": {
"en": "Mountain rescue stations",
"de": "Bergrettungsstationen"
},
"description": {
"en": "A building where first aid responders store material and might be on watch",
"de": "Ein Gebäude, in dem die Ersthelfer Material lagern und möglicherweise Wache halten"
},
"source": {
"osmTags": "emergency=mountain_rescue"
},
"minzoom": 10,
"title": {
"render": {
"en": "Mountain rescue station",
"de": "Bergrettungsstation"
}
},
"pointRendering": [
{
"location": [
@ -19,42 +36,29 @@
"rotation": "45"
}
],
"tagRenderings": [
"images"
],
"lineRendering": [
{
"width": "3",
"color": "#ed333b"
}
],
"id": "mountain_rescue",
"name": {
"en": "Mountain rescue stations"
},
"description": {
"en": "A building where first aid responders store material and might be on watch"
},
"source": {
"osmTags": "emergency=mountain_rescue"
},
"title": {
"render": {
"en": "Mountain rescue station"
}
},
"deletion": true,
"allowMove": {
"enableRelocation": false
},
"presets": [
{
"title": {
"en": "a mountain rescue station"
"en": "a mountain rescue station",
"de": "eine Bergrettungsstation"
},
"tags": [
"emergency=mountain_rescue"
]
}
]
],
"tagRenderings": [
"images"
],
"deletion": true,
"allowMove": {
"enableRelocation": false
},
"credits": "Not logged in"
}

View file

@ -12,9 +12,7 @@
"source": {
"osmTags": "date_created~*",
"geoJson": "https://api.openstreetmap.org/api/0.6/notes.json?limit=10000&closed=7&bbox={x_min},{y_min},{x_max},{y_max}",
"geoJsonZoomLevel": 12,
"maxCacheAge": 0,
"isOsmCache": false
"geoJsonZoomLevel": 12
},
"calculatedTags": [
"_total_comments:=get(feat)('comments').length",

View file

@ -19,8 +19,7 @@
"source": {
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 6,
"osmTags": "resources~*",
"isOsmCache": false
"osmTags": "resources~*"
},
"calculatedTags": [
"_community_links=Object.values(JSON.parse(feat.properties.resources || '{}')).map(value =>{return value.resolved.nameHTML + '<br>&emsp;' + value.resolved.descriptionHTML}).join('<br>')"

View file

@ -42,7 +42,8 @@
"if": "parking_space=charging",
"then": {
"en": "Electric Vehicle Charging Parking Space",
"nl": "Parkeerplek voor opladen van elektrische voertuigen"
"nl": "Parkeerplek voor opladen van elektrische voertuigen",
"de": "Parkplatz zum Laden von Elektrofahrzeugen"
}
}
]
@ -62,10 +63,6 @@
"if": "parking_space=charging",
"then": "./assets/themes/charging_stations/plug.svg"
},
{
"if": "parking_space=private",
"then": "./assets/layers/parking_spaces/parking_space_private.svg"
},
{
"if": "parking_space=bus",
"then": "./assets/layers/transit_stops/bus_stop.svg"
@ -138,17 +135,6 @@
"cs": "Jedná se o parkovací místo pro osoby se zdravotním postižením."
}
},
{
"if": "parking_space=private",
"then": {
"en": "This is a private parking space.",
"de": "Dies ist ein privater Stellplatz.",
"nl": "Dit is een privéparkeerplek.",
"pl": "To jest prywatne miejsce parkingowe.",
"ca": "Es tracta d'una plaça d'aparcament privada.",
"cs": "Jedná se o soukromé parkovací místo."
}
},
{
"if": "parking_space=charging",
"then": {
@ -287,4 +273,4 @@
]
}
]
}
}

View file

@ -1,5 +1,20 @@
{
"id": "playground_equipment",
"name": {
"en": "Playground equipment"
},
"description": {
"en": "Layer showing playground equipment"
},
"source": {
"osmTags": "playground~*"
},
"minzoom": 18,
"title": {
"render": {
"en": "Playground device"
}
},
"pointRendering": [
{
"location": [
@ -18,6 +33,25 @@
"iconSize": "20,20"
}
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"presets": [
{
"tags": [
"playground=yes"
],
"title": {
"en": "a playground device"
},
"description": {
"en": "An exact type is asked later"
}
}
],
"tagRenderings": [
"images",
{
@ -299,39 +333,5 @@
}
}
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"id": "playground_equipment",
"name": {
"en": "Playground equipment"
},
"description": {
"en": "Layer showing playground equipment"
},
"source": {
"osmTags": "playground~*"
},
"title": {
"render": {
"en": "Playground device"
}
},
"allowMove": true,
"presets": [
{
"tags": [
"playground=yes"
],
"title": {
"en": "a playground device"
},
"description": {
"en": "An exact type is asked later"
}
}
]
}
"allowMove": true
}

View file

@ -634,4 +634,4 @@
]
}
]
}
}

View file

@ -17,7 +17,7 @@
"source": {
"osmTags": "amenity=shower"
},
"minzoom": 12,
"minzoom": 8,
"title": {
"render": {
"en": "Shower",

View file

@ -1,4 +1,32 @@
{
"id": "ski_piste",
"name": {
"en": "Ski and snowboard pistes",
"de": "Ski- und Snowboardpisten"
},
"description": {
"en": "Ski and snowboard pistes",
"de": "Ski- und Snowboardpisten"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"piste:type=downhill",
"piste:type=connection"
]
},
"area!=yes"
]
}
},
"title": {
"render": {
"en": "Ski piste {name}",
"de": "Skipiste {name}"
}
},
"pointRendering": [
{
"location": [
@ -12,6 +40,40 @@
]
}
],
"lineRendering": [
{
"width": "10",
"color": {
"mappings": [
{
"then": "green",
"if": "piste:difficulty=novice"
},
{
"if": "piste:difficulty=easy",
"then": "blue"
},
{
"if": "piste:difficulty=intermediate",
"then": "red"
},
{
"if": "piste:difficulty=advanced",
"then": "black"
},
{
"if": "piste:difficulty=expert",
"then": "orange"
},
{
"if": "piste:difficulty=",
"then": "gray"
}
]
},
"imageAlongWay": "./assets/png/oneway.png"
}
],
"tagRenderings": [
"images",
{
@ -73,67 +135,5 @@
"de": "Dieser Teil der Skipiste hat eine Länge von {_length:km} km"
}
}
],
"lineRendering": [
{
"width": "10",
"color": {
"mappings": [
{
"then": "green",
"if": "piste:difficulty=novice"
},
{
"if": "piste:difficulty=easy",
"then": "blue"
},
{
"if": "piste:difficulty=intermediate",
"then": "red"
},
{
"if": "piste:difficulty=advanced",
"then": "black"
},
{
"if": "piste:difficulty=expert",
"then": "orange"
},
{
"if": "piste:difficulty=",
"then": "gray"
}
]
},
"imageAlongWay": "./assets/png/oneway.png"
}
],
"id": "ski_piste",
"name": {
"en": "Ski and snowboard pistes",
"de": "Ski- und Snowboardpisten"
},
"description": {
"en": "Ski and snowboard pistes",
"de": "Ski- und Snowboardpisten"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"piste:type=downhill",
"piste:type=connection"
]
},
"area!=yes"
]
}
},
"title": {
"render": {
"en": "Ski piste {name}",
"de": "Skipiste {name}"
}
}
]
}

View file

@ -1,4 +1,24 @@
{
"id": "souvenir_coin",
"name": {
"en": "Souvenir Coin Machines"
},
"description": {
"en": "Layer showing machines selling souvenir coins"
},
"source": {
"osmTags": {
"and": [
"amenity=vending_machine",
"vending~.*souvenir_coins.*"
]
}
},
"title": {
"render": {
"en": "Souvenir Coin Machine"
}
},
"pointRendering": [
{
"location": [
@ -22,6 +42,26 @@
]
}
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"presets": [
{
"title": {
"en": "a souvenir coin machine"
},
"description": {
"en": "Add a machine selling souvenir coins"
},
"tags": [
"amenity=vending_machine",
"vending=souvenir_coins"
]
}
],
"tagRenderings": [
"images",
"opening_hours_24_7",
@ -110,46 +150,6 @@
"level",
"check_date"
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"id": "souvenir_coin",
"name": {
"en": "Souvenir Coin Machines"
},
"description": {
"en": "Layer showing machines selling souvenir coins"
},
"source": {
"osmTags": {
"and": [
"amenity=vending_machine",
"vending~.*souvenir_coins.*"
]
}
},
"title": {
"render": {
"en": "Souvenir Coin Machine"
}
},
"presets": [
{
"title": {
"en": "a souvenir coin machine"
},
"description": {
"en": "Add a machine selling souvenir coins"
},
"tags": [
"amenity=vending_machine",
"vending=souvenir_coins"
]
}
],
"filter": [
"open_now",
"accepts_debit_cards",
@ -157,4 +157,4 @@
],
"deletion": true,
"allowMove": true
}
}

View file

@ -1,4 +1,24 @@
{
"id": "souvenir_note",
"name": {
"en": "Souvenir Banknote Machines"
},
"description": {
"en": "Layer showing machines selling souvenir banknotes"
},
"source": {
"osmTags": {
"and": [
"amenity=vending_machine",
"vending~.*souvenir_notes.*"
]
}
},
"title": {
"render": {
"en": "Souvenir Banknote Machine"
}
},
"pointRendering": [
{
"location": [
@ -22,6 +42,26 @@
]
}
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"presets": [
{
"title": {
"en": "a souvenir banknote machine"
},
"description": {
"en": "Add a machine selling souvenir banknotes"
},
"tags": [
"amenity=vending_machine",
"vending=souvenir_notes"
]
}
],
"tagRenderings": [
"images",
"opening_hours_24_7",
@ -128,46 +168,6 @@
"level",
"check_date"
],
"lineRendering": [
{
"width": 1,
"color": "blue"
}
],
"id": "souvenir_note",
"name": {
"en": "Souvenir Banknote Machines"
},
"description": {
"en": "Layer showing machines selling souvenir banknotes"
},
"source": {
"osmTags": {
"and": [
"amenity=vending_machine",
"vending~.*souvenir_notes.*"
]
}
},
"title": {
"render": {
"en": "Souvenir Banknote Machine"
}
},
"presets": [
{
"title": {
"en": "a souvenir banknote machine"
},
"description": {
"en": "Add a machine selling souvenir banknotes"
},
"tags": [
"amenity=vending_machine",
"vending=souvenir_notes"
]
}
],
"filter": [
"open_now",
"accepts_debit_cards",
@ -175,4 +175,4 @@
],
"deletion": true,
"allowMove": true
}
}

View file

@ -9,8 +9,7 @@
"de": "Ein Ort, an dem erotische Tanz-, Striptease- oder Lapdances kommerziell durchgeführt werden. "
},
"source": {
"osmTags": "amenity=stripclub",
"isOsmCache": false
"osmTags": "amenity=stripclub"
},
"minzoom": 6,
"title": {

View file

@ -0,0 +1,25 @@
{
"id": "summary",
"description": "Special layer which shows `count`",
"source": "special",
"title": {
"render": {
"en": "Summary"
}
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"iconSize": "40,40",
"label": "{total_metric}",
"labelCss": "background: #ffffffbb",
"labelCssClasses": "w-12 text-lg rounded-xl p-1 px-2"
}
],
"tagRenderings": [
"all_tags"
]
}

View file

@ -553,25 +553,29 @@
"id": "gender_segregated",
"question": {
"en": "Are these toilets gender-segregated?",
"nl": "Zijn deze toiletten gescheiden op basis van geslacht?"
"nl": "Zijn deze toiletten gescheiden op basis van geslacht?",
"de": "Sind diese Toiletten geschlechtergetrennt?"
},
"questionHint": {
"en": "Are there separate stalls or separate areas for men and women and are they signposted as such?",
"nl": "Is er een aparte ruimte voor mannen en vrouwen en zijn deze ruimtes ook expliciet aangegeven?"
"nl": "Is er een aparte ruimte voor mannen en vrouwen en zijn deze ruimtes ook expliciet aangegeven?",
"de": "Gibt es getrennte Kabinen oder getrennte Bereiche für Männer und Frauen, und sind sie als solche ausgeschildert?"
},
"mappings": [
{
"if": "gender_segregated=yes",
"then": {
"en": "There is a separate, signposted area for men and women",
"nl": "Er zijn aparte ruimtes of toiletten voor mannen en vrouwen"
"nl": "Er zijn aparte ruimtes of toiletten voor mannen en vrouwen",
"de": "Es gibt einen separaten, ausgeschilderten Bereich für Männer und Frauen"
}
},
{
"if": "gender_segregated=no",
"then": {
"en": "There is no separate, signposted area for men and women",
"nl": "Mannen en vrouwen gebruiken dezelfde ruimtes en toiletten"
"nl": "Mannen en vrouwen gebruiken dezelfde ruimtes en toiletten",
"de": "Es gibt keinen getrennten, ausgeschilderten Bereich für Männer und Frauen"
}
}
]
@ -580,25 +584,29 @@
"id": "menstrual_products",
"question": {
"en": "Are free, menstrual products distributed here?",
"nl": "Zijn er gratis menstruatieproducten beschikbaar?"
"nl": "Zijn er gratis menstruatieproducten beschikbaar?",
"de": "Werden hier kostenlose Menstruationsprodukte verteilt?"
},
"questionHint": {
"en": "This is only about menstrual products that are free of charge. If e.g. a vending machine is available which charges for menstrual products, ignore it for this question.",
"nl": "Dit gaat enkel over menstruatieproducten die gratis geschikbaar zijn. Indien er bv. een verkoopautomaat met menstruatieproducten is, negeer deze dan"
"nl": "Dit gaat enkel over menstruatieproducten die gratis geschikbaar zijn. Indien er bv. een verkoopautomaat met menstruatieproducten is, negeer deze dan",
"de": "Hier geht es nur um Menstruationsprodukte, die kostenlos sind. Wenn es z. B. einen Automaten gibt, an dem Menstruationsprodukte kostenpflichtig sind, wird er bei dieser Frage nicht berücksichtigt."
},
"mappings": [
{
"if": "toilets:menstrual_products=yes",
"then": {
"en": "Free menstrual products are available to all visitors of these toilets",
"nl": "Er zijn gratis menstruatieprocten beschikbaar voor alle bezoekers van deze toiletten"
"nl": "Er zijn gratis menstruatieprocten beschikbaar voor alle bezoekers van deze toiletten",
"de": "Für alle Besucher dieser Toiletten stehen kostenlose Menstruationsprodukte zur Verfügung"
}
},
{
"if": "toilets:menstrual_products=limited",
"then": {
"en": "Free menstrual products are available to some visitors of these toilets",
"nl": "De gratis menstruatieproducten zijn enkel beschikbaar in een deel van de toiletten"
"nl": "De gratis menstruatieproducten zijn enkel beschikbaar in een deel van de toiletten",
"de": "Für einige Besucher dieser Toiletten gibt es kostenlose Menstruationsprodukte"
},
"hideInAnswer": "gender_segregated=yes"
},
@ -607,7 +615,8 @@
"alsoShowIf": "toilets:menstrual_products=",
"then": {
"en": "No free menstrual products are available here",
"nl": "Er zijn geen gratis menstruatieproducten beschikbaar"
"nl": "Er zijn geen gratis menstruatieproducten beschikbaar",
"de": "Hier gibt es keine kostenlosen Menstruationsprodukte"
}
}
]
@ -616,7 +625,8 @@
"id": "menstrual_products_location",
"question": {
"en": "Where are the free menstrual products located?",
"nl": "Waar bevinden de gratis menstruatieproducten zich?"
"nl": "Waar bevinden de gratis menstruatieproducten zich?",
"de": "Wo befinden sich die kostenlosen Menstruationsprodukte?"
},
"condition": {
"or": [
@ -626,7 +636,8 @@
},
"render": {
"en": "The menstrual products are located in {toilets:menstrual_products:location}",
"nl": "De menstruatieproducten bevinden zich in {toilets:menstrual_products:location}"
"nl": "De menstruatieproducten bevinden zich in {toilets:menstrual_products:location}",
"de": "Die Menstruationsprodukte befinden sich in {toilets:menstrual_products:location}"
},
"freeform": {
"key": "toilets:menstrual_products:location",
@ -636,7 +647,8 @@
{
"then": {
"en": "The free, menstrual products are located in the toilet for women",
"nl": "De gratis menstruatieproducten bevinden zich in het vrouwentoilet"
"nl": "De gratis menstruatieproducten bevinden zich in het vrouwentoilet",
"de": "Die kostenlosen Menstruationsprodukte befinden sich in der Toilette für Frauen"
},
"if": "toilets:menstrual_products:location=female_toilet",
"alsoShowIf": "toilets:menstrual_products:location="
@ -644,7 +656,8 @@
{
"then": {
"en": "The free, menstrual products are located in the toilet for men",
"nl": "De gratis menstruatieproducten bevinden zich in het mannentoilet"
"nl": "De gratis menstruatieproducten bevinden zich in het mannentoilet",
"de": "Die kostenlosen Menstruationsprodukte befinden sich in der Toilette für Männer"
},
"if": "toilets:menstrual_products:location=male_toilet"
},
@ -652,7 +665,8 @@
"if": "toilets:menstrual_products:location=wheelchair_toilet",
"then": {
"en": "The free, menstrual products are located in the toilet for wheelchair users",
"nl": "De gratis menstruatieproducten bevinden zich in het rolstoeltoegankelijke toilet"
"nl": "De gratis menstruatieproducten bevinden zich in het rolstoeltoegankelijke toilet",
"de": "Die kostenlosen Menstruationsprodukte befinden sich auf der Toilette für Rollstuhlfahrende"
}
}
]

View file

@ -1,40 +1,69 @@
{
"id": "trolley_bay",
"name": {
"en": "Trolley Bays"
"en": "Trolley Bays",
"de": "Einkaufswagenbuchten"
},
"description": {
"en": "Find trolley bays for shopping trolleys."
},
"title": {
"en": "Trolley Bay"
"en": "Find trolley bays for shopping trolleys.",
"de": "Finde Einkaufswagenbuchten für Einkaufswagen."
},
"source": {
"osmTags": "amenity=trolley_bay"
},
"minzoom": 18,
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": true
"title": {
"en": "Trolley Bay",
"de": "Einkaufswagenbucht"
},
"deletion": true,
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "./assets/layers/trolley_bay/trolley_bay.svg"
}
]
}
],
"presets": [
{
"title": {
"en": "a trolley bay",
"de": "eine Einkaufswagenbucht"
},
"tags": [
"amenity=trolley_bay"
],
"description": {
"en": "A trolley bay for parking shopping carts.",
"de": "Ein Platz zum Abstellen von Einkaufswagen."
}
}
],
"tagRenderings": [
{
"id": "covered",
"question": {
"en": "Is this trolley bay covered?"
"en": "Is this trolley bay covered?",
"de": "Ist dieser Einkaufswagenplatz überdacht?"
},
"mappings": [
{
"if": "covered=yes",
"then": {
"en": "This trolley bay is covered"
"en": "This trolley bay is covered",
"de": "Dieser Einkaufswagenplatz ist überdacht"
}
},
{
"if": "covered=no",
"then": {
"en": "This trolley bay is not covered"
"en": "This trolley bay is not covered",
"de": "Dieser Einkaufswagenplatz ist nicht überdacht"
}
}
]
@ -42,19 +71,22 @@
{
"id": "deposit",
"question": {
"en": "Is a deposit (e.g. a coin) required for the trolleys?"
"en": "Is a deposit (e.g. a coin) required for the trolleys?",
"de": "Ist für die Einkaufswagen ein Pfand (z.B. eine Münze) erforderlich?"
},
"mappings": [
{
"if": "trolley:deposit=yes",
"then": {
"en": "A deposit is required for the trolleys"
"en": "A deposit is required for the trolleys",
"de": "Für die Einkaufswagen ist ein Pfand zu hinterlegen"
}
},
{
"if": "trolley:deposit=no",
"then": {
"en": "No deposit is required for the trolleys"
"en": "No deposit is required for the trolleys",
"de": "Für die Einkaufswagen ist kein Pfand erforderlich"
}
}
]
@ -68,7 +100,8 @@
]
},
"question": {
"en": "What coins are accepted for the deposit?"
"en": "What coins are accepted for the deposit?",
"de": "Welche Münzen werden für die Pfandgebühr akzeptiert?"
},
"multiAnswer": true,
"mappings": [
@ -125,7 +158,8 @@
{
"id": "cart_types",
"question": {
"en": "What kind of special trolleys are available?"
"en": "What kind of special trolleys are available?",
"de": "Welche Art von speziellen Einkaufswagen gibt es?"
},
"multiAnswer": true,
"mappings": [
@ -133,42 +167,48 @@
"if": "trolley:magnifier=yes",
"ifnot": "trolley:magnifier=no",
"then": {
"en": "Trolleys with a magnifier are available"
"en": "Trolleys with a magnifier are available",
"de": "Einkaufswagen mit Lupe sind erhältlich"
}
},
{
"if": "trolley:wheelchair=yes",
"ifnot": "trolley:wheelchair=no",
"then": {
"en": "Trolleys for wheelchair users are available"
"en": "Trolleys for wheelchair users are available",
"de": "Einkaufswagen für Rollstuhlfahrer sind verfügbar"
}
},
{
"if": "trolley:children=yes",
"ifnot": "trolley:children=no",
"then": {
"en": "Trolleys for children are available"
"en": "Trolleys for children are available",
"de": "Einkaufswagen für Kinder sind verfügbar"
}
},
{
"if": "trolley:seats=yes",
"ifnot": "trolley:seats=no",
"then": {
"en": "Trolleys with seats for children are available"
"en": "Trolleys with seats for children are available",
"de": "Einkaufswagen mit Sitzen für Kinder sind verfügbar"
}
},
{
"if": "trolley:flatbed=yes",
"ifnot": "trolley:flatbed=no",
"then": {
"en": "Trolleys with a flatbed are available"
"en": "Trolleys with a flatbed are available",
"de": "Einkaufswagen mit Flachbett sind verfügbar"
}
},
{
"if": "trolley:vertical=yes",
"ifnot": "trolley:vertical=no",
"then": {
"en": "Vertical trolleys for sheet-like goods are available"
"en": "Vertical trolleys for sheet-like goods are available",
"de": "Vertikale Einkaufswagen für plattenförmige Güter sind verfügbar"
}
}
]
@ -177,30 +217,9 @@
"id": "indoor"
}
],
"presets": [
{
"title": {
"en": "a trolley bay"
},
"tags": [
"amenity=trolley_bay"
],
"description": {
"en": "A trolley bay for parking shopping carts."
}
}
],
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": "./assets/layers/trolley_bay/trolley_bay.svg"
}
]
}
]
}
"deletion": true,
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": true
}
}

View file

@ -516,11 +516,13 @@
"type": "import_mangrove_key",
"text": {
"en": "Import a mangrove private key from backup",
"nl": "Herstel een Mangrove Private sleutel van backup"
"nl": "Herstel een Mangrove Private sleutel van backup",
"de": "Privaten Mangrove-Schlüssel aus Backup importieren"
}
},
"after": {
"en": "Uploading a private key erases your current private key. If you made reviews with it, download your current private key first"
"en": "Uploading a private key erases your current private key. If you made reviews with it, download your current private key first",
"de": "Wenn du einen privaten Schlüssel hochlädst, wird dein aktueller privater Schlüssel gelöscht. Wenn du damit Rezensionen geschrieben hast, lade zuerst deinen aktuellen privaten Schlüssel hoch"
}
}
},

View file

@ -121,6 +121,7 @@
"condition": "_biggest_width_id~*"
}
],
"isCounted": false,
"units": [
{
"width": {

View file

@ -47,4 +47,4 @@
],
"widenFactor": 0.01,
"maintainer": "Offsel"
}
}

View file

@ -58,7 +58,8 @@
"name": null,
"filter": {
"sameAs": "bank_with_atm"
}
},
"doCount": false
}
},
{

View file

@ -45,15 +45,15 @@
"hideFromOverview": true,
"layers": [
{
"id": "osm:buildings",
"id": "osm_buildings",
"name": "OSM Buildings",
"title": "OSM Building",
"description": "Layer showing buildings that are in OpenStreetMap",
"source": {
"osmTags": "building~*",
"maxCacheAge": 0
"osmTags": "building~*"
},
"minzoom": 18,
"doCount": false,
"calculatedTags": [
"_surface:strict:=feat(get)('_surface')"
],
@ -147,7 +147,7 @@
]
},
{
"id": "osm:adresses",
"id": "osm_adresses",
"name": "OSM Adresses",
"title": "OSM Adress",
"description": "Layer showing adresses that are in OpenStreetMap",
@ -160,10 +160,10 @@
"addr:postcode~*",
"addr:street~*"
]
},
"maxCacheAge": 0
}
},
"minzoom": 18,
"doCount": false,
"pointRendering": [
{
"label": {
@ -185,7 +185,7 @@
]
},
{
"id": "bag:pand",
"id": "bag_pand",
"name": "BAG Buildings",
"title": "BAG Building",
"description": {
@ -202,12 +202,11 @@
"source": {
"geoJson": "https://service.pdok.nl/lv/bag/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=bag%3Apand&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326",
"geoJsonZoomLevel": 18,
"osmTags": "identificatie~*",
"maxCacheAge": 0
"osmTags": "identificatie~*"
},
"minzoom": 18,
"calculatedTags": [
"_overlaps_with_buildings=overlapWith(feat)('osm:buildings').filter(f => f.feat.properties.id.indexOf('-') < 0)",
"_overlaps_with_buildings=overlapWith(feat)('osm_buildings').filter(f => f.feat.properties.id.indexOf('-') < 0)",
"_overlaps_with=feat(get)('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
"_overlaps_with_properties=feat(get)('_overlaps_with')?.feat?.properties",
"_overlap_percentage=Math.round(100 * (feat(get)('_overlaps_with')?.overlap / feat(get)('_overlaps_with_properties')['_surface:strict']))",
@ -228,7 +227,7 @@
"render": {
"special": {
"type": "import_way_button",
"targetLayer": "osm:buildings",
"targetLayer": "osm_buildings",
"tags": "building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date",
"text": {
"*": "Upload this building to OpenStreetMap"
@ -258,7 +257,7 @@
},
{
"if": "_overlaps_with!=",
"then": "{conflate_button(osm:buildings, building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Replace the geometry in OpenStreetMap, , _osm_obj:id)}"
"then": "{conflate_button(osm_buildings, building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Replace the geometry in OpenStreetMap, , _osm_obj:id)}"
},
{
"if": {
@ -268,7 +267,7 @@
"_bag_obj:in_construction=true"
]
},
"then": "{import_way_button(osm:buildings, building=$_bag_obj:building; construction=$_bag_obj:construction; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Upload this building to OpenStreetMap)}"
"then": "{import_way_button(osm_buildings, building=$_bag_obj:building; construction=$_bag_obj:construction; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Upload this building to OpenStreetMap)}"
}
]
},
@ -348,7 +347,7 @@
},
{
"id": "Overlapping building",
"render": "<div>The overlapping <a href=https://osm.org/{_osm_obj:id} target=_blank>osm:buildings</a> is a <b>{_osm_obj:building}</b> and covers <b>{_overlap_percentage}%</b> of the BAG building.<br>The BAG-building covers <b>{_reverse_overlap_percentage}%</b> of the OSM building<div><h3>BAG geometry:</h3>{minimap(21, id):height:10rem;border-radius:1rem;overflow:hidden}<h3>OSM geometry:</h3>{minimap(21,_osm_obj:id):height:10rem;border-radius:1rem;overflow:hidden}</div></div>",
"render": "<div>The overlapping <a href=https://osm.org/{_osm_obj:id} target=_blank>osm_buildings</a> is a <b>{_osm_obj:building}</b> and covers <b>{_overlap_percentage}%</b> of the BAG building.<br>The BAG-building covers <b>{_reverse_overlap_percentage}%</b> of the OSM building<div><h3>BAG geometry:</h3>{minimap(21, id):height:10rem;border-radius:1rem;overflow:hidden}<h3>OSM geometry:</h3>{minimap(21,_osm_obj:id):height:10rem;border-radius:1rem;overflow:hidden}</div></div>",
"condition": "_overlaps_with!="
},
{
@ -386,19 +385,18 @@
]
},
{
"id": "bag:verblijfsobject",
"id": "bag_verblijfsobject",
"name": "BAG Addresses",
"title": "BAG Address",
"description": "Address information from the BAG register",
"source": {
"geoJson": "https://service.pdok.nl/lv/bag/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=bag%3Averblijfsobject&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326",
"geoJsonZoomLevel": 19,
"osmTags": "identificatie~*",
"maxCacheAge": 0
"osmTags": "identificatie~*"
},
"minzoom": 18,
"calculatedTags": [
"_closed_osm_addr:=closest(feat)('osm:adresses').properties",
"_closed_osm_addr:=closest(feat)('osm_adresses').properties",
"_bag_obj:addr:housenumber=`${feat.properties.huisnummer}${feat.properties.huisletter}${(feat.properties.toevoeging != '') ? '-' : ''}${feat.properties.toevoeging}`",
"_bag_obj:ref:bag=Number(feat.properties.identificatie)",
"_bag_obj:source:date=new Date().toISOString().split('T')[0]",
@ -411,7 +409,7 @@
"tagRenderings": [
{
"id": "Import button",
"render": "{import_button(osm:adresses, addr:city=$woonplaats; addr:housenumber=$_bag_obj:addr:housenumber; addr:postcode=$postcode; addr:street=$openbare_ruimte; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date, Upload this adress to OpenStreetMap)}",
"render": "{import_button(osm_adresses, addr:city=$woonplaats; addr:housenumber=$_bag_obj:addr:housenumber; addr:postcode=$postcode; addr:street=$openbare_ruimte; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date, Upload this adress to OpenStreetMap)}",
"condition": "_imported_osm_object_found=false"
},
{

View file

@ -73,4 +73,4 @@
"bench_at_pt"
],
"widenFactor": 1.5
}
}

View file

@ -394,6 +394,7 @@
},
"minzoom": 16,
"name": null,
"doCount": false,
"+tagRenderings": [
{
"id": "repairs_climbing_shoes",
@ -460,6 +461,7 @@
],
"override": {
"minzoom": 15,
"doCount": false,
"pointRendering": [
{
"iconSize": "30,30"

View file

@ -266,12 +266,6 @@
]
}
],
"enableDownload": true,
"enablePdfDownload": true,
"overpassTimeout": 60,
"widenFactor": 1.1,
"#overpassUrl": "https://overpass.kumi.systems/api/interpreter",
"clustering": {
"maxZoom": 1
}
"widenFactor": 1.1
}

View file

@ -32,7 +32,7 @@
"hideFromOverview": true,
"layers": [
{
"id": "node2node",
"id": "node2node_bicycle",
"name": {
"en": "Node to node links",
"de": "Knotenpunktverbindungen",
@ -126,7 +126,7 @@
"pointRendering": null
},
{
"id": "node",
"id": "node_bicycle",
"name": {
"en": "Nodes",
"de": "Knotenpunkte",
@ -327,6 +327,7 @@
],
"override": {
"minzoom": 16,
"id": "bicycle_guidepost",
"source": {
"osmTags": {
"and": [

View file

@ -290,7 +290,7 @@
]
},
{
"id": "all_streets",
"id": "not_cyclestreets",
"name": {
"nl": "Alle straten",
"en": "All streets",
@ -403,7 +403,8 @@
},
"width": "5"
}
]
],
"isCounted": false
}
],
"overrideAll": {
@ -768,9 +769,5 @@
}
]
},
"widenFactor": 2,
"clustering": {
"maxZoom": 12,
"minNeededElements": 200
}
"widenFactor": 2
}

View file

@ -1,23 +1,23 @@
{
"description": {
"en": "This map contains elements meant for disaster preparedness and response.",
"it": "Questa mappa contiene elementi pensati per la preparazione e risposta ai disastri.",
"de": "Diese Karte enthält Elemente, die der Katastrophenvorsorge und dem Katastrophenschutz dienen.",
"es": "Este mapa contiene elementos destinados a la preparación y respuesta ante desastres."
},
"docs": "https://wiki.openstreetmap.org/wiki/Emergency_facilities_and_amenities",
"icon": "./assets/themes/disaster_response/CivilDefence.svg",
"id": "disaster_response",
"socialImage": "./assets/themes/disaster_response/social.svg",
"title": {
"en": "Disaster response",
"it": "Risposta ai disastri",
"de": "Katastrophenschutz",
"es": "Respuesta ante desastres"
},
"description": {
"en": "This map contains elements meant for disaster preparedness and response.",
"it": "Questa mappa contiene elementi pensati per la preparazione e risposta ai disastri.",
"de": "Diese Karte enthält Elemente, die der Katastrophenvorsorge und dem Katastrophenschutz dienen.",
"es": "Este mapa contiene elementos destinados a la preparación y respuesta ante desastres."
},
"icon": "./assets/themes/disaster_response/CivilDefence.svg",
"socialImage": "./assets/themes/disaster_response/social.svg",
"layers": [
"hospital",
"assembly_point",
"disaster_response"
]
],
"docs": "https://wiki.openstreetmap.org/wiki/Emergency_facilities_and_amenities"
}

View file

@ -68,6 +68,7 @@
"pl": "Ulice bez informacji o etymologii"
},
"minzoom": 15,
"isCounted": false,
"source": {
"=osmTags": {
"and": [
@ -99,6 +100,7 @@
"pl": "Parki i lasy bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -131,6 +133,7 @@
"pl": "Instytucje edukacyjne bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -166,6 +169,7 @@
"pl": "Miejsca kulturowe bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -201,6 +205,7 @@
"pl": "Miejsca turystyczne bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -235,6 +240,7 @@
"pl": "Miejsca związane ze zdrowiem i społeczeństwem bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -268,6 +274,7 @@
"pl": "Miejsca sportowe bez informacji o etymologii"
},
"minzoom": 18,
"isCounted": false,
"source": {
"osmTags": {
"and": [
@ -284,10 +291,5 @@
}
}
}
],
"widenFactor": 2,
"clustering": {
"maxZoom": 14,
"minNeededElements": 250
}
}
]
}

View file

@ -96,7 +96,8 @@
"override": {
"minzoom": 18,
"filter": null,
"name": null
"name": null,
"isCounted": false
}
}
],

View file

@ -43,8 +43,5 @@
"layers": [
"ghost_bike"
],
"widenFactor": 5,
"clustering": {
"maxZoom": 0
}
}
"widenFactor": 5
}

View file

@ -140,7 +140,12 @@
"source": {
"osmTags": "advertising=wall_painting"
},
"id": "advertising_wall_paintings",
"minzoom": 18,
"name": {
"en": "All advertentie wall paintings",
"nl": "Alle adverterende muurschilderingen"
},
"+tagRenderings": [
{
"id": "historic",
@ -172,8 +177,9 @@
{
"iconSize": "20,20"
}
]
],
"isCounted": false
}
}
]
}
}

View file

@ -29,7 +29,7 @@
"hideFromOverview": true,
"layers": [
{
"id": "osm-buildings",
"id": "osm_buildings_no_points",
"name": "All OSM-buildings",
"source": {
"osmTags": {
@ -42,8 +42,7 @@
},
"building~*"
]
},
"maxCacheAge": 0
}
},
"title": "OSM-gebouw",
"tagRenderings": [
@ -290,13 +289,12 @@
"geoJson": "https://betadata.grbosm.site/grb?bbox={x_min},{y_min},{x_max},{y_max}",
"geoJsonZoomLevel": 18,
"mercatorCrs": true,
"maxCacheAge": 0,
"idKey": "osm_id"
},
"name": "GRB geometries",
"title": "GRB outline",
"calculatedTags": [
"_overlaps_with_buildings=overlapWith(feat)('osm-buildings').filter(f => f.feat.properties.id.indexOf('-') < 0) ?? []",
"_overlaps_with_buildings=overlapWith(feat)('osm_buildings_no_points').filter(f => f.feat.properties.id.indexOf('-') < 0) ?? []",
"_overlaps_with=get(feat)('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
"_osm_obj:source:ref=get(feat)('_overlaps_with')?.feat?.properties['source:geometry:ref']",
"_osm_obj:id=get(feat)('_overlaps_with')?.feat?.properties?.id",
@ -319,7 +317,7 @@
"tagRenderings": [
{
"id": "Import-button",
"render": "{import_way_button(osm-buildings,building=$building;man_made=$man_made; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref; addr:street=$addr:street; addr:housenumber=$addr:housenumber; building:min_level=$_building:min_level, Upload this building to OpenStreetMap,,_is_part_of_building=true,1,_moveable=true)}",
"render": "{import_way_button(osm_buildings_no_points,building=$building;man_made=$man_made; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref; addr:street=$addr:street; addr:housenumber=$addr:housenumber; building:min_level=$_building:min_level, Upload this building to OpenStreetMap,,_is_part_of_building=true,1,_moveable=true)}",
"mappings": [
{
"#": "Failsafe",
@ -371,7 +369,7 @@
"addr:housenumber!:={_osm_obj:addr:housenumber}"
]
},
"then": "{conflate_button(osm-buildings,building=$_target_building_type; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref; addr:street=$addr:street; addr:housenumber=$addr:housenumber, Replace the geometry in OpenStreetMap and add the address,,_osm_obj:id)}"
"then": "{conflate_button(osm_buildings_no_points,building=$_target_building_type; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref; addr:street=$addr:street; addr:housenumber=$addr:housenumber, Replace the geometry in OpenStreetMap and add the address,,_osm_obj:id)}"
},
{
"if": {
@ -380,7 +378,7 @@
"_reverse_overlap_percentage>50"
]
},
"then": "{conflate_button(osm-buildings,building=$_target_building_type; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref, Replace the geometry in OpenStreetMap,,_osm_obj:id)}"
"then": "{conflate_button(osm_buildings_no_points,building=$_target_building_type; source:geometry:date=$_grb_date; source:geometry:ref=$_grb_ref, Replace the geometry in OpenStreetMap,,_osm_obj:id)}"
}
]
},
@ -587,8 +585,7 @@
]
}
]
},
"maxCacheAge": 0
}
},
"title": {
"render": {
@ -612,7 +609,7 @@
"builtin": "crab_address",
"override": {
"calculatedTags+": [
"_embedded_in=overlapWith(feat)('osm-buildings').filter(b => /* Do not match newly created objects */ b.feat.properties.id.indexOf('-') < 0)[0]?.feat?.properties ?? {}",
"_embedded_in=overlapWith(feat)('osm_buildings_no_points').filter(b => /* Do not match newly created objects */ b.feat.properties.id.indexOf('-') < 0)[0]?.feat?.properties ?? {}",
"_embedding_nr=get(feat)('_embedded_in')['addr:housenumber']+(get(feat)('_embedded_in')['addr:unit'] ?? '')",
"_embedding_street=get(feat)('_embedded_in')['addr:street']",
"_embedding_id=get(feat)('_embedded_in').id",
@ -709,7 +706,7 @@
"text": {
"nl": "Voeg dit adres als een nieuw adrespunt toe"
},
"snap_onto_layers": "osm-buildings"
"snap_onto_layers": "osm_buildings_no_points"
}
},
"mappings": [
@ -785,12 +782,10 @@
}
],
"overrideAll": {
"minzoom": 17
"minzoom": 17,
"doCount": false
},
"widenFactor": 2,
"overpassMaxZoom": 15,
"osmApiTileSize": 17,
"clustering": {
"maxZoom": 15
}
"osmApiTileSize": 17
}

View file

@ -39,7 +39,7 @@
{
"builtin": "shops",
"override": {
"id": "medical-shops",
"id": "medical_shops",
"minzoom": 13,
"=filter": [
"open_now",
@ -113,6 +113,7 @@
"override": {
"=presets": [],
"name": null,
"doCount": false,
"minzoom": 18
}
}

View file

@ -17,6 +17,5 @@
"icon": "./assets/layers/ice_cream/ice_cream.svg",
"layers": [
"ice_cream"
],
"minzoom": "14"
]
}

View file

@ -1,6 +1,5 @@
{
"id": "items_with_image",
"hideFromOverview": true,
"title": {
"en": "All items with images"
},
@ -8,6 +7,7 @@
"en": "A map showing all items on OSM which have an image. This theme is a very bad fit for MapComplete as someone is not able to directly add a picture. However, this theme is mostly here to include this all into the database, which'll allow this to quickly fetch images nearby for other features"
},
"icon": "./assets/layers/item_with_image/camera.svg",
"hideFromOverview": true,
"layers": [
"item_with_image"
]

View file

@ -46,6 +46,7 @@
{
"builtin": "crossings",
"override": {
"id": "crossings_no_traffic_lights",
"=presets": [
{
"title": {
@ -87,4 +88,4 @@
},
"kerbs"
]
}
}

View file

@ -14,8 +14,6 @@
"startLat": 0,
"startLon": 0,
"startZoom": 1,
"widenFactor": 0.05,
"clustering": false,
"layers": [
{
"id": "mapcomplete-changes",
@ -26,8 +24,7 @@
"source": {
"osmTags": "editor~*",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/mapcomplete-changes/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 8,
"maxCacheAge": 0
"geoJsonZoomLevel": 8
},
"title": {
"render": {

View file

@ -14,8 +14,6 @@
"startLat": 0,
"startLon": 0,
"startZoom": 1,
"widenFactor": 0.05,
"clustering": false,
"layers": [
{
"id": "mapcomplete-changes",
@ -26,8 +24,7 @@
"source": {
"osmTags": "editor~*",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/mapcomplete-changes/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 8,
"maxCacheAge": 0
"geoJsonZoomLevel": 8
},
"title": {
"render": {

View file

@ -32,6 +32,5 @@
"note",
"fixme"
],
"enableDownload": true,
"clustering": false
"enableDownload": true
}

View file

@ -18,7 +18,7 @@
{
"builtin": "shops",
"override": {
"id": "erotic-shop",
"id": "erotic_shop",
"source": {
"osmTags": "shop=erotic"
},
@ -51,6 +51,7 @@
"minzoom": 18,
"=presets": [],
"=name": null,
"doCount": false,
"=filter": {
"sameAs": "erotic-shop"
}
@ -125,6 +126,7 @@
"override": {
"minzoom": 18,
"=presets": [],
"doCount": false,
"=name": null
}
},
@ -203,6 +205,7 @@
"override": {
"minzoom": 18,
"=presets": [],
"doCount": false,
"=name": null
}
},
@ -237,6 +240,7 @@
]
}
],
"doCount": false,
"=presets": []
}
}

View file

@ -41,8 +41,5 @@
],
"layers": [
"windturbine"
],
"clustering": {
"maxZoom": 8
}
]
}

View file

@ -36,6 +36,5 @@
"startLon": 4.351697,
"layers": [
"osm_community_index"
],
"clustering": false
]
}

View file

@ -44,8 +44,5 @@
"enableNoteImports": false,
"widenFactor": 1.2,
"overpassMaxZoom": 15,
"clustering": {
"maxZoom": 19
},
"#note": "The 'overpassMaxZoom' should be exactly the same as or less then the minzzom in overrideAll"
}

View file

@ -231,6 +231,5 @@
}
],
"overpassTimeout": 180,
"widenFactor": 0.05,
"clustering": false
"widenFactor": 0.05
}

View file

@ -103,9 +103,5 @@
}
}
],
"widenFactor": 1.5,
"clustering": {
"maxZoom": 14,
"minNeededElements": 100
}
"widenFactor": 1.5
}

View file

@ -55,5 +55,7 @@
"ice_cream",
"trolley_bay"
],
"widenFactor": 3
}
"overrideAll": {
"minzoom": 16
}
}

View file

@ -11,7 +11,6 @@
"es": "Todo lo que necesitas para esquiar"
},
"icon": "./assets/layers/aerialway/chair_lift.svg",
"enableTerrain": true,
"layers": [
"ski_piste",
"aerialway",
@ -50,5 +49,6 @@
]
}
}
]
],
"enableTerrain": true
}

View file

@ -23,8 +23,7 @@
"title": null,
"source": {
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete/master/assets/themes/speelplekken/shadow.geojson",
"osmTags": "shadow=yes",
"isOsmCache": false
"osmTags": "shadow=yes"
},
"pointRendering": null,
"lineRendering": [
@ -37,11 +36,6 @@
{
"builtin": "play_forest",
"override": {
"source": {
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
},
"minzoom": 12,
"calculatedTags": [
"_is_shadowed=overlapWith(feat)('shadow').length > 0 ? 'yes': ''",
@ -53,12 +47,6 @@
"builtin": "playground",
"override": {
"minzoom": 14,
"source": {
"geoJsonLocal": "http://127.0.0.1:8080/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
},
"calculatedTags": [
"_is_shadowed=overlapWith(feat)('shadow').length > 0 ? 'yes': ''",
"_video:id=feat.properties.video === undefined ? undefined : new URL(feat.properties.video).searchParams.get('v')"
@ -69,12 +57,6 @@
"builtin": "village_green",
"override": {
"minzoom": 14,
"source": {
"geoJsonLocal": "http://127.0.0.1:8080/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
},
"calculatedTags": [
"_is_shadowed=overlapWith(feat)('shadow').length > 0 ? 'yes': ''",
"_video:id=feat.properties.video === undefined ? undefined : new URL(feat.properties.video).searchParams.get('v')"
@ -85,12 +67,6 @@
"builtin": "sport_pitch",
"override": {
"minzoom": 15,
"source": {
"geoJsonLocal": "http://127.0.0.1:8080/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
},
"calculatedTags": [
"_is_shadowed=overlapWith(feat)('shadow').length > 0 ? 'yes': ''",
"_video:id=feat.properties.video === undefined ? undefined : new URL(feat.properties.video).searchParams.get('v')"
@ -102,13 +78,7 @@
"override": {
"calculatedTags": [
"_is_shadowed=overlapWith(feat)('shadow').length > 0 ? 'yes': ''"
],
"source": {
"geoJsonLocal": "http://127.0.0.1:8080/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
}
]
}
},
{
@ -124,10 +94,7 @@
"route=foot",
"operator~[pP]rovincie Antwerpen"
]
},
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/speelplekken_cache/speelplekken_{layer}_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 14,
"isOsmCache": true
}
},
"title": {
"render": "Wandeling <i>{name}</i>",
@ -260,9 +227,5 @@
51.23978120350654
]
],
"widenFactor": 1.2,
"clustering": {
"maxZoom": 6,
"minNeededElements": 100
}
"widenFactor": 1.2
}

View file

@ -23,8 +23,7 @@
"osmTags": "Lichtmastnummer~*",
"#geoJson": "https://opendata.arcgis.com/datasets/ba37cdb372064b3199c548b75d16a609_0.geojson",
"geoJson": "https://robinlinde.github.io/tiles/assen_street_lighting/{z}/{x}/{y}.json",
"geoJsonZoomLevel": 16,
"isOsmCache": false
"geoJsonZoomLevel": 16
},
"calculatedTags": [
"_closest_osm_street_lamp=closest(feat)('street_lamps')?.properties?.id",

View file

@ -44,4 +44,4 @@
"shower"
],
"widenFactor": 3
}
}

View file

@ -53,6 +53,7 @@
"builtin": "shelter",
"override": {
"minzoom": 18,
"id": "pt_shelter",
"source": {
"osmTags": {
"and": [

View file

@ -71,9 +71,5 @@
"tree_node"
],
"widenFactor": 0.2,
"osmApiTileSize": 18,
"clustering": {
"maxZoom": 19,
"minNeededElements": 25
}
"osmApiTileSize": 18
}

View file

@ -32,8 +32,7 @@
"source": {
"geoJson": "https://osm-uk-addresses.russss.dev/inspire/{z}/{x}/{y}.json",
"osmTags": "inspireid~*",
"geoJsonZoomLevel": 18,
"isOsmCache": false
"geoJsonZoomLevel": 18
},
"minzoom": 18,
"calculatedTags": [
@ -69,8 +68,7 @@
"id!~node/.*"
]
},
"geoJsonZoomLevel": 16,
"isOsmCache": false
"geoJsonZoomLevel": 16
},
"name": "Addresses to check",
"minzoom": 18,
@ -185,7 +183,7 @@
]
},
{
"id": "address",
"id": "uk_address",
"name": {
"en": "Known addresses in OSM"
},
@ -703,9 +701,5 @@
],
"enableShareScreen": false,
"enableMoreQuests": false,
"widenFactor": 1.01,
"clustering": {
"minNeededFeatures": 25,
"maxZoom": 16
}
"widenFactor": 1.01
}

View file

@ -3,45 +3,33 @@
"title": {
"nl": "Velopark naar OpenStreetMap sync tool"
},
"shortDescription": {
"en": "A tool to import data from velopark.be into OpenStreetMap",
"nl": "Een hulpmiddel om data van velopark.be in OpenStreetMap in te laden"
},
"mustHaveLanguage": [
"nl"
],
"description": {
"en": "<p><a href='https://velopark.be' target='_blank'>Velopark.be</a> is a website collecting data about bicycle parkings in a semi-crowdsourced way. However, only 'authorized' instances are allowed to make changes there, in practice the operator of the bicycle parking such as SNCB, de Lijn or the municipality. They have now decided to synchronize their dataset with OpenStreetMap, and this MapComplete-instance is set up to help link and import their data into OpenStreetMap.</p> How to use: <ul><li>A velopark-icon on the map (yellow with bicycle silhouette) represents a bicycle known by Velopark but not yet known by OpenStreetMap</li><li>Blue pins are bicycle parkings known by OpenStreetMap</li><li>Light blue pins are bicycle parkings known by OpenStreetMap with a reference to Velopark.be (<span class='literal-code'>ref-velopark=*</span>)</li><li>Click a velopark item, you can either link it with a nearby OSM-bicycle parking or create a new bicycle parking. Note that the geometry of Velopark is often incorrect and can be a few up till 100 meters away from the actual bicycle parking. Use aerial imagery, linked images and streetview to determine the correct location</li><li>Once linked, you can compare the Velopark- and OSM-attributes and apply correct attributes</li><li>If Velopark has an image, you can also link the image</li></ul> That's it! Thanks for helping to import this!",
"nl": "<p><a href='https://velopark.be' target='_blank'>Velopark.be</a> is een website die data verzamelt over fietsenstallingen in een semi-crowdsource manier. Hierbij kunnen enkel geautorizeerde gebruikers data bijdragen, in de praktijk de uitbaters van de fietsenstallingen zoals de bevoegde gemeentebesturen, de NMBS of de Lijn. Velopark.be heeft nu beslist om hun data met OpenStreetMap te synchronizeren. Deze website is de tool om van Velopark.be naar OpenStreetMap te gaan en hun data te importeren.</p> Hoe te gebruiken? <ul><li>Een velopark-logo op de kaart (geel met een fietssilhouette) duidt een fietsenstalling aan die gekend is in Velopark maar nog niet gekend (of gelinkt) is aan een fietsenstalling in OpenStreetMap</li><li>Een blauwe pin duidt een fietsenstalling aan die gekend is in OpenStreetMap</li><li>Een licht-blauwe pin duidt een fietsenstalling aan uit OpenStreetMap die een link heeft naar Velopark.be (<span class='literal-code'>ref-velopark=*</span>)</li><li>Als je op een velopark-item klikt op, kan je deze linken met een fietsenstalling in de buurt (<25m) of een nieuwe fietstalling aan OpenStreetMap toevoegen. Let op: de geometrie van Velopark is zelden correct en wijkt makkelijk 10 meter of meer af van de echte locatie - in uitzonderlijke gevallen zelfs tot meer dan 100 meter. Gebruik de meest recente luchtfoto's, de gelinkte foto's en mapillary om de correcte locatie te bepalen</li><li>Eens gelinkt, kan je de Velopark- en OSM-attributen vergelijken en de correcte attributen toepassen in OpenStreetMap</li><li>Indien velopark een foto heeft, kan je die ook nog linken</li></ul> Dat is het! Bedankt om mee te helpen!"
},
"shortDescription": {
"en": "A tool to import data from velopark.be into OpenStreetMap",
"nl": "Een hulpmiddel om data van velopark.be in OpenStreetMap in te laden"
},
"descriptionTail": {
"*": "<h3>Maintainer tools</h3><ul><li><a class='link-underline' href='https://maproulette.org/api/v2/challenge/view/43282' download='Velopark_sync_2024-01-15.geojson'>Download the first sync results</a></li></ul>"
},
"hideFromOverview": true,
"icon": "./assets/themes/velopark/velopark.svg",
"mustHaveLanguage": [
"nl"
],
"lockLocation": [
[
2.51357303225,
49.5294835476
],
[
6.15665815596,
51.4750237087
]
],
"startZoom": 18,
"startLat": 51.03753,
"startLon": 3.71025,
"startZoom": 18,
"defaultBackgroundId": "photo",
"enableNoteImports": false,
"hideFromOverview": true,
"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
"geoJson": "https://maproulette.org/api/v2/challenge/view/43282"
},
"title": {
"render": "Velopark parking <b>{mr_velopark_id}</b>"
@ -281,6 +269,7 @@
"bike_parking"
],
"override": {
"doCount": false,
"minzoom": 14
}
},
@ -291,6 +280,7 @@
"bicycle_rental"
],
"override": {
"doCount": false,
"minzoom": 18
}
}
@ -341,5 +331,16 @@
}
}
]
}
},
"lockLocation": [
[
2.51357303225,
49.5294835476
],
[
6.15665815596,
51.4750237087
]
],
"enableNoteImports": false
}

View file

@ -31,6 +31,7 @@
"override": {
"id": "all_vending_machine",
"name": null,
"doCount": false,
"filter": {
"sameAs": "vending_machine"
},
@ -49,6 +50,7 @@
{
"builtin": "parking_ticket_machine",
"override": {
"doCount": false,
"name": null,
"minzoom": 18
}
@ -56,6 +58,7 @@
{
"builtin": "elongated_coin",
"override": {
"doCount": false,
"name": null,
"minzoom": 18
}
@ -63,9 +66,10 @@
{
"builtin": "ticket_machine",
"override": {
"doCount": false,
"name": null,
"minzoom": 18
}
}
]
}
}

View file

@ -23,7 +23,7 @@
"hideFromOverview": true,
"layers": [
{
"id": "node2node",
"id": "node2node_hiking",
"name": {
"en": "Node to node links",
"de": "Knotenpunktverbindungen",
@ -122,7 +122,7 @@
]
},
{
"id": "node",
"id": "node_hiking",
"name": {
"en": "Nodes",
"de": "Knotenpunkte",
@ -293,6 +293,7 @@
],
"override": {
"minzoom": 16,
"id": "guidepost_hiking",
"source": {
"osmTags": {
"and": [

View file

@ -27,8 +27,7 @@
"description": "Laag op basis van externe data",
"source": {
"osmTags": "OBJECTID~*",
"geoJson": "https://opendata.arcgis.com/datasets/5b6953ac5a9d4616a7dc75ab0beeac2f_0.geojson",
"isOsmCache": false
"geoJson": "https://opendata.arcgis.com/datasets/5b6953ac5a9d4616a7dc75ab0beeac2f_0.geojson"
},
"calculatedTags": [
"_closest_osm_waste_basket=closest(feat)('waste_basket')?.properties?.id",
@ -71,8 +70,7 @@
"description": "Laag op basis van externe data",
"source": {
"osmTags": "OBJECTID~*",
"geoJson": "https://opendata.arcgis.com/datasets/edb893998e27461b8ed82aad9854d27d_0.geojson",
"isOsmCache": false
"geoJson": "https://opendata.arcgis.com/datasets/edb893998e27461b8ed82aad9854d27d_0.geojson"
},
"calculatedTags": [
"_closest_osm_recycling=closest(feat)('recycling')?.properties?.id",

View file

@ -275,6 +275,5 @@
"enableLayers": false,
"enableSearch": false,
"enableBackgroundLayerSelection": false,
"widenFactor": 0.05,
"clustering": false
"widenFactor": 0.05
}