Merge branch 'develop' into theme/street_lighting

This commit is contained in:
Robin van der Linde 2021-11-03 11:15:07 +01:00
commit e206ceb70a
No known key found for this signature in database
GPG key ID: 167AD394AD7D0848
244 changed files with 20963 additions and 4378 deletions

View file

@ -394,5 +394,24 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/artwork/artwork.svg"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#0000ff"
},
"width": {
"render": "10"
}
}
]
}

View file

@ -323,5 +323,16 @@
},
"id": "Overlap (cyclebarrier)"
}
],
"mapRendering": [
{
"icon": "./assets/layers/barrier/barrier.svg",
"location": [
"point"
]
},
{
"width": "5"
}
]
}

View file

@ -644,5 +644,18 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "circle:#FE6F32;./assets/layers/bench/bench.svg"
},
"iconSize": {
"render": "35,35,center"
},
"location": [
"point"
]
}
]
}

View file

@ -148,5 +148,26 @@
},
"color": {
"render": "#00f"
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/benches/bench_public_transport.svg"
},
"iconSize": {
"render": "35,35,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -269,13 +269,11 @@
"iconOverlays": [
{
"if": "opening_hours~*",
"then": "isOpen",
"badge": true
"then": "isOpen"
},
{
"if": "service:bicycle:pump=yes",
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg",
"badge": true
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg"
}
],
"width": {
@ -287,5 +285,37 @@
"color": {
"render": "#c00"
},
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "pin:#22ff55;./assets/layers/bicycle_library/bicycle_library.svg"
},
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
},
{
"if": "service:bicycle:pump=yes",
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg"
}
],
"iconSize": {
"render": "50,50,bottom"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#c00"
},
"width": {
"render": "1"
}
}
]
}

View file

@ -48,8 +48,7 @@
"operational_status=closed"
]
},
"then": "close:#c33",
"badge": true
"then": "close:#c33"
}
],
"iconSize": "50,50,bottom",
@ -276,5 +275,31 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "pin:#ffffff;./assets/layers/bicycle_tube_vending_machine/pinIcon.svg"
},
"iconBadges": [
{
"if": {
"or": [
"operational_status=broken",
"operational_status=closed"
]
},
"then": "close:#c33"
}
],
"iconSize": "50,50,bottom",
"location": [
"point",
"centroid"
]
},
{
"color": "#6bc4f7"
}
]
}

View file

@ -365,5 +365,27 @@
]
}
],
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_cafe/bike_cafe.svg"
},
"iconSize": {
"render": "50,50,bottom"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#694E2D"
},
"width": {
"render": "2"
}
}
]
}

View file

@ -79,13 +79,15 @@
]
},
"then": {
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg"
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg",
"roaming": true
}
}
],
"titleIcons": [
{
"render": "<img src='./assets/layers/bike_cleaning/bike_cleaning_icon.svg'/>"
"render": "<img src='./assets/layers/bike_cleaning/bike_cleaning_icon.svg'/>",
"roaming": true
}
],
"tagRenderings": [
@ -115,6 +117,7 @@
"then": "The cleaning service has a fee"
}
],
"roaming": true,
"id": "bike_cleaning-service:bicycle:cleaning:charge"
},
{
@ -142,6 +145,7 @@
"then": "The cleaning service has a fee"
}
],
"roaming": false,
"id": "bike_cleaning-charge"
}
],
@ -157,5 +161,30 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_cleaning/bike_cleaning.svg"
},
"iconBadges": [
{
"if": {
"and": [
"service:bicycle:cleaning~*",
"amenity!=bike_wash"
]
},
"then": {
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg",
"roaming": true
}
}
],
"iconSize": "50,50,bottom",
"location": [
"point"
]
}
]
}

View file

@ -551,5 +551,21 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_parking/parking.svg"
},
"iconSize": "40,40,bottom",
"location": [
"point",
"centroid"
]
},
{
"color": "#00f",
"width": "1"
}
]
}

View file

@ -663,8 +663,7 @@
"iconOverlays": [
{
"if": "operator=De Fietsambassade Gent",
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg",
"badge": true
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg"
}
],
"iconSize": {
@ -758,5 +757,76 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_repair_station/repair_station.svg",
"mappings": [
{
"if": {
"and": [
"service:bicycle:pump=no",
"service:bicycle:pump:operational_status=broken"
]
},
"then": "./assets/layers/bike_repair_station/repair_station.svg"
},
{
"if": {
"and": [
"service:bicycle:pump=yes",
"service:bicycle:tools=yes"
]
},
"then": "./assets/layers/bike_repair_station/repair_station_pump.svg"
},
{
"if": {
"and": [
"service:bicycle:pump:operational_status=broken",
"service:bicycle:tools=no"
]
},
"then": "./assets/layers/bike_repair_station/broken_pump_2.svg"
},
{
"if": {
"and": [
"service:bicycle:pump=yes",
{
"or": [
"service:bicycle:tools=no",
"service:bicycle:tools="
]
}
]
},
"then": "./assets/layers/bike_repair_station/pump.svg"
}
]
},
"iconBadges": [
{
"if": "operator=De Fietsambassade Gent",
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg"
}
],
"iconSize": {
"render": "50,50,bottom"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "1"
}
}
]
}

View file

@ -752,5 +752,57 @@
"color": {
"render": "#c00"
},
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_shop/repair_shop.svg",
"mappings": [
{
"if": "operator=De Fietsambassade Gent",
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg"
},
{
"if": "service:bicycle:retail=yes",
"then": "./assets/layers/bike_shop/shop.svg"
}
]
},
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
},
{
"if": "service:bicycle:pump=yes",
"then": "circle:#e2783d;./assets/layers/bike_repair_station/pump.svg"
},
{
"if": {
"and": [
"service:bicycle:cleaning~*"
]
},
"then": {
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg"
}
}
],
"iconSize": {
"render": "50,50,bottom"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#c00"
},
"width": {
"render": "1"
}
}
]
}

View file

@ -69,5 +69,27 @@
"render": "#AB76D5"
},
"presets": [],
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_themed_object/other_services.svg"
},
"iconSize": {
"render": "50,50,bottom"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#AB76D5"
},
"width": {
"render": "2"
}
}
]
}

View file

@ -127,5 +127,26 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/binocular/telescope.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -309,5 +309,29 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": {
"nl": "./assets/layers/birdhide/birdhide.svg"
},
"mappings": [
{
"if": {
"or": [
"building=yes",
"shelter=yes",
"amenity=shelter"
]
},
"then": "./assets/layers/birdhide/birdshelter.svg"
}
]
},
"location": [
"point"
]
}
]
}

View file

@ -28,8 +28,7 @@
"iconOverlays": [
{
"if": "opening_hours~*",
"then": "isOpen",
"badge": true
"then": "isOpen"
}
],
"label": {
@ -203,5 +202,35 @@
]
}
},
"allowMove": true
"allowMove": true,
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/cafe_pub/pub.svg",
"mappings": [
{
"if": "amenity=cafe",
"then": "circle:white;./assets/layers/cafe_pub/cafe.svg"
}
]
},
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
}
],
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"location": [
"point"
]
}
]
}

View file

@ -2,13 +2,7 @@
"id": "charging_station",
"name": {
"en": "Charging stations",
"nl": "Oplaadpunten",
"de": "Ladestationen",
"it": "Stazioni di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjoner",
"ru": "Зарядные станции",
"zh_Hant": "充電站"
"nl": "Oplaadpunten"
},
"minzoom": 10,
"source": {
@ -24,24 +18,12 @@
"title": {
"render": {
"en": "Charging station",
"nl": "Oplaadpunten",
"de": "Ladestation",
"it": "Stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "Ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
"nl": "Oplaadpunten"
}
},
"description": {
"en": "A charging station",
"nl": "Oplaadpunten",
"de": "Eine Ladestation",
"it": "Una stazione di ricarica",
"ja": "充電ステーション",
"nb_NO": "En ladestasjon",
"ru": "Зарядная станция",
"zh_Hant": "充電站"
"nl": "Oplaadpunten"
},
"tagRenderings": [
"images",
@ -1699,7 +1681,7 @@
"planned:amenity=",
"construction:amenity=",
"disused:amenity=",
"operational_status=",
"operational_status=broken",
"amenity=charging_station"
]
},
@ -1712,11 +1694,11 @@
{
"if": {
"and": [
"planned:amenity=",
"planned:amenity=charging_station",
"construction:amenity=",
"disused:amenity=",
"operational_status=broken",
"amenity=charging_station"
"operational_status=",
"amenity="
]
},
"then": {
@ -1728,8 +1710,8 @@
{
"if": {
"and": [
"planned:amenity=charging_station",
"construction:amenity=",
"planned:amenity=",
"construction:amenity=charging_station",
"disused:amenity=",
"operational_status=",
"amenity="
@ -1745,8 +1727,8 @@
"if": {
"and": [
"planned:amenity=",
"construction:amenity=charging_station",
"disused:amenity=",
"construction:amenity=",
"disused:amenity=charging_station",
"operational_status=",
"amenity="
]
@ -1762,9 +1744,9 @@
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=charging_station",
"disused:amenity=",
"operational_status=",
"amenity="
"amenity=charging_station"
]
},
"then": {
@ -1811,69 +1793,69 @@
}
}
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"iconOverlays": [
"mapRendering": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "cross_bottom_right:#c22;"
},
{
"if": {
"or": [
"proposed:amenity=charging_station",
"planned:amenity=charging_station"
]
},
"then": "./assets/layers/charging_station/under_construction.svg",
"badge": true
},
{
"if": {
"and": [
"bicycle=yes",
"location": [
"point",
"centroid"
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"or": [
"motorcar=yes",
"car=yes"
]
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg",
"badge": true
"iconBadges": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "cross:#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"
}
],
"iconSize": {
"render": "50,50,bottom"
}
}
],
"width": {
"render": "8"
},
"iconSize": {
"render": "50,50,bottom"
},
"color": {
"render": "#00f"
},
"presets": [
{
"tags": [

View file

@ -558,21 +558,6 @@
"nl": "Is dit oplaadpunt operationeel?"
},
"mappings": [
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=",
"operational_status=",
"amenity=charging_station"
]
},
"then": {
"en": "This charging station works",
"nl": "Dit oplaadpunt werkt"
}
},
{
"if": {
"and": [
@ -632,6 +617,21 @@
"en": "This charging station has beed permanently disabled and is not in use anymore but is still visible",
"nl": "Dit oplaadpunt is niet meer in gebruik maar is wel nog aanwezig"
}
},
{
"if": {
"and": [
"planned:amenity=",
"construction:amenity=",
"disused:amenity=",
"operational_status=",
"amenity=charging_station"
]
},
"then": {
"en": "This charging station works",
"nl": "Dit oplaadpunt werkt"
}
}
]
},
@ -668,69 +668,69 @@
}
}
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"iconOverlays": [
"mapRendering": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "cross_bottom_right:#c22;"
},
{
"if": {
"or": [
"proposed:amenity=charging_station",
"planned:amenity=charging_station"
]
},
"then": "./assets/layers/charging_station/under_construction.svg",
"badge": true
},
{
"if": {
"and": [
"bicycle=yes",
"location": [
"point",
"centroid"
],
"icon": {
"render": "pin:#fff;./assets/themes/charging_stations/plug.svg",
"mappings": [
{
"or": [
"motorcar=yes",
"car=yes"
]
"if": "bicycle=yes",
"then": "pin:#fff;./assets/themes/charging_stations/bicycle.svg"
},
{
"if": {
"or": [
"car=yes",
"motorcar=yes"
]
},
"then": "pin:#fff;./assets/themes/charging_stations/car.svg"
}
]
},
"then": "circle:#fff;./assets/themes/charging_stations/car.svg",
"badge": true
"iconBadges": [
{
"if": {
"or": [
"disused:amenity=charging_station",
"operational_status=broken"
]
},
"then": "cross:#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"
}
],
"iconSize": {
"render": "50,50,bottom"
}
}
],
"width": {
"render": "8"
},
"iconSize": {
"render": "50,50,bottom"
},
"color": {
"render": "#00f"
},
"presets": [
{
"tags": [

View file

@ -36,5 +36,43 @@
"then": "<div class='rounded-full text-xl font-bold flex flex-col' style='width: 2.5rem; height: 2.5rem; background: white'>{kilocount}K</div>"
}
]
}
},
"mapRendering": [
{
"label": {
"render": "<div class='rounded-full text-xl font-bold' style='width: 2rem; height: 2rem; background: white'>{showCount}</div>",
"mappings": [
{
"if": "showCount>1000",
"then": "<div class='rounded-full text-xl font-bold flex flex-col' style='width: 2.5rem; height: 2.5rem; background: white'>{kilocount}K</div>"
}
]
},
"location": [
"point"
]
},
{
"color": {
"render": "#3c3",
"mappings": [
{
"if": "showCount>200",
"then": "#f33"
},
{
"if": "showCount>100",
"then": "#c93"
},
{
"if": "showCount>50",
"then": "#cc3"
}
]
},
"width": {
"render": "1"
}
}
]
}

View file

@ -0,0 +1,36 @@
{
"id": "conflation",
"description": "This is a special meta_layer which render geometry-changes for inspection",
"minzoom": 1,
"source": {
"osmTags": {
"or": [
"move=yes",
"newpoint=yes"
]
}
},
"name": "Conflation",
"title": "Conflation",
"mapRendering": [
{
"location": "point",
"icon": "addSmall:#000",
"iconSize": "10,10,center"
},
{
"location": "end",
"icon": "circle:#0f0",
"iconSize": "10,10,center"
},
{
"location": "start",
"icon": "square:#f00",
"iconSize": "10,10,center"
},
{
"width": "3",
"color": "#00f"
}
]
}

View file

@ -202,8 +202,7 @@
"id": "crossing-has-island",
"question": {
"en": "Does this crossing have an island in the middle?",
"nl": "Heeft deze oversteekplaats een verkeerseiland in het midden?",
"de": "Gibt es an diesem Übergang eine Verkehrsinsel?"
"nl": "Heeft deze oversteekplaats een verkeerseiland in het midden?"
},
"condition": "highway=crossing",
"mappings": [
@ -211,16 +210,14 @@
"if": "crossing:island=yes",
"then": {
"en": "This crossing has an island in the middle",
"nl": "Deze oversteekplaats heeft een verkeerseiland in het midden",
"de": "Der Übergang hat eine Verkehrsinsel"
"nl": "Deze oversteekplaats heeft een verkeerseiland in het midden"
}
},
{
"if": "crossing:island=no",
"then": {
"en": "This crossing does not have an island in the middle",
"nl": "Deze oversteekplaats heeft geen verkeerseiland in het midden",
"de": "Diese Ampel hat eine Taste, um ein grünes Signal anzufordern"
"nl": "Deze oversteekplaats heeft geen verkeerseiland in het midden"
}
}
]
@ -264,8 +261,7 @@
"id": "crossing-button",
"question": {
"en": "Does this traffic light have a button to request green light?",
"nl": "Heeft dit verkeerslicht een knop voor groen licht?",
"de": "Hat diese Ampel eine Taste, um ein grünes Signal anzufordern?"
"nl": "Heeft dit verkeerslicht een knop voor groen licht?"
},
"condition": {
"or": [
@ -285,8 +281,7 @@
"if": "button_operated=no",
"then": {
"en": "This traffic light does not have a button to request green light",
"nl": "Dit verkeerlicht heeft geen knop voor groen licht",
"de": "Diese Ampel hat keine Taste, um ein grünes Signal anzufordern."
"nl": "Dit verkeerlicht heeft geen knop voor groen licht"
}
}
]
@ -295,8 +290,7 @@
"id": "crossing-right-turn-through-red",
"question": {
"en": "Can a cyclist turn right when the light is red?",
"nl": "Mag een fietser rechtsaf slaan als het licht rood is?",
"de": "Kann ein Radfahrer bei roter Ampel rechts abbiegen?"
"nl": "Mag een fietser rechtsaf slaan als het licht rood is?"
},
"condition": "highway=traffic_signals",
"mappings": [
@ -304,8 +298,7 @@
"if": "red_turn:right:bicycle=yes",
"then": {
"en": "A cyclist can turn right if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>",
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>",
"de": "Ein Radfahrer kann bei roter Ampel rechts abbiegen <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B22.svg' style='width: 3em'>"
},
"hideInAnswer": "_country!=be"
},
@ -313,8 +306,7 @@
"if": "red_turn:right:bicycle=yes",
"then": {
"en": "A cyclist can turn right if the light is red",
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is",
"de": "Ein Radfahrer kann bei roter Ampel rechts abbiegen"
"nl": "Een fietser mag wel rechtsaf slaan als het licht rood is"
},
"hideInAnswer": "_country=be"
},
@ -322,8 +314,7 @@
"if": "red_turn:right:bicycle=no",
"then": {
"en": "A cyclist can not turn right if the light is red",
"nl": "Een fietser mag niet rechtsaf slaan als het licht rood is",
"de": "Ein Radfahrer kann bei roter Ampel nicht rechts abbiegen"
"nl": "Een fietser mag niet rechtsaf slaan als het licht rood is"
}
}
]
@ -332,8 +323,7 @@
"id": "crossing-continue-through-red",
"question": {
"en": "Can a cyclist go straight on when the light is red?",
"nl": "Mag een fietser rechtdoor gaan als het licht rood is?",
"de": "Kann ein Radfahrer bei roter Ampel geradeaus fahren?"
"nl": "Mag een fietser rechtdoor gaan als het licht rood is?"
},
"condition": "highway=traffic_signals",
"mappings": [
@ -341,8 +331,7 @@
"if": "red_turn:straight:bicycle=yes",
"then": {
"en": "A cyclist can go straight on if the light is red <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>",
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>",
"de": "Ein Radfahrer kann bei roter Ampel geradeaus fahren <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is <img src='./assets/layers/crossings/Belgian_road_sign_B23.svg' style='width: 3em'>"
},
"hideInAnswer": "_country!=be"
},
@ -350,8 +339,7 @@
"if": "red_turn:straight:bicycle=yes",
"then": {
"en": "A cyclist can go straight on if the light is red",
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is",
"de": "Ein Radfahrer kann bei roter Ampel geradeaus fahren"
"nl": "Een fietser mag wel rechtdoor gaan als het licht rood is"
},
"hideInAnswer": "_country=be"
},
@ -359,11 +347,34 @@
"if": "red_turn:straight:bicycle=no",
"then": {
"en": "A cyclist can not go straight on if the light is red",
"nl": "Een fietser mag niet rechtdoor gaan als het licht rood is",
"de": "Ein Radfahrer kann bei roter Ampel nicht geradeaus fahren"
"nl": "Een fietser mag niet rechtdoor gaan als het licht rood is"
}
}
]
}
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/crossings/pedestrian_crossing.svg",
"mappings": [
{
"if": {
"or": [
"highway=traffic_signals",
"crossing=traffic_signals"
]
},
"then": "./assets/layers/crossings/traffic_lights.svg"
}
]
},
"location": [
"point"
]
},
{
"width": "5"
}
]
}

View file

@ -83,7 +83,6 @@
}
]
},
"description": {},
"tagRenderings": [
{
"question": {
@ -1277,5 +1276,87 @@
}
]
},
"allowSplit": true
"allowSplit": true,
"mapRendering": [
{
"icon": {
"render": "./assets/themes/cycle_infra/bicycleway.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "rgba(170, 170, 170, 0.7)",
"mappings": [
{
"if": "highway=cycleway",
"then": "rgba(0, 189, 141, 0.7)"
},
{
"if": "highway=path",
"then": "rgba(204, 74, 207, 0.7)"
},
{
"if": "cycleway=track",
"then": "rgba(113, 3, 200, 0.7)"
},
{
"if": "cycleway=shared_lane",
"then": "rgba(74, 59, 247, 0.7)"
},
{
"if": "cycleway=lane",
"then": "rgba(254, 155, 6, 0.9)"
},
{
"if": "cyclestreet=yes",
"then": "rgba(57, 159, 191, 0.7)"
}
]
},
"width": {
"render": "8"
},
"dashArray": {
"render": "",
"mappings": [
{
"if": {
"or": [
"oneway=yes",
{
"or": [
"highway=cycleway",
"highway=path"
]
}
]
},
"then": ""
},
{
"if": "cycleway=track",
"then": ""
},
{
"if": "cycleway=shared_lane",
"then": "15 30"
},
{
"if": "cycleway=lane",
"then": "25 15 15 15 25"
},
{
"if": "cyclestreet=yes",
"then": ""
}
]
}
}
]
}

View file

@ -35,7 +35,13 @@
"mappings": [
{
"if": "_recently_surveyed=true",
"then": "./assets/layers/defibrillator/aed_checked.svg"
"then": {
"en": "./assets/layers/defibrillator/aed_checked.svg",
"ru": "./assets/layers/defibrillator/aed_checked.svg",
"it": "./assets/layers/defibrillator/aed_checked.svg",
"fr": "./assets/layers/defibrillator/aed_checked.svg",
"de": "./assets/layers/defibrillator/aed_checked.svg"
}
}
]
},
@ -203,8 +209,7 @@
"en": "Is this a a regular automatic defibrillator or a manual defibrillator for professionals only?",
"nl": "Is dit een gewone automatische defibrillator of een manueel toestel enkel voor professionals?",
"fr": "Est-ce un défibrillateur automatique normal ou un défibrillateur manuel à usage professionnel uniquement ?",
"it": "Si tratta di un normale defibrillatore automatico o un defibrillatore manuale riservato ai professionisti?",
"de": "Ist dies ein normaler automatischer Defibrillator oder ein manueller Defibrillator nur für Profis?"
"it": "Si tratta di un normale defibrillatore automatico o un defibrillatore manuale riservato ai professionisti?"
},
"freeform": {
"key": "defibrillator"
@ -551,5 +556,24 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/aed/aed.svg",
"mappings": [
{
"if": "_recently_surveyed=true",
"then": "./assets/layers/defibrillator/aed_checked.svg"
}
]
},
"location": [
"point"
]
},
{
"color": "#0000ff"
}
]
}

View file

@ -45,5 +45,30 @@
"color": "--catch-detail-color",
"stroke": "0",
"presets": [],
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "direction_gradient:var(--catch-detail-color)",
"#": "For some weird reason, showing the icon in the layer control panel breaks the svg-gradient (because the svg gradient has a global color or smthng) - so we use a different icon without gradient",
"mappings": [
{
"if": "id=node/-1",
"then": "direction:var(--catch-detail-color)"
}
]
},
"iconSize": "200,200,center",
"location": [
"point",
"centroid"
],
"rotation": {
"render": "{_direction:numerical}deg"
}
},
{
"color": "--catch-detail-color"
}
]
}

View file

@ -33,8 +33,7 @@
"operational_status=closed"
]
},
"then": "close:#c33",
"badge": true
"then": "close:#c33"
}
],
"iconSize": "40,40,bottom",
@ -61,7 +60,7 @@
"nl": "drinkbaar water",
"fr": "eau potable",
"gl": "auga potábel",
"de": "Trinkwasserstelle",
"de": "trinkwasser",
"it": "acqua potabile",
"ru": "питьевая вода",
"id": "air minum"
@ -99,8 +98,7 @@
"en": "This drinking water works",
"nl": "Deze drinkwaterfontein werkt",
"it": "La fontanella funziona",
"fr": "Cette fontaine fonctionne",
"de": "Diese Trinkwasserstelle funktioniert"
"fr": "Cette fontaine fonctionne"
}
},
{
@ -164,7 +162,7 @@
"en": "<a href='#{_closest_other_drinking_water_id}'>There is another drinking water fountain at {_closest_other_drinking_water_distance} meter</a>",
"nl": "<a href='#{_closest_other_drinking_water_id}'>Er bevindt zich een ander drinkwaterpunt op {_closest_other_drinking_water_distance} meter</a>",
"it": "<a href='#{_closest_other_drinking_water_id}'>Cè unaltra fontanella a {_closest_other_drinking_water_distance} metri</a>",
"de": "<a href='#{_closest_other_drinking_water_id}'>Eine weitere Trinkwasserstelle liegt {_closest_other_drinking_water_distance} Meter entfernt</a>",
"de": "<a href='#{_closest_other_drinking_water_id}'>Ein weiterer Trinkwasserbrunnen befindet sich in {_closest_other_drinking_water_distance} Meter</a>",
"fr": "<a href='#{_closest_other_drinking_water_id}'>Une autre source deau potable est à {_closest_other_drinking_water_distance} mètres a>"
},
"condition": "_closest_other_drinking_water_id~*"
@ -182,5 +180,27 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "pin:#6BC4F7;./assets/layers/drinking_water/drips.svg"
},
"iconBadges": [
{
"if": {
"or": [
"operational_status=broken",
"operational_status=closed"
]
},
"then": "close:#c33"
}
],
"iconSize": "40,40,bottom",
"location": [
"point"
]
}
]
}

View file

@ -38,8 +38,7 @@
"id": "wikipedia-etymology",
"question": {
"en": "What is the Wikidata-item that this object is named after?",
"nl": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
"de": "Was ist das Wikidata-Element, nach dem dieses Objekt benannt ist?"
"nl": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?"
},
"freeform": {
"key": "name:etymology:wikidata",
@ -72,8 +71,7 @@
},
"render": {
"en": "<h3>Wikipedia article of the name giver</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"nl": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"de": "<h3>Wikipedia Artikel zur Namensherkunft</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
"nl": "<h3>Wikipedia artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
},
"condition": "name:etymology!=unknown"
},
@ -89,8 +87,7 @@
"id": "simple etymology",
"question": {
"en": "What is this object named after?<br/><span class='subtle'>This might be written on the street name sign</span>",
"nl": "Naar wat is dit object vernoemd?<br/><span class='subtle'>Dit staat mogelijks vermeld op het straatnaambordje</subtle>",
"de": "Wonach ist dieses Objekt benannt?<br/><span class='subtle'>Das könnte auf einem Straßenschild stehen</span>"
"nl": "Naar wat is dit object vernoemd?<br/><span class='subtle'>Dit staat mogelijks vermeld op het straatnaambordje</subtle>"
},
"render": {
"en": "Named after {name:etymology}",
@ -105,8 +102,7 @@
"if": "name:etymology=unknown",
"then": {
"en": "The origin of this name is unknown in all literature",
"nl": "De oorsprong van deze naam is onbekend in de literatuur",
"de": "Der Ursprung dieses Namens ist in der gesamten Literatur unbekannt"
"nl": "De oorsprong van deze naam is onbekend in de literatuur"
}
}
],
@ -171,5 +167,48 @@
"then": "#fcca05aa"
}
]
}
},
"mapRendering": [
{
"icon": {
"render": "pin:#05d7fcaa;./assets/layers/etymology/logo.svg",
"mappings": [
{
"if": {
"and": [
"name:etymology=",
"name:etymology:wikidata="
]
},
"then": "pin:#fcca05aa;./assets/layers/etymology/logo.svg"
}
]
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "#05d7fcaa",
"mappings": [
{
"if": {
"and": [
"name:etymology=",
"name:etymology:wikidata="
]
},
"then": "#fcca05aa"
}
]
},
"width": {
"render": "8"
}
}
]
}

View file

@ -36,8 +36,7 @@
"iconOverlays": [
{
"if": "opening_hours~*",
"then": "isOpen",
"badge": true
"then": "isOpen"
},
{
"if": {
@ -48,8 +47,7 @@
},
"then": {
"render": "circle:white;./assets/themes/fritures/Vegetarian-mark.svg"
},
"badge": true
}
}
],
"label": {
@ -73,8 +71,7 @@
],
"description": {
"nl": "Een eetgegelegenheid waar je aan tafel wordt bediend",
"en": "A formal eating place with sit-down facilities selling full meals served by waiters",
"de": "Ein klassisches Speiselokal mit Sitzgelegenheiten, in dem vollständige Mahlzeiten von Kellnern serviert werden"
"en": "A formal eating place with sit-down facilities selling full meals served by waiters"
},
"preciseInput": {
"preferredBackground": "map"
@ -217,16 +214,14 @@
"if": "cuisine=pizza",
"then": {
"en": "This is a pizzeria",
"nl": "Dit is een pizzeria",
"de": "Dies ist eine Pizzeria"
"nl": "Dit is een pizzeria"
}
},
{
"if": "cuisine=friture",
"then": {
"en": "This is a friture",
"nl": "Dit is een frituur",
"de": "Dies ist eine Pommesbude"
"nl": "Dit is een frituur"
}
},
{
@ -349,8 +344,7 @@
{
"question": {
"nl": "Heeft deze eetgelegenheid een vegetarische optie?",
"en": "Does this restaurant have a vegetarian option?",
"de": "Gibt es im das Restaurant vegetarische Speisen?"
"en": "Does this restaurant have a vegetarian option?"
},
"mappings": [
{
@ -417,8 +411,7 @@
{
"question": {
"en": "Does this restaurant offer a halal menu?",
"nl": "Heeft dit restaurant halal opties?",
"de": "Gibt es im das Restaurant halal Speisen?"
"nl": "Heeft dit restaurant halal opties?"
},
"mappings": [
{
@ -549,8 +542,7 @@
"nl": "Als je je eigen container (bv. kookpot of kleine potjes voor saus) meeneemt, gebruikt de frituur deze dan om je bestelling in te doen?",
"fr": "Est-il proposé dutiliser ses propres contenants pour sa commande ?<br/>",
"en": "If you bring your own container (such as a cooking pot and small pots), is it used to package your order?<br/>",
"ja": "お客様が持参容器(調理用の鍋や小さな鍋など)をもってきた場合は、注文の梱包に使用されますか?<br/>",
"de": "Wenn Sie Ihr eigenes Behältnis mitbringen (z. B. einen Kochtopf und kleine Töpfe), wird es dann zum Verpacken Ihrer Bestellung verwendet?<br/>"
"ja": "お客様が持参容器(調理用の鍋や小さな鍋など)をもってきた場合は、注文の梱包に使用されますか?<br/>"
},
"mappings": [
{
@ -559,8 +551,7 @@
"nl": "Je mag je <b>eigen containers</b> meenemen om je bestelling in mee te nemen en zo minder afval te maken",
"fr": "Vous pouvez <b>apporter vos contenants</b> pour votre commande, limitant lusage de matériaux à usage unique et les déchets",
"en": "You can bring <b>your own containers</b> to get your order, saving on single-use packaging material and thus waste",
"ja": "<b>自分の容器</b>を持ってきて、注文を受け取ることができ、使い捨ての梱包材を節約して、無駄を省くことができます",
"de": "Sie können <b>ihre eigenen Behälter</b> mitbringen, um Ihre Bestellung zu erhalten, was Einwegverpackungsmaterial und damit Abfall spart"
"ja": "<b>自分の容器</b>を持ってきて、注文を受け取ることができ、使い捨ての梱包材を節約して、無駄を省くことができます"
}
},
{
@ -607,8 +598,7 @@
{
"question": {
"en": "Has a vegetarian menu",
"nl": "Heeft een vegetarisch menu",
"de": "Hat vegetarische Speisen"
"nl": "Heeft een vegetarisch menu"
},
"osmTags": {
"or": [
@ -645,8 +635,7 @@
{
"question": {
"en": "Has a halal menu",
"nl": "Heeft een halal menu",
"de": "Hat halal Speisen"
"nl": "Heeft een halal menu"
},
"osmTags": {
"or": [
@ -666,5 +655,55 @@
]
}
},
"allowMove": true
"allowMove": true,
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/food/restaurant.svg",
"mappings": [
{
"if": {
"and": [
"amenity=fast_food",
"cuisine=friture"
]
},
"then": "circle:white;./assets/layers/food/fries.svg"
},
{
"if": "amenity=fast_food",
"then": "circle:white;./assets/layers/food/fastfood.svg"
}
]
},
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
},
{
"if": {
"or": [
"diet:vegetarian=yes",
"diet:vegan=yes"
]
},
"then": {
"render": "circle:white;./assets/themes/fritures/Vegetarian-mark.svg"
}
}
],
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"location": [
"point"
]
}
]
}

View file

@ -84,7 +84,7 @@
"render": {
"en": "A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.",
"nl": "Een Witte Fiets (of Spookfiets) is een aandenken aan een fietser die bij een verkeersongeval om het leven kwam. Het gaat over een witgeschilderde fiets die geplaatst werd in de buurt van het ongeval.",
"de": "Ein <b>Geisterrad</b> ist ein weißes Fahrrad, dass zum Gedenken eines tödlich verunglückten Radfahrers vor Ort aufgestellt wurde.",
"de": "Ein <b>Geisterrad</b> ist ein Denkmal für einen Radfahrer, der bei einem Verkehrsunfall ums Leben kam, in Form eines weißen Fahrrades, das dauerhaft in der Nähe des Unfallortes aufgestellt wird.",
"it": "Una <b>bici fantasma</b> è il memoriale di un ciclista che è morto in un incidente stradale e che ha la forma di una bicicletta bianca piazzata in maniera stabile vicino al luogo dellincidente.",
"fr": "Un <b>vélo fantôme</b> est un monument commémoratif pour un cycliste décédé dans un accident de la route, sous la forme d'un vélo blanc placé en permanence près du lieu de l'accident."
}
@ -182,8 +182,7 @@
"en": "Placed on {start_date}",
"it": "Piazzata in data {start_date}",
"fr": "Placé le {start_date}",
"ru": "Установлен {start_date}",
"de": "Aufgestellt am {start_date}"
"ru": "Установлен {start_date}"
},
"freeform": {
"key": "start_date",
@ -204,5 +203,14 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": "./assets/layers/ghost_bike/ghost_bike.svg",
"iconSize": "40,40,bottom",
"location": [
"point"
]
}
]
}

View file

@ -0,0 +1,15 @@
{
"id": "gps_location",
"description": "Meta layer showing the current location of the user",
"minzoom": 0,
"source": {
"osmTags": "user:location=yes"
},
"mapRendering": [
{
"icon": "crosshair:#00f",
"iconSize": "40,40,center",
"location": "point"
}
]
}

View file

@ -51,5 +51,19 @@
"id": "grass-in-parks-reviews",
"render": "{reviews(name, landuse=grass )}"
}
],
"mapRendering": [
{
"icon": "./assets/themes/playgrounds/playground.svg",
"iconSize": "40,40,center",
"location": [
"point",
"centroid"
]
},
{
"color": "#0f0",
"width": "1"
}
]
}

View file

@ -5,13 +5,15 @@
"source": {
"osmTags": "user:home=yes"
},
"icon": {
"render": "circle:white;./assets/svg/home.svg"
},
"iconSize": {
"render": "20,20,center"
},
"color": {
"render": "#00f"
}
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/svg/home.svg"
},
"iconSize": {
"render": "20,20,center"
},
"location": "point"
}
]
}

View file

@ -68,5 +68,23 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/information_board/board.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "#00f"
}
}
]
}

View file

@ -0,0 +1,35 @@
{
"id": "left_right_style",
"description": "Special meta-style which will show one single line, either on the left or on the right depending on the id. This is used in the small popups with left_right roads",
"source": {
"osmTags": {
"or": [
"id=left",
"id=right"
]
}
},
"mapRendering": [
{
"width": 15,
"color": {
"render": "#ff000088",
"mappings": [
{
"if": "id=left",
"then": "#0000ff88"
}
]
},
"offset": {
"render": "-15",
"mappings": [
{
"if": "id=right",
"then": "15"
}
]
}
}
]
}

View file

@ -241,5 +241,55 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/map/map.svg",
"mappings": [
{
"if": {
"and": [
"map_source=OpenStreetMap",
"map_source:attribution=sticker"
]
},
"then": "./assets/layers/map/map-stickered.svg"
},
{
"if": {
"and": [
"map_source=OpenStreetMap",
"map_source:attribution=yes"
]
},
"then": "./assets/layers/map/osm-logo-white-bg.svg"
},
{
"if": {
"and": [
"map_source=OpenStreetMap"
]
},
"then": "./assets/layers/map/osm-logo-buggy-attr.svg"
}
]
},
"iconSize": {
"render": "50,50,center"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -297,8 +297,7 @@
"nl": "Wie is de conservator van dit gebied?<br/><span class='subtle'>Respecteer privacy - geef deze naam enkel als die duidelijk is gepubliceerd",
"en": "Whom is the curator of this nature reserve?<br/><span class='subtle'>Respect privacy - only fill out a name if this is widely published",
"it": "Chi è il curatore di questa riserva naturale?<br/><span class='subtle'>Rispetta la privacy (scrivi il nome solo se questo è noto pubblicamente)",
"fr": "Qui est en charge de la conservation de la réserve ?<br/><span class='subtle'>À ne remplir seulement que si le nom est diffusé au public",
"de": "Wer ist der Verwalter dieses Naturschutzgebietes?<br/><span class='subtle'>Respektieren Sie die Privatsphäre - geben Sie nur dann einen Namen an, wenn dieser allgemein bekannt ist"
"fr": "Qui est en charge de la conservation de la réserve ?<br/><span class='subtle'>À ne remplir seulement que si le nom est diffusé au public"
},
"render": {
"nl": "{curator} is de beheerder van dit gebied",
@ -382,8 +381,7 @@
"en": "Surface area: {_surface:ha}Ha",
"nl": "Totale oppervlakte: {_surface:ha}Ha",
"it": "Area: {_surface:ha} ha",
"fr": "Superficie : {_surface:ha}&nbsp;ha",
"de": "Grundfläche: {_surface:ha}ha"
"fr": "Superficie : {_surface:ha}&nbsp;ha"
},
"mappings": [
{
@ -463,5 +461,27 @@
}
]
}
],
"mapRendering": [
{
"icon": {
"render": "./assets/layers/nature_reserve/nature_reserve.svg"
},
"iconSize": {
"render": "50,50,center"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#3c3"
},
"width": {
"render": "1"
}
}
]
}

View file

@ -96,8 +96,7 @@
{
"question": {
"en": "How much does one have to pay to enter this tower?",
"nl": "Hoeveel moet men betalen om deze toren te bezoeken?",
"de": "Was kostet der Zugang zu diesem Turm?"
"nl": "Hoeveel moet men betalen om deze toren te bezoeken?"
},
"render": {
"en": "Visiting this tower costs <b>{charge}</b>",
@ -205,5 +204,18 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/observation_tower/Tower_observation.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
}
]
}

View file

@ -94,5 +94,18 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/parking/parking.svg"
},
"iconSize": {
"render": "36,36,center"
},
"location": [
"point"
]
}
]
}

View file

@ -115,5 +115,18 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "circle:#e6cf39;./assets/layers/picnic_table/picnic_table.svg"
},
"iconSize": {
"render": "35,35,center"
},
"location": [
"point"
]
}
]
}

View file

@ -116,5 +116,27 @@
"description": "Een zone in het bos, duidelijk gemarkeerd als speelzone met de overeenkomstige borden.<br/><img src='./assets/layers/play_forest/icon.svg'/>"
}
],
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "./assets/layers/play_forest/icon.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#007055"
},
"width": {
"render": "2"
}
}
]
}

View file

@ -213,8 +213,7 @@
"en": "What is the minimum age required to access this playground?",
"it": "Qual è letà minima per accedere a questo parco giochi?",
"fr": "Quel est l'âge minimal requis pour accéder à ce terrain de jeux ?",
"ru": "С какого возраста доступна эта детская площадка?",
"de": "Ab welchem Alter dürfen Kinder auf diesem Spielplatz spielen?"
"ru": "С какого возраста доступна эта детская площадка?"
},
"freeform": {
"key": "min_age",
@ -235,8 +234,7 @@
"nl": "Wat is de maximaal toegestane leeftijd voor deze speeltuin?",
"en": "What is the maximum age allowed to access this playground?",
"it": "Qual è letà massima per accedere a questo parco giochi?",
"fr": "Quel est lâge maximum autorisé pour utiliser laire de jeu ?",
"de": "Bis zu welchem Alter dürfen Kinder auf diesem Spielplatz spielen?"
"fr": "Quel est lâge maximum autorisé pour utiliser laire de jeu ?"
},
"freeform": {
"key": "max_age",
@ -357,8 +355,7 @@
"nl": "Wie kan men bellen indien er problemen zijn met de speeltuin?",
"en": "What is the phone number of the playground maintainer?",
"fr": "Quel est le numéro de téléphone du responsable du terrain de jeux ?",
"it": "Qual è il numero di telefono del gestore del campetto?",
"de": "Wie lautet die Telefonnummer vom Betreiber des Spielplatzes?"
"it": "Qual è il numero di telefono del gestore del campetto?"
},
"render": {
"nl": "De bevoegde dienst kan getelefoneerd worden via <a href='tel:{phone}'>{phone}</a>",
@ -491,8 +488,7 @@
"opening_hours~*"
]
},
"then": "isOpen",
"badge": true
"then": "isOpen"
}
],
"width": {
@ -545,5 +541,56 @@
"leisure="
]
}
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/playgrounds/playground.svg"
},
"iconBadges": [
{
"if": {
"and": [
"opening_hours!=24/7",
"opening_hours~*"
]
},
"then": "isOpen"
}
],
"iconSize": {
"render": "40,40,center",
"mappings": [
{
"if": "id~node/.*",
"then": "40,40,center"
},
{
"if": "_size_classification=small",
"then": "25,25,center"
},
{
"if": "_size_classification=medium",
"then": "40,40,center"
},
{
"if": "_size_classification=large",
"then": "60,60,center"
}
]
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#5dbaa9"
},
"width": {
"render": "1"
}
}
]
}

View file

@ -45,7 +45,7 @@
]
},
"icon": {
"render": "./assets/themes/bookcases/bookcase.svg;"
"render": "./assets/themes/bookcases/bookcase.svg"
},
"label": {
"mappings": [
@ -486,5 +486,33 @@
}
]
}
]
],
"mapRendering": [
{
"icon": {
"render": "./assets/themes/bookcases/bookcase.svg"
},
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#0000ff"
},
"width": {
"render": "8"
}
}
],
"allowMove": true
}

View file

@ -72,8 +72,7 @@
"fr": "Qu'est-ce que le nom de ce magasin?",
"ru": "Как называется этот магазин?",
"ja": "このお店の名前は何ですか?",
"nl": "Wat is de naam van deze winkel?",
"de": "Wie ist der Name dieses Geschäfts?"
"nl": "Wat is de naam van deze winkel?"
},
"render": "This shop is called <i>{name}</i>",
"freeform": {
@ -215,8 +214,7 @@
"fr": "Quel est le numéro de téléphone ?",
"ja": "電話番号は何番ですか?",
"nl": "Wat is het telefoonnummer?",
"ru": "Какой телефон?",
"de": "Wie ist die Telefonnummer?"
"ru": "Какой телефон?"
},
"freeform": {
"key": "phone",
@ -261,8 +259,7 @@
"fr": "Quelle est l'adresse électronique de ce magasin ?",
"ja": "このお店のメールアドレスは何ですか?",
"ru": "Каков адрес электронной почты этого магазина?",
"nl": "Wat is het e-mailadres van deze winkel?",
"de": "Wie ist die Email-Adresse dieses Geschäfts?"
"nl": "Wat is het e-mailadres van deze winkel?"
},
"freeform": {
"key": "email",
@ -282,8 +279,7 @@
"fr": "Quels sont les horaires d'ouverture de ce magasin ?",
"ja": "この店の営業時間は何時から何時までですか?",
"nl": "Wat zijn de openingsuren van deze winkel?",
"ru": "Каковы часы работы этого магазина?",
"de": "Wie sind die Öffnungszeiten dieses Geschäfts?"
"ru": "Каковы часы работы этого магазина?"
},
"freeform": {
"key": "opening_hours",
@ -300,8 +296,7 @@
"iconOverlays": [
{
"if": "opening_hours~*",
"then": "isOpen",
"badge": true
"then": "isOpen"
}
],
"width": {
@ -323,8 +318,7 @@
"fr": "Magasin",
"ru": "Магазин",
"ja": "店",
"nl": "Winkel",
"de": "Geschäft"
"nl": "Winkel"
},
"description": {
"en": "Add a new shop",
@ -345,5 +339,33 @@
]
}
},
"allowMove": true
"allowMove": true,
"mapRendering": [
{
"icon": {
"render": "./assets/themes/shops/shop.svg"
},
"iconBadges": [
{
"if": "opening_hours~*",
"then": "isOpen"
}
],
"iconSize": {
"render": "40,40,center"
},
"location": [
"point",
"centroid"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -116,8 +116,7 @@
"en": "The surface is <b>{surface}</b>",
"ru": "Поверхность - <b>{surface}</b>",
"fr": "La surface en <b>{surface}</b>",
"it": "La superficie è <b>{surface}</b>",
"de": "Die Oberfläche ist <b>{surface}</b>"
"it": "La superficie è <b>{surface}</b>"
},
"freeform": {
"key": "surface"
@ -130,8 +129,7 @@
"en": "The surface is <b>grass</b>",
"ru": "Поверхность - <b>трава</b>",
"fr": "La surface est en <b>herbe</b>",
"it": "La superficie è <b>erba</b>",
"de": "Die Oberfläche ist <b>Gras</b>"
"it": "La superficie è <b>erba</b>"
}
},
{
@ -141,8 +139,7 @@
"en": "The surface is <b>ground</b>",
"ru": "Поверхность - <b>земля</b>",
"fr": "La surface est en <b>terre</b>",
"it": "La superficie è <b>terreno</b>",
"de": "Die Oberfläche ist <b>Erde</b>"
"it": "La superficie è <b>terreno</b>"
}
},
{
@ -151,8 +148,7 @@
"nl": "De ondergrond is <b>onverhard</b>",
"en": "The surface is <b>unpaved</b>",
"fr": "La surface est <b>non pavée</b>",
"it": "La superficie è <b>non pavimentata</b>",
"de": "Die Oberfläche ist <b>ohne festen Belag</b>"
"it": "La superficie è <b>non pavimentata</b>"
},
"hideInAnswer": true
},
@ -163,8 +159,7 @@
"en": "The surface is <b>sand</b>",
"ru": "Поверхность - <b>песок</b>",
"fr": "La surface est en <b>sable</b>",
"it": "La superficie è <b>sabbia</b>",
"de": "Die Oberfläche ist <b>Sand</b>"
"it": "La superficie è <b>sabbia</b>"
}
},
{
@ -174,8 +169,7 @@
"en": "The surface is <b>paving stones</b>",
"ru": "Поверхность - <b>брусчатка</b>",
"it": "La superficie è <b>pietre irregolari</b>",
"fr": "La surface est en <b>pierres pavées</b>",
"de": "Die Oberfläche ist aus <b>Pflastersteinen</b>"
"fr": "La surface est en <b>pierres pavées</b>"
}
},
{
@ -185,8 +179,7 @@
"en": "The surface is <b>asphalt</b>",
"ru": "Поверхность - <b>асфальт</b>",
"it": "La superficie è <b>asfalto</b>",
"fr": "La surface est en <b>bitume</b>",
"de": "Die Oberfläche ist <b>Asphalt</b>"
"fr": "La surface est en <b>bitume</b>"
}
},
{
@ -196,8 +189,7 @@
"en": "The surface is <b>concrete</b>",
"ru": "Поверхность - <b>бетон</b>",
"fr": "La surface est en <b>béton</b>",
"it": "La superficie è <b>calcestruzzo</b>",
"de": "Die Oberfläche ist <b>Beton</b>"
"it": "La superficie è <b>calcestruzzo</b>"
}
},
{
@ -206,8 +198,7 @@
"nl": "De ondergrond is <b>verhard</b>",
"en": "The surface is <b>paved</b>",
"fr": "La surface est <b>pavée</b>",
"it": "La superficie è <b>pavimentata</b>",
"de": "Die Oberfläche ist <b>gepflastert</b>"
"it": "La superficie è <b>pavimentata</b>"
},
"hideInAnswer": true
}
@ -261,5 +252,47 @@
"color": {
"render": "#eaba2a"
},
"presets": []
"presets": [],
"mapRendering": [
{
"icon": "./assets/layers/slow_roads/slow_road.svg",
"location": [
"point"
]
},
{
"color": {
"render": "#eaba2a"
},
"width": {
"render": "7"
},
"dashArray": {
"render": "",
"mappings": [
{
"if": "highway=cycleway",
"then": ""
},
{
"if": "highway=path",
"then": "0 12"
},
{
"if": {
"or": [
"highway=footway",
"highway=pedestrian"
]
},
"then": "12 18"
},
{
"if": "highway=living_street",
"then": "12 12 0 12"
}
]
}
}
]
}

View file

@ -160,8 +160,7 @@
"fr": "De quelle surface est fait ce terrain de sport ?",
"en": "Which is the surface of this sport pitch?",
"it": "Qual è la superficie di questo campo sportivo?",
"ru": "Какое покрытие на этой спортивной площадке?",
"de": "Was ist die Oberfläche dieses Sportplatzes?"
"ru": "Какое покрытие на этой спортивной площадке?"
},
"render": {
"nl": "De ondergrond is <b>{surface}</b>",
@ -262,8 +261,7 @@
"fr": "Accès limité (par exemple uniquement sur réservation, à certains horaires…)",
"en": "Limited access (e.g. only with an appointment, during certain hours, ...)",
"it": "Accesso limitato (p.es. solo con prenotazione, in certi orari, ...)",
"ru": "Ограниченный доступ (напр., только по записи, в определённые часы, ...)",
"de": "Eingeschränkter Zugang (z. B. nur mit Termin, zu bestimmten Zeiten, ...)"
"ru": "Ограниченный доступ (напр., только по записи, в определённые часы, ...)"
}
},
{
@ -296,8 +294,7 @@
"fr": "Doit-on réserver pour utiliser ce terrain de sport ?",
"en": "Does one have to make an appointment to use this sport pitch?",
"it": "È necessario prenotarsi per usare questo campo sportivo?",
"ru": "Нужна ли предварительная запись для доступа на эту спортивную площадку?",
"de": "Muss man einen Termin vereinbaren, um diesen Sportplatz zu benutzen?"
"ru": "Нужна ли предварительная запись для доступа на эту спортивную площадку?"
},
"condition": {
"and": [
@ -313,8 +310,7 @@
"nl": "Reserveren is verplicht om gebruik te maken van dit sportterrein",
"fr": "Il est obligatoire de réserver pour utiliser ce terrain de sport",
"en": "Making an appointment is obligatory to use this sport pitch",
"it": "La prenotazione è obbligatoria per usare questo campo sportivo",
"de": "Für die Nutzung des Sportplatzes ist eine Voranmeldung erforderlich"
"it": "La prenotazione è obbligatoria per usare questo campo sportivo"
}
},
{
@ -324,8 +320,7 @@
"fr": "Il est recommendé de réserver pour utiliser ce terrain de sport",
"en": "Making an appointment is recommended when using this sport pitch",
"it": "La prenotazione è consigliata per usare questo campo sportivo",
"ru": "Желательна предварительная запись для доступа на эту спортивную площадку",
"de": "Für die Nutzung des Sportplatzes wird eine Voranmeldung empfohlen"
"ru": "Желательна предварительная запись для доступа на эту спортивную площадку"
}
},
{
@ -335,8 +330,7 @@
"fr": "Il est possible de réserver, mais ce n'est pas nécéssaire pour utiliser ce terrain de sport",
"en": "Making an appointment is possible, but not necessary to use this sport pitch",
"it": "La prenotazione è consentita, ma non è obbligatoria per usare questo campo sportivo",
"ru": "Предварительная запись для доступа на эту спортивную площадку возможна, но не обязательна",
"de": "Eine Voranmeldung ist möglich, aber nicht notwendig, um diesen Sportplatz zu nutzen"
"ru": "Предварительная запись для доступа на эту спортивную площадку возможна, но не обязательна"
}
},
{
@ -357,8 +351,7 @@
"nl": "Wat is het telefoonnummer van de bevoegde dienst of uitbater?",
"fr": "Quel est le numéro de téléphone du gérant ?",
"en": "What is the phone number of the operator?",
"it": "Qual è il numero di telefono del gestore?",
"de": "Wie ist die Telefonnummer des Betreibers?"
"it": "Qual è il numero di telefono del gestore?"
},
"freeform": {
"key": "phone",
@ -372,8 +365,7 @@
"nl": "Wat is het email-adres van de bevoegde dienst of uitbater?",
"fr": "Quelle est l'adresse courriel du gérant ?",
"en": "What is the email address of the operator?",
"it": "Qual è l'indirizzo email del gestore?",
"de": "Wie ist die Email-Adresse des Betreibers?"
"it": "Qual è l'indirizzo email del gestore?"
},
"freeform": {
"key": "email",
@ -452,8 +444,7 @@
"opening_hours~*"
]
},
"then": "isOpen",
"badge": true
"then": "isOpen"
},
{
"if": {
@ -463,8 +454,7 @@
"access=no"
]
},
"then": "circle:white;./assets/layers/sport_pitch/lock.svg",
"badge": true
"then": "circle:white;./assets/layers/sport_pitch/lock.svg"
}
],
"width": {
@ -524,5 +514,76 @@
"fixme=Toegevoegd met MapComplete, geometry nog uit te tekenen"
]
}
],
"mapRendering": [
{
"icon": {
"render": "circle:white;./assets/layers/sport_pitch/sport_pitch.svg",
"mappings": [
{
"if": {
"or": [
"sport=baseball",
"sport=basketball",
"sport=beachvolleyball",
"sport=boules",
"sport=skateboard",
"sport=soccer",
"sport=table_tennis",
"sport=tennis",
"sport=volleyball"
]
},
"then": "circle:white;./assets/layers/sport_pitch/{sport}.svg"
}
]
},
"iconBadges": [
{
"if": {
"and": [
"opening_hours!=24/7",
"opening_hours~*"
]
},
"then": "isOpen"
},
{
"if": {
"or": [
"access=customers",
"access=private",
"access=no"
]
},
"then": "circle:white;./assets/layers/sport_pitch/lock.svg"
}
],
"iconSize": {
"render": "25,25,center",
"mappings": [
{
"if": {
"or": [
"_size_classification=medium",
"id~node/.*"
]
},
"then": "40,40,center"
},
{
"if": "_size_classification=small",
"then": "25,25,center"
},
{
"if": "_size_classification=large",
"then": "50,50,center"
}
]
},
"location": [
"point"
]
}
]
}

View file

@ -97,8 +97,7 @@
"en": "In which geographical direction does this camera film?",
"nl": "In welke geografische richting filmt deze camera?",
"fr": "Dans quelle direction géographique cette caméra filme-t-elle ?",
"it": "In quale direzione geografica punta questa videocamera?",
"de": "In welche Himmelsrichtung ist diese Kamera ausgerichtet?"
"it": "In quale direzione geografica punta questa videocamera?"
},
"render": {
"en": "Films to a compass heading of {camera:direction}",
@ -167,8 +166,7 @@
"en": "What kind of surveillance is this camera",
"nl": "Wat soort bewaking wordt hier uitgevoerd?",
"fr": "Quel genre de surveillance est cette caméra",
"it": "Che cosa sorveglia questa videocamera",
"de": "Um was für eine Überwachungskamera handelt es sich"
"it": "Che cosa sorveglia questa videocamera"
},
"mappings": [
{
@ -194,8 +192,7 @@
"en": "An outdoor, yet private area is surveilled (e.g. a parking lot, a fuel station, courtyard, entrance, private driveway, ...)",
"nl": "Een buitenruimte met privaat karakter (zoals een privé-oprit, een parking, tankstation, ...)",
"fr": "Une zone extérieure, mais privée, est surveillée (par exemple, un parking, une station-service, une cour, une entrée, une allée privée, etc.)",
"it": "Sorveglia un'area esterna di proprietà privata (un parcheggio, una stazione di servizio, un cortile, un ingresso, un vialetto privato, ...)",
"de": "Ein privater Außenbereich wird überwacht (z. B. ein Parkplatz, eine Tankstelle, ein Innenhof, ein Eingang, eine private Einfahrt, ...)"
"it": "Sorveglia un'area esterna di proprietà privata (un parcheggio, una stazione di servizio, un cortile, un ingresso, un vialetto privato, ...)"
}
},
{
@ -208,8 +205,7 @@
"nl": "Een private binnenruimte wordt bewaakt, bv. een winkel, een parkeergarage, ...",
"en": "A private indoor area is surveilled, e.g. a shop, a private underground parking, ...",
"fr": "Une zone intérieure privée est surveillée, par exemple un magasin, un parking souterrain privé…",
"it": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, ...",
"de": "Ein privater Innenbereich wird überwacht, z. B. ein Geschäft, eine private Tiefgarage, ..."
"it": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, ..."
}
}
],
@ -220,8 +216,7 @@
"en": "Is the public space surveilled by this camera an indoor or outdoor space?",
"nl": "Bevindt de bewaakte publieke ruimte camera zich binnen of buiten?",
"fr": "L'espace public surveillé par cette caméra est-il un espace intérieur ou extérieur ?",
"it": "Lo spazio pubblico sorvegliato da questa videocamera è all'aperto o al chiuso?",
"de": "Handelt es sich bei dem von dieser Kamera überwachten öffentlichen Raum um einen Innen- oder Außenbereich?"
"it": "Lo spazio pubblico sorvegliato da questa videocamera è all'aperto o al chiuso?"
},
"condition": {
"and": [
@ -424,8 +419,7 @@
"en": "This camera is placed against a wall",
"nl": "Deze camera hangt aan een muur",
"fr": "Cette caméra est placée contre un mur",
"it": "Questa telecamera è posizionata contro un muro",
"de": "Diese Kamera ist an einer Wand montiert"
"it": "Questa telecamera è posizionata contro un muro"
}
},
{
@ -434,8 +428,7 @@
"en": "This camera is placed one a pole",
"nl": "Deze camera staat op een paal",
"fr": "Cette caméra est placée sur un poteau",
"it": "Questa telecamera è posizionata su un palo",
"de": "Diese Kamera ist an einer Stange montiert"
"it": "Questa telecamera è posizionata su un palo"
}
},
{
@ -444,8 +437,7 @@
"en": "This camera is placed on the ceiling",
"nl": "Deze camera hangt aan het plafond",
"fr": "Cette caméra est placée au plafond",
"it": "Questa telecamera è posizionata sul soffitto",
"de": "Diese Kamera ist an der Decke montiert"
"it": "Questa telecamera è posizionata sul soffitto"
}
}
],
@ -511,5 +503,65 @@
"title": "Surveillance camera"
}
],
"wayHandling": 2
"wayHandling": 2,
"mapRendering": [
{
"icon": {
"render": "./assets/themes/surveillance/logo.svg",
"mappings": [
{
"if": "camera:type=dome",
"then": "./assets/themes/surveillance/dome.svg"
},
{
"if": "_direction:leftright=right",
"then": "./assets/themes/surveillance/cam_right.svg"
},
{
"if": "_direction:leftright=left",
"then": "./assets/themes/surveillance/cam_left.svg"
}
]
},
"iconSize": {
"mappings": [
{
"if": "camera:type=dome",
"then": "50,50,center"
},
{
"if": "_direction:leftright~*",
"then": "100,35,center"
}
],
"render": "50,50,center"
},
"location": [
"point",
"centroid"
],
"rotation": {
"#": "Note: {camera:direction} is substituted by a number, giving the string 'calc(123deg + 90deg)' ; it is this string that is used as css property, which interprets the calc",
"render": "calc({_direction:numerical}deg + 90deg)",
"mappings": [
{
"if": "camera:type=dome",
"then": "0"
},
{
"if": "_direction:leftright=right",
"then": "calc({_direction:numerical}deg - 90deg)"
}
]
}
},
{
"color": {
"render": "#f00"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -412,24 +412,21 @@
"id": "toilet-handwashing",
"question": {
"en": "Do these toilets have a sink to wash your hands?",
"nl": "Hebben deze toiletten een lavabo om de handen te wassen?",
"de": "Verfügt diese Toilette über ein Waschbecken?"
"nl": "Hebben deze toiletten een lavabo om de handen te wassen?"
},
"mappings": [
{
"if": "toilets:handwashing=yes",
"then": {
"en": "This toilets have a sink to wash your hands",
"nl": "Deze toiletten hebben een lavabo waar men de handen kan wassen",
"de": "Diese Toilette verfügt über ein Waschbecken"
"nl": "Deze toiletten hebben een lavabo waar men de handen kan wassen"
}
},
{
"if": "toilets:handwashing=no",
"then": {
"en": "This toilets <b>don't</b> have a sink to wash your hands",
"nl": "Deze toiletten hebben <b>geen</b> lavabo waar men de handen kan wassen",
"de": "Diese Toilette verfügt über <b>kein</b> Waschbecken"
"nl": "Deze toiletten hebben <b>geen</b> lavabo waar men de handen kan wassen"
}
}
]
@ -438,8 +435,7 @@
"id": "toilet-has-paper",
"question": {
"en": "Does one have to bring their own toilet paper to this toilet?",
"nl": "Moet je je eigen toiletpappier meenemen naar deze toilet?",
"de": "Muss man für diese Toilette sein eigenes Toilettenpapier mitbringen?"
"nl": "Moet je je eigen toiletpappier meenemen naar deze toilet?"
},
"mappings": [
{
@ -453,8 +449,7 @@
"if": "toilets:paper_supplied=no",
"then": {
"en": "You have to bring your own toilet paper to this toilet",
"nl": "Je moet je eigen toiletpapier meebrengen naar deze toilet",
"de": "Für diese Toilette müssen Sie Ihr eigenes Toilettenpapier mitbringen"
"nl": "Je moet je eigen toiletpapier meebrengen naar deze toilet"
}
}
]
@ -519,5 +514,30 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/toilet/toilets.svg",
"mappings": [
{
"if": "wheelchair=yes",
"then": "circle:white;./assets/layers/toilet/wheelchair.svg"
},
{
"if": {
"or": [
"toilets:position=urinals",
"toilets:position=urinal"
]
},
"then": "./assets/layers/toilet/urinal.svg"
}
]
},
"location": [
"point"
]
}
]
}

View file

@ -40,8 +40,7 @@
"id": "trail-length",
"render": {
"en": "The trail is {_length:km} kilometers long",
"nl": "Deze wandeling is {_length:km} kilometer lang",
"de": "Der Wanderweg ist {_length:km} Kilometer lang"
"nl": "Deze wandeling is {_length:km} kilometer lang"
}
},
{
@ -107,32 +106,28 @@
"if": "colour=blue",
"then": {
"nl": "Blauwe wandeling",
"en": "Blue trail",
"de": "Blauer Weg"
"en": "Blue trail"
}
},
{
"if": "colour=red",
"then": {
"nl": "Rode wandeling",
"en": "Red trail",
"de": "Roter Weg"
"en": "Red trail"
}
},
{
"if": "colour=green",
"then": {
"nl": "Groene wandeling",
"en": "Green trail",
"de": "Grüner Weg"
"en": "Green trail"
}
},
{
"if": "colour=yellow",
"then": {
"nl": "Gele wandeling",
"en": "Yellow trail",
"de": "Gelber Weg"
"en": "Yellow trail"
}
}
],
@ -213,5 +208,45 @@
},
"dashArray": {
"render": "5 5"
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/trail/trail.svg",
"mappings": [
{
"if": "wheelchair=yes",
"then": "./assets/layers/trail/wheelchair.svg"
},
{
"if": "pushchair=yes",
"then": "./assets/layers/trail/pushchair.svg"
}
]
},
"iconSize": {
"render": "35,35,center"
},
"location": [
"point"
]
},
{
"color": {
"render": "#335D9F",
"mappings": [
{
"if": "colour~*",
"then": "{colour}"
}
]
},
"width": {
"render": "3"
},
"dashArray": {
"render": "5 5"
}
}
]
}

View file

@ -82,8 +82,7 @@
"nl": "Is dit een naald- of loofboom?",
"en": "Is this a broadleaved or needleleaved tree?",
"it": "Si tratta di un albero latifoglia o aghifoglia?",
"fr": "Cet arbre est-il un feuillu ou un résineux ?",
"de": "Ist dies ein Laub- oder Nadelbaum?"
"fr": "Cet arbre est-il un feuillu ou un résineux ?"
},
"mappings": [
{
@ -137,8 +136,7 @@
"nl": "Hoe significant is deze boom? Kies het eerste antwoord dat van toepassing is.",
"en": "How significant is this tree? Choose the first answer that applies.",
"it": "Quanto significativo è questo albero? Scegli la prima risposta che corrisponde.",
"fr": "Quelle est l'importance de cet arbre ? Choisissez la première réponse qui s'applique.",
"de": "Wie bedeutsam ist dieser Baum? Wählen Sie die erste Antwort, die zutrifft."
"fr": "Quelle est l'importance de cet arbre ? Choisissez la première réponse qui s'applique."
},
"mappings": [
{
@ -151,8 +149,7 @@
"nl": "De boom valt op door zijn grootte of prominente locatie. Hij is nuttig voor navigatie.",
"en": "The tree is remarkable due to its size or prominent location. It is useful for navigation.",
"it": "È un albero notevole per le sue dimensioni o per la posizione prominente. È utile alla navigazione.",
"fr": "L'arbre est remarquable en raison de sa taille ou de son emplacement proéminent. Il est utile pour la navigation.",
"de": "Der Baum ist aufgrund seiner Größe oder seiner markanten Lage bedeutsam. Er ist nützlich zur Orientierung."
"fr": "L'arbre est remarquable en raison de sa taille ou de son emplacement proéminent. Il est utile pour la navigation."
}
},
{
@ -165,8 +162,7 @@
"nl": "De boom is een natuurlijk monument, bijvoorbeeld doordat hij bijzonder oud of van een waardevolle soort is.",
"en": "The tree is a natural monument, e.g. because it is especially old, or of a valuable species.",
"it": "Lalbero è un monumento naturale, ad esempio perché specialmente antico o appartenente a specie importanti.",
"fr": "Cet arbre est un monument naturel (ex : âge, espèce, etc…)",
"de": "Der Baum ist ein Naturdenkmal, z. B. weil er besonders alt ist oder zu einer wertvollen Art gehört."
"fr": "Cet arbre est un monument naturel (ex : âge, espèce, etc…)"
}
},
{
@ -179,8 +175,7 @@
"nl": "De boom wordt voor landbouwdoeleinden gebruikt, bijvoorbeeld in een boomgaard.",
"en": "The tree is used for agricultural purposes, e.g. in an orchard.",
"it": "Lalbero è usato per scopi agricoli, ad esempio in un frutteto.",
"fr": "Cet arbre est utilisé à but dagriculture (ex : dans un verger)",
"de": "Der Baum wird für landwirtschaftliche Zwecke genutzt, z. B. in einer Obstplantage."
"fr": "Cet arbre est utilisé à but dagriculture (ex : dans un verger)"
}
},
{
@ -193,8 +188,7 @@
"nl": "De boom staat in een park of dergelijke (begraafplaats, schoolterrein, …).",
"en": "The tree is in a park or similar (cemetery, school grounds, …).",
"it": "Lalbero è in un parco o qualcosa di simile (cimitero, aree didattiche, etc.).",
"fr": "Cet arbre est dans un parc ou une aire similaire (ex : cimetière, cour décole, …).",
"de": "Der Baum steht in einem Park oder ähnlichem (Friedhof, Schulgelände, ...)."
"fr": "Cet arbre est dans un parc ou une aire similaire (ex : cimetière, cour décole, …)."
}
},
{
@ -220,8 +214,7 @@
"nl": "Dit is een laanboom.",
"en": "This is a tree along an avenue.",
"it": "Fa parte di un viale alberato.",
"fr": "C'est un arbre le long d'une avenue.",
"de": "Dieser Baum steht entlang einer Straße."
"fr": "C'est un arbre le long d'une avenue."
}
},
{
@ -247,8 +240,7 @@
"nl": "De boom staat buiten een woonkern.",
"en": "The tree is outside of an urban area.",
"it": "Lalbero si trova fuori dallarea urbana.",
"fr": "Cet arbre est en zone rurale.",
"de": "Dieser Baum steht außerhalb eines städtischen Gebiets."
"fr": "Cet arbre est en zone rurale."
}
}
]
@ -275,8 +267,7 @@
"en": "Deciduous: the tree loses its leaves for some time of the year.",
"it": "Caduco: lalbero perde le sue foglie per un periodo dellanno.",
"ru": "Листопадное: у дерева опадают листья в определённое время года.",
"fr": "Caduc : larbre perd son feuillage une partie de lannée.",
"de": "Laubabwerfend: Der Baum verliert für eine gewisse Zeit des Jahres seine Blätter."
"fr": "Caduc : larbre perd son feuillage une partie de lannée."
}
},
{
@ -373,8 +364,7 @@
"nl": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Erkend als houtig erfgoed door Onroerend Erfgoed Vlaanderen",
"en": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Registered as heritage by <i>Onroerend Erfgoed</i> Flanders",
"it": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/>Registrato come patrimonio da <i>Onroerend Erfgoed</i> Flanders",
"fr": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Fait partie du patrimoine par <i>Onroerend Erfgoed</i>",
"de": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Als Denkmal registriert von der <i>Onroerend Erfgoed</i> Flandern"
"fr": "<img src=\"./assets/layers/tree_node/Onroerend_Erfgoed_logo_without_text.svg\" style=\"width:0.85em;height:1em;vertical-align:middle\" alt=\"\"/> Fait partie du patrimoine par <i>Onroerend Erfgoed</i>"
}
},
{
@ -388,8 +378,7 @@
"nl": "Erkend als natuurlijk erfgoed door Directie Cultureel Erfgoed Brussel",
"en": "Registered as heritage by <i>Direction du Patrimoine culturel</i> Brussels",
"it": "Registrato come patrimonio da <i>Direction du Patrimoine culturel</i> di Bruxelles",
"fr": "Enregistré comme patrimoine par la <i>Direction du Patrimoine culturel</i> Bruxelles",
"de": "Als Denkmal registriert von der <i>Direction du Patrimoine culturel</i> Brüssel"
"fr": "Enregistré comme patrimoine par la <i>Direction du Patrimoine culturel</i> Bruxelles"
}
},
{
@ -455,8 +444,7 @@
"nl": "Wat is het ID uitgegeven door Onroerend Erfgoed Vlaanderen?",
"en": "What is the ID issued by Onroerend Erfgoed Flanders?",
"it": "Qual è lID rilasciato da Onroerend Erfgoed Flanders?",
"fr": "Quel est son identifiant donné par Onroerend Erfgoed ?",
"de": "Wie lautet die Kennung der Onroerend Erfgoed Flanders?"
"fr": "Quel est son identifiant donné par Onroerend Erfgoed ?"
},
"freeform": {
"key": "ref:OnroerendErfgoed",
@ -482,8 +470,7 @@
"nl": "Wat is het Wikidata-ID van deze boom?",
"en": "What is the Wikidata ID for this tree?",
"it": "Qual è lID Wikidata per questo albero?",
"fr": "Quel est l'identifiant Wikidata de cet arbre ?",
"de": "Was ist das passende Wikidata Element zu diesem Baum?"
"fr": "Quel est l'identifiant Wikidata de cet arbre ?"
},
"freeform": {
"key": "wikidata",
@ -612,5 +599,36 @@
},
"deletion": {
"minNeededChangesets": 5
}
},
"mapRendering": [
{
"icon": {
"render": "circle:#ffffff;./assets/themes/trees/unknown.svg",
"mappings": [
{
"if": {
"and": [
"leaf_type=broadleaved"
]
},
"then": "circle:#ffffff;./assets/themes/trees/broadleaved.svg"
},
{
"if": {
"and": [
"leaf_type=needleleaved"
]
},
"then": "circle:#ffffff;./assets/themes/trees/needleleaved.svg"
}
]
},
"iconSize": {
"render": "40,40,bottom"
},
"location": [
"point"
]
}
]
}

View file

@ -0,0 +1,12 @@
{
"id": "type_node",
"description": "This is a special meta_layer which exports _every_ point in OSM. This only works if zoomed below the point that the full tile is loaded (and not loaded via Overpass). Note that this point will also contain a property `parent_ways` which contains all the ways this node is part of as a list",
"minzoom": 18,
"source": {
"osmTags": "id~node/.*"
},
"mapRendering": [],
"name": "All OSM Nodes",
"title": "OSM node {id}",
"tagRendering": []
}

View file

@ -70,5 +70,18 @@
},
"id": "viewpoint-description"
}
],
"mapRendering": [
{
"icon": "./assets/layers/viewpoint/viewpoint.svg",
"iconSize": "20,20,center",
"location": [
"point"
]
},
{
"color": "#ffffff",
"width": "5"
}
]
}

View file

@ -35,5 +35,19 @@
"id": "village_green-reviews",
"render": "{reviews(name, landuse=village_green )}"
}
],
"mapRendering": [
{
"icon": "./assets/themes/playgrounds/playground.svg",
"iconSize": "40,40,center",
"location": [
"point",
"centroid"
]
},
{
"color": "#937f20",
"width": "1"
}
]
}

View file

@ -67,5 +67,18 @@
"render": "#E64C00"
},
"presets": [],
"wayHandling": 1
"wayHandling": 1,
"mapRendering": [
{
"icon": {
"render": "./assets/layers/visitor_information_centre/information.svg"
},
"iconSize": {
"render": "40,40,center"
},
"location": [
"point"
]
}
]
}

View file

@ -32,8 +32,7 @@
"id": "waste-basket-waste-types",
"question": {
"en": "What kind of waste basket is this?",
"nl": "Wat voor soort vuilnisbak is dit?",
"de": "Um was für einen Abfalleimer handelt es sich?"
"nl": "Wat voor soort vuilnisbak is dit?"
},
"multiAnswer": true,
"mappings": [
@ -91,8 +90,7 @@
"id": "dispensing_dog_bags",
"question": {
"en": "Does this waste basket have a dispenser for dog excrement bags?",
"nl": "Heeft deze vuilnisbak een verdeler voor hondenpoepzakjes?",
"de": "Verfügt dieser Abfalleimer über einen Spender für (Hunde-)Kotbeutel?"
"nl": "Heeft deze vuilnisbak een verdeler voor hondenpoepzakjes?"
},
"condition": {
"or": [
@ -111,8 +109,7 @@
},
"then": {
"en": "This waste basket has a dispenser for (dog) excrement bags",
"nl": "Deze vuilnisbak heeft een verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer verfügt über einen Spender für (Hunde-)Kotbeutel"
"nl": "Deze vuilnisbak heeft een verdeler voor hondenpoepzakjes"
}
},
{
@ -124,16 +121,14 @@
},
"then": {
"en": "This waste basket <b>does not</b> have a dispenser for (dog) excrement bags",
"nl": "Deze vuilbak heeft <b>geen</b> verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer <b>hat keinen</b> Spender für (Hunde-)Kotbeutel"
"nl": "Deze vuilnisbak heeft <i>geen</i>verdeler voor hondenpoepzakjes"
}
},
{
"if": "vending=",
"then": {
"en": "This waste basket <b>does not</b> have a dispenser for (dog) excrement bags",
"nl": "Deze vuilnisbak heeft <b>geen</b> verdeler voor hondenpoepzakjes",
"de": "Dieser Abfalleimer <b>hat keinen</b> Spender für (Hunde-)Kotbeutel"
"nl": "Deze vuilnisbaak heeft waarschijnlijk geen verdeler voor hondenpoepzakjes"
},
"hideInAnwer": true
}
@ -195,5 +190,41 @@
"allowMove": {
"enableRelocation": false,
"enableImproveAccuraccy": true
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/themes/waste_basket/waste_basket.svg"
},
"iconSize": {
"render": "40,40,center",
"mappings": [
{
"if": {
"and": [
"amenity=waste_basket"
]
},
"then": {
"en": "Waste Basket",
"nl": "Vuilnisbak",
"ru": "Контейнер для мусора",
"de": "Abfalleimer"
}
}
]
},
"location": [
"point"
]
},
{
"color": {
"render": "#00f"
},
"width": {
"render": "8"
}
}
]
}

View file

@ -171,5 +171,18 @@
},
"color": {
"render": "#FFC0CB"
}
},
"mapRendering": [
{
"icon": {
"render": "./assets/layers/watermill/watermill.svg"
},
"iconSize": {
"render": "50,50,center"
},
"location": [
"point"
]
}
]
}