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": {