diff --git a/assets/layers/bike_shop/bike_shop.json b/assets/layers/bike_shop/bike_shop.json index 0654df919..1cdc7d5e6 100644 --- a/assets/layers/bike_shop/bike_shop.json +++ b/assets/layers/bike_shop/bike_shop.json @@ -157,6 +157,10 @@ ] }, "titleIcons": [ + { + "render": "", + "condition": "operator=De Fietsambassade Gent" + }, { "render": "", "condition": "operator=De Fietsambassade Gent" @@ -310,6 +314,13 @@ }, "id": "bike_shop-access" }, + { + "render": "Enkel voor {access}", + "freeform": { + "key": "access" + }, + "id": "bike_shop-access" + }, { "id": "bike_repair_sells-bikes", "question": { @@ -691,6 +702,11 @@ ] }, "iconOverlays": [ + { + "if": "opening_hours~*", + "then": "isOpen", + "badge": true + }, { "if": "opening_hours~*", "then": "isOpen", diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index d94f88597..eef8c2dc5 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -58,6 +58,5 @@ "bench", "bench_at_pt", "picnic_table" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/bicyclelib/bicyclelib.json b/assets/themes/bicyclelib/bicyclelib.json index 1c3a5c000..09bc1352b 100644 --- a/assets/themes/bicyclelib/bicyclelib.json +++ b/assets/themes/bicyclelib/bicyclelib.json @@ -42,7 +42,6 @@ "startLon": 0, "startZoom": 1, "widenFactor": 1.5, - "roamingRenderings": [], "layers": [ { "builtin": "bicycle_library", diff --git a/assets/themes/bookcases/bookcases.json b/assets/themes/bookcases/bookcases.json index 0862fbb37..7209162f2 100644 --- a/assets/themes/bookcases/bookcases.json +++ b/assets/themes/bookcases/bookcases.json @@ -40,7 +40,6 @@ "startLon": 0, "startZoom": 1, "widenFactor": 1, - "roamingRenderings": [], "layers": [ "public_bookcase" ] diff --git a/assets/themes/buurtnatuur/buurtnatuur.json b/assets/themes/buurtnatuur/buurtnatuur.json index 2b75a568d..03d04cffe 100644 --- a/assets/themes/buurtnatuur/buurtnatuur.json +++ b/assets/themes/buurtnatuur/buurtnatuur.json @@ -124,19 +124,6 @@ "nl": "Voeg een ontbrekend, erkend natuurreservaat toe, bv. een gebied dat beheerd wordt door het ANB of natuurpunt" } } - ], - "mapRendering": [ - { - "icon": { - "render": "circle:#ffffff;./assets/themes/buurtnatuur/nature_reserve.svg" - }, - "iconSize": { - "render": "50,50,center" - }, - "location": [ - "point" - ] - } ] }, { @@ -235,19 +222,6 @@ "nl": "Voeg een ontbrekend park toe" } } - ], - "mapRendering": [ - { - "icon": { - "render": "circle:#ffffff;./assets/themes/buurtnatuur/park.svg" - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } ] }, { @@ -365,280 +339,269 @@ "nl": "Voeg een ontbrekend bos toe aan de kaart" } } - ], - "mapRendering": [ - { - "icon": { - "render": "circle:#ffffff;./assets/themes/buurtnatuur/forest.svg" - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } ] }, "viewpoint" ], - "roamingRenderings": [ - { - "#": "Access tag", - "condition": { - "and": [ - "tourism!~viewpoint" + "overrideAll": { + "tagRenderings+": [ + { + "id": "Access tag", + "condition": { + "and": [ + "tourism!~viewpoint" + ] + }, + "render": { + "nl": "De toegankelijkheid van dit gebied is: {access:description}" + }, + "question": { + "nl": "Is dit gebied toegankelijk?" + }, + "freeform": { + "key": "access:description", + "addExtraTags": [ + "access=" + ] + }, + "mappings": [ + { + "if": { + "and": [ + "access:description=", + "access=", + "leisure=park" + ] + }, + "then": { + "nl": "Dit gebied is vrij toegankelijk" + }, + "hideInAnswer": true + }, + { + "if": { + "and": [ + "access:description=", + "access=yes", + "fee=" + ] + }, + "then": { + "nl": "Vrij toegankelijk" + } + }, + { + "if": { + "and": [ + "access:description=", + "access=no", + "fee=" + ] + }, + "then": { + "nl": "Niet toegankelijk" + } + }, + { + "if": { + "and": [ + "access:description=", + "access=private", + "fee=" + ] + }, + "then": { + "nl": "Niet toegankelijk, want privégebied" + } + }, + { + "if": { + "and": [ + "access:description=", + "access=permissive", + "fee=" + ] + }, + "then": { + "nl": "Toegankelijk, ondanks dat het privegebied is" + } + }, + { + "if": { + "and": [ + "access:description=", + "access=guided", + "fee=" + ] + }, + "then": { + "nl": "Enkel toegankelijk met een gids of tijdens een activiteit" + } + }, + { + "if": { + "and": [ + "access:description=", + "access=yes", + "fee=yes" + ] + }, + "then": { + "nl": "Toegankelijk mits betaling" + } + } ] }, - "render": { - "nl": "De toegankelijkheid van dit gebied is: {access:description}" - }, - "question": { - "nl": "Is dit gebied toegankelijk?" - }, - "freeform": { - "key": "access:description", - "addExtraTags": [ - "access=" - ] - }, - "mappings": [ - { - "if": { - "and": [ - "access:description=", - "access=", - "leisure=park" - ] - }, - "then": { - "nl": "Dit gebied is vrij toegankelijk" - }, - "hideInAnswer": true + { + "id": "Operator tag", + "render": { + "nl": "Beheer door {operator}" }, - { - "if": { - "and": [ - "access:description=", - "access=yes", - "fee=" - ] - }, - "then": { - "nl": "Vrij toegankelijk" - } + "question": { + "nl": "Wie beheert dit gebied?" }, - { - "if": { - "and": [ - "access:description=", - "access=no", - "fee=" - ] - }, - "then": { - "nl": "Niet toegankelijk" - } + "freeform": { + "key": "operator" }, - { - "if": { - "and": [ - "access:description=", - "access=private", - "fee=" - ] + "mappings": [ + { + "if": { + "and": [ + "leisure=park", + "operator=" + ] + }, + "then": "Beheer door de gemeente", + "hideInAnswer": true }, - "then": { - "nl": "Niet toegankelijk, want privégebied" - } - }, - { - "if": { - "and": [ - "access:description=", - "access=permissive", - "fee=" - ] + { + "if": { + "and": [ + "operator=Natuurpunt" + ] + }, + "then": { + "nl": "Dit gebied wordt beheerd door Natuurpunt" + } }, - "then": { - "nl": "Toegankelijk, ondanks dat het privegebied is" - } - }, - { - "if": { - "and": [ - "access:description=", - "access=guided", - "fee=" - ] + { + "if": { + "and": [ + "operator~(n|N)atuurpunt.*" + ] + }, + "then": { + "nl": "Dit gebied wordt beheerd door {operator}" + }, + "hideInAnswer": true }, - "then": { - "nl": "Enkel toegankelijk met een gids of tijdens een activiteit" - } - }, - { - "if": { - "and": [ - "access:description=", - "access=yes", - "fee=yes" - ] + { + "if": { + "and": [ + "operator=Agentschap Natuur en Bos" + ] + }, + "then": { + "nl": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos" + } }, - "then": { - "nl": "Toegankelijk mits betaling" + { + "if": { + "and": [ + "operator:type=private" + ] + }, + "then": "Beheer door een privépersoon", + "hideInAnswer": true + }, + { + "if": { + "and": [ + "operator:type=private", + "operator=" + ] + }, + "then": "Beheer door een privépersoon" } + ], + "condition": { + "and": [ + "leisure!~park", + "tourism!~viewpoint" + ] } - ] - }, - { - "#": "Operator tag", - "render": { - "nl": "Beheer door {operator}" }, - "question": { - "nl": "Wie beheert dit gebied?" - }, - "freeform": { - "key": "operator" - }, - "mappings": [ - { - "if": { - "and": [ - "leisure=park", - "operator=" - ] - }, - "then": "Beheer door de gemeente", - "hideInAnswer": true + { + "id": "Non-editable description {description}", + "render": { + "nl": "Extra info: {description}" }, - { - "if": { - "and": [ - "operator=Natuurpunt" - ] - }, - "then": { - "nl": "Dit gebied wordt beheerd door Natuurpunt" - } - }, - { - "if": { - "and": [ - "operator~(n|N)atuurpunt.*" - ] - }, - "then": { - "nl": "Dit gebied wordt beheerd door {operator}" - }, - "hideInAnswer": true - }, - { - "if": { - "and": [ - "operator=Agentschap Natuur en Bos" - ] - }, - "then": { - "nl": "Dit gebied wordt beheerd door het Agentschap Natuur en Bos" - } - }, - { - "if": { - "and": [ - "operator:type=private" - ] - }, - "then": "Beheer door een privépersoon", - "hideInAnswer": true - }, - { - "if": { - "and": [ - "operator:type=private", - "operator=" - ] - }, - "then": "Beheer door een privépersoon" + "freeform": { + "key": "description" } - ], - "condition": { - "and": [ - "leisure!~park", - "tourism!~viewpoint" - ] - } - }, - { - "#": "Non-editable description {description}", - "render": { - "nl": "Extra info: {description}" }, - "freeform": { - "key": "description" - } - }, - { - "#": "Editable description {description:0}", - "question": "Is er extra info die je kwijt wil?
De naam van het gebied wordt in de volgende vraag gesteld", - "render": { - "nl": "Extra info via buurtnatuur.be: {description:0}" - }, - "freeform": { - "key": "description:0" - } - }, - { - "#": "Name:nl-tag", - "render": { - "nl": "Dit gebied heet {name:nl}" - }, - "question": { - "nl": "Wat is de Nederlandstalige naam van dit gebied?" - }, - "freeform": { - "key": "name:nl" - }, - "condition": { - "and": [ - "name:nl~*", - "viewpoint!~tourism" - ] - } - }, - { - "#": "Name tag", - "render": { - "nl": "Dit gebied heet {name}" - }, - "question": { - "nl": "Wat is de naam van dit gebied?" - }, - "freeform": { - "key": "name", - "addExtraTags": [ - "noname=" - ] - }, - "condition": { - "and": [ - "name:nl=", - "tourism!~viewpoint" - ] - }, - "mappings": [ - { - "if": { - "and": [ - "noname=yes", - "name=" - ] - }, - "then": { - "nl": "Dit gebied heeft geen naam" - } + { + "id": "Editable description {description:0}", + "question": "Is er extra info die je kwijt wil?
De naam van het gebied wordt in de volgende vraag gesteld", + "render": { + "nl": "Extra info via buurtnatuur.be: {description:0}" + }, + "freeform": { + "key": "description:0" } - ] - } - ] + }, + { + "id": "Name:nl-tag", + "render": { + "nl": "Dit gebied heet {name:nl}" + }, + "question": { + "nl": "Wat is de Nederlandstalige naam van dit gebied?" + }, + "freeform": { + "key": "name:nl" + }, + "condition": { + "and": [ + "name:nl~*", + "viewpoint!~tourism" + ] + } + }, + { + "id": "Name tag", + "render": { + "nl": "Dit gebied heet {name}" + }, + "question": { + "nl": "Wat is de naam van dit gebied?" + }, + "freeform": { + "key": "name", + "addExtraTags": [ + "noname=" + ] + }, + "condition": { + "and": [ + "name:nl=", + "tourism!~viewpoint" + ] + }, + "mappings": [ + { + "if": { + "and": [ + "noname=yes", + "name=" + ] + }, + "then": { + "nl": "Dit gebied heeft geen naam" + } + } + ] + } + ] + } } \ No newline at end of file diff --git a/assets/themes/campersite/campersite.json b/assets/themes/campersite/campersite.json index 3742c22d6..670e45299 100644 --- a/assets/themes/campersite/campersite.json +++ b/assets/themes/campersite/campersite.json @@ -676,31 +676,7 @@ } } ], - "wayHandling": 2, - "mapRendering": [ - { - "icon": { - "render": "circle:white;./assets/themes/campersite/caravan.svg", - "mappings": [ - { - "if": { - "and": [ - "fee=no" - ] - }, - "then": "circle:white;./assets/themes/campersite/caravan_green.svg" - } - ] - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point", - "centroid" - ] - } - ] + "wayHandling": 2 }, { "id": "dumpstations", @@ -1099,82 +1075,73 @@ "de": "Fügen Sie eine neue sanitäre Entsorgungsstation hinzu. Hier können Camper Abwasser oder chemischen Toilettenabfälle entsorgen. Oft gibt es auch Trinkwasser und Strom." } } - ], - "mapRendering": [ - { - "icon": { - "render": "circle:white;./assets/themes/campersite/sanitary_dump_station.svg" - }, - "iconSize": { - "render": "32,32,center" - }, - "location": [ - "point" - ] - } ] } ], - "roamingRenderings": [ - { - "render": { - "en": "This place is operated by {operator}", - "ja": "この場所は{operator}によって運営されます", - "it": "Questo luogo è gestito da {operator}", - "fr": "Ce site est exploité par {operator}", - "de": "Dieser Ort wird betrieben von {operator}" - }, - "question": { - "en": "Who operates this place?", - "ja": "この店は誰が経営しているんですか?", - "it": "Chi gestisce questo luogo?", - "fr": "Qui est l’exploitant du site ?", - "de": "Wer betreibt diesen Ort?" - }, - "freeform": { - "key": "operator" - } - }, - { - "question": { - "en": "Does this place have a power supply?", - "ja": "この場所に電源はありますか?", - "it": "Questo luogo fornisce corrente elettrica?", - "fr": "Ce site a-t’il une source d’électricité ?", - "de": "Hat dieser Ort eine Stromversorgung?" - }, - "mappings": [ - { - "if": { - "and": [ - "power_supply=yes" - ] - }, - "then": { - "en": "This place has a power supply", - "id": "Tempat ini memiliki catu daya", - "ja": "この場所には電源があります", - "it": "Questo luogo fornisce corrente elettrica", - "fr": "Ce site a une source d’alimentation", - "de": "Dieser Ort hat eine Stromversorgung" - } + "overrideAll": { + "tagRenderings+": [ + { + "id": "operator", + "render": { + "en": "This place is operated by {operator}", + "ja": "この場所は{operator}によって運営されます", + "it": "Questo luogo è gestito da {operator}", + "fr": "Ce site est exploité par {operator}", + "de": "Dieser Ort wird betrieben von {operator}" }, - { - "if": { - "and": [ - "power_supply=no" - ] - }, - "then": { - "en": "This place does not have power supply", - "id": "Tempat ini tidak memiliki sumber listrik", - "ja": "この場所には電源がありません", - "it": "Questo luogo non fornisce corrente elettrica", - "fr": "Ce site n’a pas de source d’alimentation", - "de": "Dieser Ort hat keine Stromversorgung" - } + "question": { + "en": "Who operates this place?", + "ja": "この店は誰が経営しているんですか?", + "it": "Chi gestisce questo luogo?", + "fr": "Qui est l’exploitant du site ?", + "de": "Wer betreibt diesen Ort?" + }, + "freeform": { + "key": "operator" } - ] - } - ] + }, + { + "id": "power_supply", + "question": { + "en": "Does this place have a power supply?", + "ja": "この場所に電源はありますか?", + "it": "Questo luogo fornisce corrente elettrica?", + "fr": "Ce site a-t’il une source d’électricité ?", + "de": "Hat dieser Ort eine Stromversorgung?" + }, + "mappings": [ + { + "if": { + "and": [ + "power_supply=yes" + ] + }, + "then": { + "en": "This place has a power supply", + "id": "Tempat ini memiliki catu daya", + "ja": "この場所には電源があります", + "it": "Questo luogo fornisce corrente elettrica", + "fr": "Ce site a une source d’alimentation", + "de": "Dieser Ort hat eine Stromversorgung" + } + }, + { + "if": { + "and": [ + "power_supply=no" + ] + }, + "then": { + "en": "This place does not have power supply", + "id": "Tempat ini tidak memiliki sumber listrik", + "ja": "この場所には電源がありません", + "it": "Questo luogo non fornisce corrente elettrica", + "fr": "Ce site n’a pas de source d’alimentation", + "de": "Dieser Ort hat keine Stromversorgung" + } + } + ] + } + ] + } } \ No newline at end of file diff --git a/assets/themes/charging_stations/charging_stations.json b/assets/themes/charging_stations/charging_stations.json index 15d55a1b3..fdf9a0bdc 100644 --- a/assets/themes/charging_stations/charging_stations.json +++ b/assets/themes/charging_stations/charging_stations.json @@ -46,6 +46,5 @@ "defaultBackgroundId": "CartoDB.Voyager", "layers": [ "charging_station" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json index 161dd5d8d..bfd84bba8 100644 --- a/assets/themes/climbing/climbing.json +++ b/assets/themes/climbing/climbing.json @@ -215,27 +215,7 @@ } } ], - "wayHandling": 1, - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/climbing/club.svg" - }, - "iconOverlays": [ - { - "if": "opening_hours~*", - "then": "isOpen", - "badge": true - } - ], - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } - ] + "wayHandling": 1 }, { "id": "climbing_gym", @@ -333,27 +313,7 @@ "iconSize": { "render": "40,40,center" }, - "wayHandling": 1, - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/climbing/climbing_gym.svg" - }, - "iconOverlays": [ - { - "if": "opening_hours~*", - "then": "isOpen", - "badge": true - } - ], - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } - ] + "wayHandling": 1 }, { "id": "climbing_route", @@ -572,21 +532,7 @@ ] } ], - "wayHandling": 2, - "mapRendering": [ - { - "icon": { - "render": "circle:white;./assets/themes/climbing/climbing_route.svg" - }, - "iconSize": { - "render": "28,28,center" - }, - "location": [ - "point", - "centroid" - ] - } - ] + "wayHandling": 2 }, { "id": "climbing", @@ -855,20 +801,6 @@ "_difficulty_hist=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => p['climbing:grade:french'])", "_length_hist=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').map(p => p['climbing:length'])", "_contained_climbing_routes_count=JSON.parse(feat.properties._contained_climbing_routes_properties ?? '[]').length" - ], - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/climbing/climbing_no_rope.svg" - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point", - "centroid" - ] - } ] }, { @@ -998,536 +930,7 @@ "color": { "render": "#ddff55AA" }, - "wayHandling": 0, - "mapRendering": [ - { - "icon": "./assets/themes/climbing/climbing_unknown.svg", - "location": [ - "point" - ] - } - ] - } - ], - "roamingRenderings": [ - { - "#": "Website", - "question": { - "en": "Is there a (unofficial) website with more informations (e.g. topos)?", - "de": "Gibt es eine (inoffizielle) Website mit mehr Informationen (z.B. Topos)?", - "ja": "もっと情報のある(非公式の)ウェブサイトはありますか(例えば、topos)?", - "nl": "Is er een (onofficiële) website met meer informatie (b.v. met topos)?", - "ru": "Есть ли (неофициальный) веб-сайт с более подробной информацией (напр., topos)?", - "fr": "Existe-t’il un site avec plus d’informations (ex : topographie) ?" - }, - "condition": { - "and": [ - "leisure!~sports_centre", - "sport=climbing", - "office=", - "club=" - ] - }, - "render": "{url}", - "freeform": { - "key": "url", - "type": "url" - } - }, - { - "#": "Access from containing feature", - "mappings": [ - { - "if": "_embedding_feature:access=yes", - "then": { - "en": "The containing feature states that this is publicly accessible
{_embedding_feature:access:description}", - "nl": "Een omvattend element geeft aan dat dit publiek toegangkelijk is
{_embedding_feature:access:description}", - "fr": "L’élément englobant indique un accès libre
{_embedding_feature:access:description}" - } - }, - { - "if": "_embedding_feature:access=permit", - "then": { - "en": "The containing feature states that a permit is needed to access
{_embedding_feature:access:description}", - "nl": "Een omvattend element geeft aan dat een toelating nodig is om hier te klimmen
{_embedding_feature:access:description}", - "fr": "L’élément englobant indique qu’ une autorisation d’accès est nécessaire
{_embedding_feature:access:description}" - } - }, - { - "if": "_embedding_feature:access=customers", - "then": { - "en": "The containing feature states that this is only accessible to customers
{_embedding_feature:access:description}", - "fr": "L’élément englobant indique que l’accès est réservés aux clients
{_embedding_feature:access:description}" - } - }, - { - "if": "_embedding_feature:access=members", - "then": { - "en": "The containing feature states that this is only accessible to club members
{_embedding_feature:access:description}", - "fr": "L’élément englobant indique que l’accès est réservé aux membres
{_embedding_feature:access:description}" - } - }, - { - "if": "_embedding_feature:access=no", - "then": "Not accessible as stated by the containing feature" - } - ], - "condition": "_embedding_feature:access~*" - }, - { - "#": "Access", - "question": { - "en": "Who can access here?", - "fr": "Qui peut y accéder ?", - "de": "Wer hat hier Zugang?" - }, - "mappings": [ - { - "if": "access=yes", - "then": { - "en": "Publicly accessible to anyone", - "fr": "Libre d’accès", - "de": "Öffentlich zugänglich für jedermann" - } - }, - { - "if": "access=permit", - "then": { - "en": "You need a permit to access here", - "fr": "Une autorisation est nécessaire", - "de": "Zugang nur mit Genehmigung" - } - }, - { - "if": "access=customers", - "then": { - "en": "Only custumers", - "fr": "Réservé aux clients", - "de": "Nur für Kunden" - } - }, - { - "if": "access=members", - "then": { - "en": "Only club members", - "ru": "Только членам клуба", - "fr": "Réservé aux membres", - "de": "Nur für Vereinsmitglieder" - } - }, - { - "if": "access=no", - "then": "Not accessible" - } - ], - "condition": { - "and": [ - "climbing!=no", - "office=", - "club=", - { - "or": [ - "sport=climbing", - "climbing:sport=yes" - ] - }, - { - "or": [ - "access~*", - "_embedding_feature:access=" - ] - } - ] - } - }, - { - "#": "Access description (without _embedding_feature:access:description)", - "render": "{access:description}", - "freeform": { - "key": "access:description" - } - }, - { - "#": "Avg length?", - "render": { - "de": "Die Routen sind durchschnittlich {canonical(climbing:length)} lang", - "en": "The routes are {canonical(climbing:length)} long on average", - "nl": "De klimroutes zijn gemiddeld {canonical(climbing:length)} lang", - "ja": "ルートの長さは平均で{canonical(climbing:length)}です", - "fr": "Les voies font {canonical(climbing:length)} de long en moyenne" - }, - "condition": { - "and": [ - "climbing!~route", - "office=", - "club=", - "climbing:toprope!=no", - { - "or": [ - "sport=climbing", - "climbing:sport=yes", - "climbing=traditional", - "climbing=gym" - ] - } - ] - }, - "question": { - "de": "Wie lang sind die Routen (durchschnittlich) in Metern?", - "en": "What is the (average) length of the routes in meters?", - "nl": "Wat is de (gemiddelde) lengte van de klimroutes, in meter?", - "ja": "ルートの(平均)長さはメートル単位でいくつですか?", - "fr": "Quelle est la longueur moyenne des voies en mètres ?" - }, - "freeform": { - "key": "climbing:length", - "type": "pnat" - } - }, - { - "#": "Difficulty-min", - "question": { - "de": "Welche Schwierigkeit hat hier die leichteste Route (französisch/belgisches System)?", - "en": "What is the level of the easiest route here, accoring to the french classification system?", - "nl": "Wat is het niveau van de makkelijkste route, volgens het Franse classificatiesysteem?", - "ja": "ここで一番簡単なルートのレベルは、フランスのランク評価システムで何ですか?", - "fr": "Quel est le niveau de la voie la plus simple selon la classification franco-belge ?" - }, - "render": { - "de": "Die leichteste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)", - "en": "The minimal difficulty is {climbing:grade:french:min} according to the french/belgian system", - "nl": "De minimale klimmoeilijkheid is {climbing:grade:french:min} volgens het Franse/Belgische systeem", - "ja": "フランス/ベルギーのランク評価システムでは、最小の難易度は{climbing:grade:french:min}です", - "fr": "La difficulté minimale est {climbing:grade:french:min} selon la classification franco-belge" - }, - "freeform": { - "key": "climbing:grade:french:min" - }, - "condition": { - "and": [ - "climbing!~route", - "office=", - "club=", - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - } - ] - } - }, - { - "#": "Difficulty-max", - "question": { - "de": "Welche Schwierigkeit hat hier die schwerste Route (französisch/belgisches System)?", - "en": "What is the level of the most difficult route here, accoring to the french classification system?", - "nl": "Wat is het niveau van de moeilijkste route, volgens het Franse classificatiesysteem?", - "ja": "フランスのランク評価によると、ここで一番難しいルートのレベルはどれくらいですか?", - "fr": "Quel est le niveau de la voie la plus difficile selon la classification franco-belge ?" - }, - "render": { - "de": "Die schwerste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)", - "en": "The maximal difficulty is {climbing:grade:french:max} according to the french/belgian system", - "nl": "De maximale klimmoeilijkheid is {climbing:grade:french:max} volgens het Franse/Belgische systeem", - "ja": "フランス/ベルギーのランク評価システムでは、最大の難易度は{climbing:grade:french:max}です", - "fr": "La difficulté maximale est {climbing:grade:french:max} selon la classification franco-belge" - }, - "freeform": { - "key": "climbing:grade:french:max" - }, - "condition": { - "and": [ - "climbing!~route", - "office=", - "club=", - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - } - ] - } - }, - { - "#": "Boldering?", - "question": { - "de": "Kann hier gebouldert werden?", - "en": "Is bouldering possible here?", - "nl": "Is het mogelijk om hier te bolderen?", - "ja": "ここでボルダリングはできますか?", - "nb_NO": "Er buldring mulig her?", - "fr": "L’escalade de bloc est-elle possible ici ?" - }, - "mappings": [ - { - "if": "climbing:boulder=yes", - "then": { - "de": "Hier kann gebouldert werden", - "en": "Bouldering is possible here", - "nl": "Bolderen kan hier", - "ja": "ボルダリングはここで可能です", - "nb_NO": "Buldring er mulig her", - "fr": "L’escalade de bloc est possible" - } - }, - { - "if": "climbing:boulder=no", - "then": { - "de": "Hier kann nicht gebouldert werden", - "en": "Bouldering is not possible here", - "nl": "Bolderen kan hier niet", - "ja": "ここではボルダリングはできません", - "nb_NO": "Buldring er ikke mulig her", - "fr": "L’escalade de bloc n’est pas possible" - } - }, - { - "if": "climbing:boulder=limited", - "then": { - "de": "Bouldern ist hier nur an wenigen Routen möglich", - "en": "Bouldering is possible, allthough there are only a few routes", - "nl": "Bolderen kan hier, maar er zijn niet zoveel routes", - "ja": "ボルダリングは可能ですが、少しのルートしかありません", - "fr": "L’escalade de bloc est possible sur des voies précises" - } - }, - { - "if": "climbing:boulder~*", - "then": { - "de": "Hier gibt es {climbing:boulder} Boulder-Routen", - "en": "There are {climbing:boulder} boulder routes", - "nl": "Er zijn hier {climbing:boulder} bolderroutes", - "ja": "{climbing:boulder} ボルダールートがある", - "fr": "Il y a {climbing:boulder} voies d’escalade de bloc" - }, - "hideInAnswer": true - } - ], - "condition": { - "and": [ - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - }, - "office=", - "club=" - ] - } - }, - { - "#": "Toproping?", - "question": { - "de": "Ist Toprope-Klettern hier möglich?", - "en": "Is toprope climbing possible here?", - "nl": "Is het mogelijk om hier te toprope-klimmen?", - "ja": "ここでtoprope登坂はできますか?", - "fr": "Est-il possible d’escalader à la moulinette ?" - }, - "mappings": [ - { - "if": "climbing:toprope=yes", - "then": { - "de": "Toprope-Klettern ist hier möglich", - "en": "Toprope climbing is possible here", - "nl": "Toprope-klimmen kan hier", - "ja": "ここでToprope登坂ができます", - "fr": "L’escalade à la moulinette est possible" - } - }, - { - "if": "climbing:toprope=no", - "then": { - "de": "Toprope-Climbing ist hier nicht möglich", - "en": "Toprope climbing is not possible here", - "nl": "Toprope-klimmen kan hier niet", - "ja": "ここではToprope登坂はできません", - "fr": "L’escalade à la moulinette n’est pas possible" - } - }, - { - "if": "climbing:toprope~*", - "then": { - "de": "Hier gibt es {climbing:toprope} Toprope-Routen", - "en": "There are {climbing:toprope} toprope routes", - "nl": "Er zijn hier {climbing:toprope} toprope routes", - "ja": "{climbing:toprope} 登坂ルートがある", - "fr": "{climbing:toprope} voies sont équipées de moulinettes" - }, - "hideInAnswer": true - } - ], - "condition": { - "and": [ - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - }, - "office=", - "club=" - ] - } - }, - { - "#": "Sportclimbing?", - "question": { - "de": "Ist hier Sportklettern möglich (feste Ankerpunkte)?", - "en": "Is sport climbing possible here on fixed anchors?", - "nl": "Is het mogelijk om hier te sportklimmen/voorklimmen op reeds aangebrachte haken?", - "ja": "ここでは固定アンカー式のスポーツクライミングはできますか?" - }, - "mappings": [ - { - "if": "climbing:sport=yes", - "then": { - "de": "Sportklettern ist hier möglich", - "en": "Sport climbing is possible here", - "nl": "Sportklimmen/voorklimmen kan hier", - "ru": "Здесь можно заняться спортивным скалолазанием", - "ja": "ここでスポーツクライミングができます" - } - }, - { - "if": "climbing:sport=no", - "then": { - "de": "Sportklettern ist hier nicht möglich", - "en": "Sport climbing is not possible here", - "nl": "Sportklimmen/voorklimmen kan hier niet", - "ru": "Спортивное скалолазание здесь невозможно", - "ja": "ここではスポーツクライミングはできません" - } - }, - { - "if": "climbing:sport~*", - "then": { - "de": "Hier gibt es {climbing:sport} Sportkletter-Routen", - "en": "There are {climbing:sport} sport climbing routes", - "nl": "Er zijn hier {climbing:sport} sportklimroutes/voorklimroutes", - "ja": "スポーツクライミングの {climbing:sport} ルートがある" - }, - "hideInAnswer": true - } - ], - "condition": { - "and": [ - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - }, - "office=", - "club=" - ] - } - }, - { - "#": "Traditional climbing?", - "question": { - "de": "Ist hier traditionelles Klettern möglich (eigene Sicherung z.B. mit Klemmkleilen)?", - "en": "Is traditional climbing possible here (using own gear e.g. chocks)?", - "nl": "Is het mogelijk om hier traditioneel te klimmen?
(Dit is klimmen met klemblokjes en friends)", - "ja": "伝統的な登山はここで可能ですか(例えば、チョックのような独自のギアを使用して)?" - }, - "mappings": [ - { - "if": "climbing:traditional=yes", - "then": { - "de": "Traditionelles Klettern ist hier möglich", - "en": "Traditional climbing is possible here", - "nl": "Traditioneel klimmen kan hier", - "ja": "ここでは伝統的な登山が可能です" - } - }, - { - "if": "climbing:traditional=no", - "then": { - "de": "Traditionelles Klettern ist hier nicht möglich", - "en": "Traditional climbing is not possible here", - "nl": "Traditioneel klimmen kan hier niet", - "ja": "伝統的な登山はここではできない" - } - }, - { - "if": "climbing:traditional~*", - "then": { - "de": "Hier gibt es {climbing:traditional} Routen für traditionelles Klettern", - "en": "There are {climbing:traditional} traditional climbing routes", - "nl": "Er zijn hier {climbing:traditional} traditionele klimroutes", - "ja": "{climbing:traditional} の伝統的な登山ルートがある" - }, - "hideInAnswer": true - } - ], - "condition": { - "and": [ - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - }, - "office=", - "club=" - ] - } - }, - { - "#": "Speed climbing?", - "question": { - "de": "Gibt es hier eine Speedkletter-Wand?", - "en": "Is there a speed climbing wall?", - "nl": "Is er een snelklimmuur (speed climbing)?", - "ja": "スピードクライミングウォールはありますか?" - }, - "condition": { - "and": [ - "leisure=sports_centre", - { - "or": [ - "climbing:sport=yes", - "sport=climbing" - ] - }, - "office=", - "club=" - ] - }, - "mappings": [ - { - "if": "climbing:speed=yes", - "then": { - "de": "Hier gibt es eine Speedkletter-Wand", - "en": "There is a speed climbing wall", - "nl": "Er is een snelklimmuur voor speed climbing", - "ja": "スピードクライミングウォールがある" - } - }, - { - "if": "climbing:speed=no", - "then": { - "de": "Hier gibt es keine Speedkletter-Wand", - "en": "There is no speed climbing wall", - "nl": "Er is geen snelklimmuur voor speed climbing", - "ja": "スピードクライミングウォールがない" - } - }, - { - "if": "climbing:speed~*", - "then": { - "de": "Hier gibt es {climbing:speed} Speedkletter-Routen", - "en": "There are {climbing:speed} speed climbing walls", - "nl": "Er zijn hier {climbing:speed} snelklimmuren", - "ja": "{climbing:speed} のスピードクライミングウォールがある" - }, - "hideInAnswer": true - } - ] + "wayHandling": 0 } ], "overrideAll": { @@ -1600,6 +1003,527 @@ } ] } + ], + "tagRenderings+": [ + { + "id": "Website", + "question": { + "en": "Is there a (unofficial) website with more informations (e.g. topos)?", + "de": "Gibt es eine (inoffizielle) Website mit mehr Informationen (z.B. Topos)?", + "ja": "もっと情報のある(非公式の)ウェブサイトはありますか(例えば、topos)?", + "nl": "Is er een (onofficiële) website met meer informatie (b.v. met topos)?", + "ru": "Есть ли (неофициальный) веб-сайт с более подробной информацией (напр., topos)?", + "fr": "Existe-t’il un site avec plus d’informations (ex : topographie) ?" + }, + "condition": { + "and": [ + "leisure!~sports_centre", + "sport=climbing", + "office=", + "club=" + ] + }, + "render": "{url}", + "freeform": { + "key": "url", + "type": "url" + } + }, + { + "id": "Access from containing feature", + "mappings": [ + { + "if": "_embedding_feature:access=yes", + "then": { + "en": "The containing feature states that this is publicly accessible
{_embedding_feature:access:description}", + "nl": "Een omvattend element geeft aan dat dit publiek toegangkelijk is
{_embedding_feature:access:description}", + "fr": "L’élément englobant indique un accès libre
{_embedding_feature:access:description}" + } + }, + { + "if": "_embedding_feature:access=permit", + "then": { + "en": "The containing feature states that a permit is needed to access
{_embedding_feature:access:description}", + "nl": "Een omvattend element geeft aan dat een toelating nodig is om hier te klimmen
{_embedding_feature:access:description}", + "fr": "L’élément englobant indique qu’ une autorisation d’accès est nécessaire
{_embedding_feature:access:description}" + } + }, + { + "if": "_embedding_feature:access=customers", + "then": { + "en": "The containing feature states that this is only accessible to customers
{_embedding_feature:access:description}", + "fr": "L’élément englobant indique que l’accès est réservés aux clients
{_embedding_feature:access:description}" + } + }, + { + "if": "_embedding_feature:access=members", + "then": { + "en": "The containing feature states that this is only accessible to club members
{_embedding_feature:access:description}", + "fr": "L’élément englobant indique que l’accès est réservé aux membres
{_embedding_feature:access:description}" + } + }, + { + "if": "_embedding_feature:access=no", + "then": "Not accessible as stated by the containing feature" + } + ], + "condition": "_embedding_feature:access~*" + }, + { + "id": "Access", + "question": { + "en": "Who can access here?", + "fr": "Qui peut y accéder ?", + "de": "Wer hat hier Zugang?" + }, + "mappings": [ + { + "if": "access=yes", + "then": { + "en": "Publicly accessible to anyone", + "fr": "Libre d’accès", + "de": "Öffentlich zugänglich für jedermann" + } + }, + { + "if": "access=permit", + "then": { + "en": "You need a permit to access here", + "fr": "Une autorisation est nécessaire", + "de": "Zugang nur mit Genehmigung" + } + }, + { + "if": "access=customers", + "then": { + "en": "Only custumers", + "fr": "Réservé aux clients", + "de": "Nur für Kunden" + } + }, + { + "if": "access=members", + "then": { + "en": "Only club members", + "ru": "Только членам клуба", + "fr": "Réservé aux membres", + "de": "Nur für Vereinsmitglieder" + } + }, + { + "if": "access=no", + "then": "Not accessible" + } + ], + "condition": { + "and": [ + "climbing!=no", + "office=", + "club=", + { + "or": [ + "sport=climbing", + "climbing:sport=yes" + ] + }, + { + "or": [ + "access~*", + "_embedding_feature:access=" + ] + } + ] + } + }, + { + "id": "Access description (without _embedding_feature:access:description)", + "render": "{access:description}", + "freeform": { + "key": "access:description" + } + }, + { + "id": "Avg length?", + "render": { + "de": "Die Routen sind durchschnittlich {canonical(climbing:length)} lang", + "en": "The routes are {canonical(climbing:length)} long on average", + "nl": "De klimroutes zijn gemiddeld {canonical(climbing:length)} lang", + "ja": "ルートの長さは平均で{canonical(climbing:length)}です", + "fr": "Les voies font {canonical(climbing:length)} de long en moyenne" + }, + "condition": { + "and": [ + "climbing!~route", + "office=", + "club=", + "climbing:toprope!=no", + { + "or": [ + "sport=climbing", + "climbing:sport=yes", + "climbing=traditional", + "climbing=gym" + ] + } + ] + }, + "question": { + "de": "Wie lang sind die Routen (durchschnittlich) in Metern?", + "en": "What is the (average) length of the routes in meters?", + "nl": "Wat is de (gemiddelde) lengte van de klimroutes, in meter?", + "ja": "ルートの(平均)長さはメートル単位でいくつですか?", + "fr": "Quelle est la longueur moyenne des voies en mètres ?" + }, + "freeform": { + "key": "climbing:length", + "type": "pnat" + } + }, + { + "id": "Difficulty-min", + "question": { + "de": "Welche Schwierigkeit hat hier die leichteste Route (französisch/belgisches System)?", + "en": "What is the level of the easiest route here, accoring to the french classification system?", + "nl": "Wat is het niveau van de makkelijkste route, volgens het Franse classificatiesysteem?", + "ja": "ここで一番簡単なルートのレベルは、フランスのランク評価システムで何ですか?", + "fr": "Quel est le niveau de la voie la plus simple selon la classification franco-belge ?" + }, + "render": { + "de": "Die leichteste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)", + "en": "The minimal difficulty is {climbing:grade:french:min} according to the french/belgian system", + "nl": "De minimale klimmoeilijkheid is {climbing:grade:french:min} volgens het Franse/Belgische systeem", + "ja": "フランス/ベルギーのランク評価システムでは、最小の難易度は{climbing:grade:french:min}です", + "fr": "La difficulté minimale est {climbing:grade:french:min} selon la classification franco-belge" + }, + "freeform": { + "key": "climbing:grade:french:min" + }, + "condition": { + "and": [ + "climbing!~route", + "office=", + "club=", + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + } + ] + } + }, + { + "id": "Difficulty-max", + "question": { + "de": "Welche Schwierigkeit hat hier die schwerste Route (französisch/belgisches System)?", + "en": "What is the level of the most difficult route here, accoring to the french classification system?", + "nl": "Wat is het niveau van de moeilijkste route, volgens het Franse classificatiesysteem?", + "ja": "フランスのランク評価によると、ここで一番難しいルートのレベルはどれくらいですか?", + "fr": "Quel est le niveau de la voie la plus difficile selon la classification franco-belge ?" + }, + "render": { + "de": "Die schwerste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)", + "en": "The maximal difficulty is {climbing:grade:french:max} according to the french/belgian system", + "nl": "De maximale klimmoeilijkheid is {climbing:grade:french:max} volgens het Franse/Belgische systeem", + "ja": "フランス/ベルギーのランク評価システムでは、最大の難易度は{climbing:grade:french:max}です", + "fr": "La difficulté maximale est {climbing:grade:french:max} selon la classification franco-belge" + }, + "freeform": { + "key": "climbing:grade:french:max" + }, + "condition": { + "and": [ + "climbing!~route", + "office=", + "club=", + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + } + ] + } + }, + { + "id": "Boldering?", + "question": { + "de": "Kann hier gebouldert werden?", + "en": "Is bouldering possible here?", + "nl": "Is het mogelijk om hier te bolderen?", + "ja": "ここでボルダリングはできますか?", + "nb_NO": "Er buldring mulig her?", + "fr": "L’escalade de bloc est-elle possible ici ?" + }, + "mappings": [ + { + "if": "climbing:boulder=yes", + "then": { + "de": "Hier kann gebouldert werden", + "en": "Bouldering is possible here", + "nl": "Bolderen kan hier", + "ja": "ボルダリングはここで可能です", + "nb_NO": "Buldring er mulig her", + "fr": "L’escalade de bloc est possible" + } + }, + { + "if": "climbing:boulder=no", + "then": { + "de": "Hier kann nicht gebouldert werden", + "en": "Bouldering is not possible here", + "nl": "Bolderen kan hier niet", + "ja": "ここではボルダリングはできません", + "nb_NO": "Buldring er ikke mulig her", + "fr": "L’escalade de bloc n’est pas possible" + } + }, + { + "if": "climbing:boulder=limited", + "then": { + "de": "Bouldern ist hier nur an wenigen Routen möglich", + "en": "Bouldering is possible, allthough there are only a few routes", + "nl": "Bolderen kan hier, maar er zijn niet zoveel routes", + "ja": "ボルダリングは可能ですが、少しのルートしかありません", + "fr": "L’escalade de bloc est possible sur des voies précises" + } + }, + { + "if": "climbing:boulder~*", + "then": { + "de": "Hier gibt es {climbing:boulder} Boulder-Routen", + "en": "There are {climbing:boulder} boulder routes", + "nl": "Er zijn hier {climbing:boulder} bolderroutes", + "ja": "{climbing:boulder} ボルダールートがある", + "fr": "Il y a {climbing:boulder} voies d’escalade de bloc" + }, + "hideInAnswer": true + } + ], + "condition": { + "and": [ + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + }, + "office=", + "club=" + ] + } + }, + { + "id": "Toproping?", + "question": { + "de": "Ist Toprope-Klettern hier möglich?", + "en": "Is toprope climbing possible here?", + "nl": "Is het mogelijk om hier te toprope-klimmen?", + "ja": "ここでtoprope登坂はできますか?", + "fr": "Est-il possible d’escalader à la moulinette ?" + }, + "mappings": [ + { + "if": "climbing:toprope=yes", + "then": { + "de": "Toprope-Klettern ist hier möglich", + "en": "Toprope climbing is possible here", + "nl": "Toprope-klimmen kan hier", + "ja": "ここでToprope登坂ができます", + "fr": "L’escalade à la moulinette est possible" + } + }, + { + "if": "climbing:toprope=no", + "then": { + "de": "Toprope-Climbing ist hier nicht möglich", + "en": "Toprope climbing is not possible here", + "nl": "Toprope-klimmen kan hier niet", + "ja": "ここではToprope登坂はできません", + "fr": "L’escalade à la moulinette n’est pas possible" + } + }, + { + "if": "climbing:toprope~*", + "then": { + "de": "Hier gibt es {climbing:toprope} Toprope-Routen", + "en": "There are {climbing:toprope} toprope routes", + "nl": "Er zijn hier {climbing:toprope} toprope routes", + "ja": "{climbing:toprope} 登坂ルートがある", + "fr": "{climbing:toprope} voies sont équipées de moulinettes" + }, + "hideInAnswer": true + } + ], + "condition": { + "and": [ + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + }, + "office=", + "club=" + ] + } + }, + { + "id": "Sportclimbing?", + "question": { + "de": "Ist hier Sportklettern möglich (feste Ankerpunkte)?", + "en": "Is sport climbing possible here on fixed anchors?", + "nl": "Is het mogelijk om hier te sportklimmen/voorklimmen op reeds aangebrachte haken?", + "ja": "ここでは固定アンカー式のスポーツクライミングはできますか?" + }, + "mappings": [ + { + "if": "climbing:sport=yes", + "then": { + "de": "Sportklettern ist hier möglich", + "en": "Sport climbing is possible here", + "nl": "Sportklimmen/voorklimmen kan hier", + "ru": "Здесь можно заняться спортивным скалолазанием", + "ja": "ここでスポーツクライミングができます" + } + }, + { + "if": "climbing:sport=no", + "then": { + "de": "Sportklettern ist hier nicht möglich", + "en": "Sport climbing is not possible here", + "nl": "Sportklimmen/voorklimmen kan hier niet", + "ru": "Спортивное скалолазание здесь невозможно", + "ja": "ここではスポーツクライミングはできません" + } + }, + { + "if": "climbing:sport~*", + "then": { + "de": "Hier gibt es {climbing:sport} Sportkletter-Routen", + "en": "There are {climbing:sport} sport climbing routes", + "nl": "Er zijn hier {climbing:sport} sportklimroutes/voorklimroutes", + "ja": "スポーツクライミングの {climbing:sport} ルートがある" + }, + "hideInAnswer": true + } + ], + "condition": { + "and": [ + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + }, + "office=", + "club=" + ] + } + }, + { + "id": "Traditional climbing?", + "question": { + "de": "Ist hier traditionelles Klettern möglich (eigene Sicherung z.B. mit Klemmkleilen)?", + "en": "Is traditional climbing possible here (using own gear e.g. chocks)?", + "nl": "Is het mogelijk om hier traditioneel te klimmen?
(Dit is klimmen met klemblokjes en friends)", + "ja": "伝統的な登山はここで可能ですか(例えば、チョックのような独自のギアを使用して)?" + }, + "mappings": [ + { + "if": "climbing:traditional=yes", + "then": { + "de": "Traditionelles Klettern ist hier möglich", + "en": "Traditional climbing is possible here", + "nl": "Traditioneel klimmen kan hier", + "ja": "ここでは伝統的な登山が可能です" + } + }, + { + "if": "climbing:traditional=no", + "then": { + "de": "Traditionelles Klettern ist hier nicht möglich", + "en": "Traditional climbing is not possible here", + "nl": "Traditioneel klimmen kan hier niet", + "ja": "伝統的な登山はここではできない" + } + }, + { + "if": "climbing:traditional~*", + "then": { + "de": "Hier gibt es {climbing:traditional} Routen für traditionelles Klettern", + "en": "There are {climbing:traditional} traditional climbing routes", + "nl": "Er zijn hier {climbing:traditional} traditionele klimroutes", + "ja": "{climbing:traditional} の伝統的な登山ルートがある" + }, + "hideInAnswer": true + } + ], + "condition": { + "and": [ + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + }, + "office=", + "club=" + ] + } + }, + { + "id": "Speed climbing?", + "question": { + "de": "Gibt es hier eine Speedkletter-Wand?", + "en": "Is there a speed climbing wall?", + "nl": "Is er een snelklimmuur (speed climbing)?", + "ja": "スピードクライミングウォールはありますか?" + }, + "condition": { + "and": [ + "leisure=sports_centre", + { + "or": [ + "climbing:sport=yes", + "sport=climbing" + ] + }, + "office=", + "club=" + ] + }, + "mappings": [ + { + "if": "climbing:speed=yes", + "then": { + "de": "Hier gibt es eine Speedkletter-Wand", + "en": "There is a speed climbing wall", + "nl": "Er is een snelklimmuur voor speed climbing", + "ja": "スピードクライミングウォールがある" + } + }, + { + "if": "climbing:speed=no", + "then": { + "de": "Hier gibt es keine Speedkletter-Wand", + "en": "There is no speed climbing wall", + "nl": "Er is geen snelklimmuur voor speed climbing", + "ja": "スピードクライミングウォールがない" + } + }, + { + "if": "climbing:speed~*", + "then": { + "de": "Hier gibt es {climbing:speed} Speedkletter-Routen", + "en": "There are {climbing:speed} speed climbing walls", + "nl": "Er zijn hier {climbing:speed} snelklimmuren", + "ja": "{climbing:speed} のスピードクライミングウォールがある" + }, + "hideInAnswer": true + } + ] + } ] } } \ No newline at end of file diff --git a/assets/themes/cyclestreets/cyclestreets.json b/assets/themes/cyclestreets/cyclestreets.json index cb53867f6..9f332e157 100644 --- a/assets/themes/cyclestreets/cyclestreets.json +++ b/assets/themes/cyclestreets/cyclestreets.json @@ -43,105 +43,6 @@ "maxZoom": 12, "minNeededElements": 200 }, - "roamingRenderings": [ - { - "question": { - "nl": "Is deze straat een fietsstraat?", - "en": "Is this street a cyclestreet?", - "ja": "この通りはcyclestreetですか?", - "nb_NO": "Er denne gaten en sykkelvei?", - "de": "Ist diese Straße eine Fahrradstraße?" - }, - "mappings": [ - { - "if": { - "and": [ - "cyclestreet=yes", - "maxspeed=30", - "overtaking:motor_vehicle=no", - "proposed:cyclestreet=" - ] - }, - "then": { - "nl": "Deze straat is een fietsstraat (en dus zone 30)", - "en": "This street is a cyclestreet (and has a speed limit of 30 km/h)", - "ja": "cyclestreet(最高速度は30km/h)", - "nb_NO": "Denne gaten er en sykkelvei (og har en fartsgrense på 30 km/t)", - "de": "Diese Straße ist eine Fahrradstraße (mit einer Geschwindigkeitsbegrenzung von 30 km/h)" - } - }, - { - "if": { - "and": [ - "cyclestreet=yes", - "proposed:cyclestreet=" - ] - }, - "then": { - "nl": "Deze straat i een fietsstraat", - "en": "This street is a cyclestreet", - "ja": "この通りはcyclestreetだ", - "nb_NO": "Denne gaten er en sykkelvei", - "de": "Diese Straße ist eine Fahrradstraße" - }, - "hideInAnswer": true - }, - { - "if": { - "and": [ - "cyclestreet=", - "proposed:cyclestreet=yes" - ] - }, - "then": { - "nl": "Deze straat wordt binnenkort een fietsstraat", - "en": "This street will become a cyclstreet soon", - "ja": "この通りはまもなくcyclstreetになるだろう", - "nb_NO": "Denne gaten vil bli sykkelvei ganske snart", - "de": "Diese Straße wird bald eine Fahrradstraße sein" - } - }, - { - "if": { - "and": [ - "cyclestreet=", - "proposed:cyclestreet=", - "overtaking:motor_vehicle=" - ] - }, - "then": { - "nl": "Deze straat is geen fietsstraat", - "en": "This street is not a cyclestreet", - "ja": "この通りはcyclestreetではない", - "nb_NO": "Denne gaten er ikke en sykkelvei", - "it": "Questa strada non è una strada ciclabile", - "de": "Diese Straße ist keine Fahrradstraße" - } - } - ] - }, - { - "question": { - "nl": "Wanneer wordt deze straat een fietsstraat?", - "en": "When will this street become a cyclestreet?", - "ja": "この通りはいつcyclestreetになるんですか?", - "it": "Questa strada diventerà una strada ciclabile quando?", - "de": "Wann wird diese Straße eine Fahrradstraße?" - }, - "render": { - "nl": "Deze straat wordt fietsstraat op {cyclestreet:start_date}", - "en": "This street will become a cyclestreet at {cyclestreet:start_date}", - "ja": "この通りは{cyclestreet:start_date}に、cyclestreetになります", - "it": "Questa strada diventerà una strada ciclabile dal {cyclestreet:start_date}", - "de": "Diese Straße wird am {cyclestreet:start_date} zu einer Fahrradstraße" - }, - "condition": "proposed:cyclestreet=yes", - "freeform": { - "type": "date", - "key": "cyclestreet:start_date" - } - } - ], "layers": [ { "id": "fietsstraat", @@ -183,14 +84,6 @@ "width": "10", "tagRenderings": [ "images" - ], - "mapRendering": [ - { - "icon": "./assets/themes/cyclestreets/F111.svg", - "location": [ - "point" - ] - } ] }, { @@ -243,14 +136,6 @@ "width": "5", "tagRenderings": [ "images" - ], - "mapRendering": [ - { - "icon": "./assets/themes/cyclestreets/F113.svg", - "location": [ - "point" - ] - } ] }, { @@ -316,18 +201,111 @@ }, "tagRenderings": [ "images" - ], - "mapRendering": [ - { - "icon": "./assets/svg/pencil.svg", - "location": [ - "point" - ] - } ] } ], "overrideAll": { - "allowSplit": true + "allowSplit": true, + "tagRenderings+": [ + { + "id": "is_cyclestreet", + "question": { + "nl": "Is deze straat een fietsstraat?", + "en": "Is this street a cyclestreet?", + "ja": "この通りはcyclestreetですか?", + "nb_NO": "Er denne gaten en sykkelvei?", + "de": "Ist diese Straße eine Fahrradstraße?" + }, + "mappings": [ + { + "if": { + "and": [ + "cyclestreet=yes", + "maxspeed=30", + "overtaking:motor_vehicle=no", + "proposed:cyclestreet=" + ] + }, + "then": { + "nl": "Deze straat is een fietsstraat (en dus zone 30)", + "en": "This street is a cyclestreet (and has a speed limit of 30 km/h)", + "ja": "cyclestreet(最高速度は30km/h)", + "nb_NO": "Denne gaten er en sykkelvei (og har en fartsgrense på 30 km/t)", + "de": "Diese Straße ist eine Fahrradstraße (mit einer Geschwindigkeitsbegrenzung von 30 km/h)" + } + }, + { + "if": { + "and": [ + "cyclestreet=yes", + "proposed:cyclestreet=" + ] + }, + "then": { + "nl": "Deze straat i een fietsstraat", + "en": "This street is a cyclestreet", + "ja": "この通りはcyclestreetだ", + "nb_NO": "Denne gaten er en sykkelvei", + "de": "Diese Straße ist eine Fahrradstraße" + }, + "hideInAnswer": true + }, + { + "if": { + "and": [ + "cyclestreet=", + "proposed:cyclestreet=yes" + ] + }, + "then": { + "nl": "Deze straat wordt binnenkort een fietsstraat", + "en": "This street will become a cyclstreet soon", + "ja": "この通りはまもなくcyclstreetになるだろう", + "nb_NO": "Denne gaten vil bli sykkelvei ganske snart", + "de": "Diese Straße wird bald eine Fahrradstraße sein" + } + }, + { + "if": { + "and": [ + "cyclestreet=", + "proposed:cyclestreet=", + "overtaking:motor_vehicle=" + ] + }, + "then": { + "nl": "Deze straat is geen fietsstraat", + "en": "This street is not a cyclestreet", + "ja": "この通りはcyclestreetではない", + "nb_NO": "Denne gaten er ikke en sykkelvei", + "it": "Questa strada non è una strada ciclabile", + "de": "Diese Straße ist keine Fahrradstraße" + } + } + ] + }, + { + "id": "future_cyclestreet", + "question": { + "nl": "Wanneer wordt deze straat een fietsstraat?", + "en": "When will this street become a cyclestreet?", + "ja": "この通りはいつcyclestreetになるんですか?", + "it": "Questa strada diventerà una strada ciclabile quando?", + "de": "Wann wird diese Straße eine Fahrradstraße?" + }, + "render": { + "nl": "Deze straat wordt fietsstraat op {cyclestreet:start_date}", + "en": "This street will become a cyclestreet at {cyclestreet:start_date}", + "ja": "この通りは{cyclestreet:start_date}に、cyclestreetになります", + "it": "Questa strada diventerà una strada ciclabile dal {cyclestreet:start_date}", + "de": "Diese Straße wird am {cyclestreet:start_date} zu einer Fahrradstraße" + }, + "condition": "proposed:cyclestreet=yes", + "freeform": { + "type": "date", + "key": "cyclestreet:start_date" + } + } + ] } } \ No newline at end of file diff --git a/assets/themes/cyclofix/cyclofix.json b/assets/themes/cyclofix/cyclofix.json index 47a626736..db626f24c 100644 --- a/assets/themes/cyclofix/cyclofix.json +++ b/assets/themes/cyclofix/cyclofix.json @@ -57,6 +57,5 @@ "bike_themed_object", "bike_cleaning", "bike_parking" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/drinking_water/drinking_water.json b/assets/themes/drinking_water/drinking_water.json index 819f0cfb8..5da9ee3c7 100644 --- a/assets/themes/drinking_water/drinking_water.json +++ b/assets/themes/drinking_water/drinking_water.json @@ -40,6 +40,5 @@ "widenFactor": 2, "layers": [ "drinking_water" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/facadegardens/facadegardens.json b/assets/themes/facadegardens/facadegardens.json index 3d584898f..d9fc9ed62 100644 --- a/assets/themes/facadegardens/facadegardens.json +++ b/assets/themes/facadegardens/facadegardens.json @@ -454,79 +454,7 @@ } } ], - "wayHandling": 1, - "mapRendering": [ - { - "icon": { - "render": "circle:white;./assets/themes/facadegardens/geveltuin.svg", - "mappings": [ - { - "if": { - "and": [ - "direct_sunlight=yes" - ] - }, - "then": "circle:white;./assets/themes/facadegardens/zon.svg" - }, - { - "if": { - "and": [ - "direct_sunlight=partial" - ] - }, - "then": "circle:white;./assets/themes/facadegardens/halfzon.svg" - }, - { - "if": { - "and": [ - "direct_sunlight=no" - ] - }, - "then": "circle:white;./assets/themes/facadegardens/schaduw.svg" - } - ] - }, - "iconOverlays": [ - { - "if": "plant~.*vine.*", - "then": "circle:white;./assets/themes/facadegardens/klimplant.svg", - "badge": true - }, - { - "if": "plant~.*groundcover.*", - "then": "circle:white;./assets/themes/facadegardens/bodembedekker.svg", - "badge": true - }, - { - "if": "edible=true", - "then": "circle:white;./assets/themes/facadegardens/eetbaar.svg", - "badge": true - }, - { - "if": "rain_barel=yes", - "then": "circle:white;./assets/themes/facadegardens/gevelton.svg", - "badge": true - }, - { - "if": "plant~.*shrub.*", - "then": "circle:white;./assets/themes/facadegardens/struik.svg", - "badge": true - }, - { - "if": "plant~.*flower.*", - "then": "circle:white;./assets/themes/facadegardens/bloei.svg", - "badge": true - } - ], - "iconSize": { - "render": "50,50,center" - }, - "location": [ - "point" - ] - } - ] + "wayHandling": 1 } - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/fritures/fritures.json b/assets/themes/fritures/fritures.json index 235a5f65a..e74e38bec 100644 --- a/assets/themes/fritures/fritures.json +++ b/assets/themes/fritures/fritures.json @@ -54,6 +54,5 @@ "filter": null } } - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/fruit_trees/fruit_trees.json b/assets/themes/fruit_trees/fruit_trees.json index 3af096cf9..9f9e84fab 100644 --- a/assets/themes/fruit_trees/fruit_trees.json +++ b/assets/themes/fruit_trees/fruit_trees.json @@ -68,19 +68,6 @@ "nl": "Voeg een boomgaard toe (als punt - omtrek nog te tekenen)" } } - ], - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/buurtnatuur/forest.svg" - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } ] }, { @@ -183,21 +170,7 @@ "nl": "Voeg hier een boom toe" } } - ], - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/fruit_trees/fruit_tree.svg" - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } ] } - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/grb.json b/assets/themes/grb.json index 3839c319e..d55577e5a 100644 --- a/assets/themes/grb.json +++ b/assets/themes/grb.json @@ -197,29 +197,9 @@ "render": "#00f" }, "wayHandling": 2, - "presets": [], - "mapRendering": [ - { - "label": { - "mappings": [ - { - "if": "addr:housenumber~*", - "then": "
{addr:housenumber}
" - } - ] - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point", - "centroid" - ] - } - ] + "presets": [] } ], "hideFromOverview": true, - "roamingRenderings": [], "defaultBackgroundId": "AGIVFlandersGRB" } \ No newline at end of file diff --git a/assets/themes/maps/maps.json b/assets/themes/maps/maps.json index 52d757a9d..959494a06 100644 --- a/assets/themes/maps/maps.json +++ b/assets/themes/maps/maps.json @@ -40,6 +40,5 @@ "socialImage": "", "layers": [ "map" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/nature/nature.json b/assets/themes/nature/nature.json index 0f8004e2c..edd29baf3 100644 --- a/assets/themes/nature/nature.json +++ b/assets/themes/nature/nature.json @@ -26,6 +26,5 @@ "map", "information_board", "nature_reserve" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/parkings/parkings.json b/assets/themes/parkings/parkings.json index ca322052c..affbbfc21 100644 --- a/assets/themes/parkings/parkings.json +++ b/assets/themes/parkings/parkings.json @@ -26,6 +26,5 @@ "socialImage": "", "layers": [ "parking" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/personal/personal.json b/assets/themes/personal/personal.json index d0218d014..4b88eefa5 100644 --- a/assets/themes/personal/personal.json +++ b/assets/themes/personal/personal.json @@ -46,6 +46,5 @@ "startZoom": 16, "widenFactor": 1.2, "overpassMaxZoom": 0, - "layers": [], - "roamingRenderings": [] + "layers": [] } \ No newline at end of file diff --git a/assets/themes/play_forests/play_forests.json b/assets/themes/play_forests/play_forests.json index 5c65a702a..96aedcf5d 100644 --- a/assets/themes/play_forests/play_forests.json +++ b/assets/themes/play_forests/play_forests.json @@ -23,6 +23,5 @@ "socialImage": "", "layers": [ "play_forest" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/playgrounds/playgrounds.json b/assets/themes/playgrounds/playgrounds.json index 2908a88b4..8c153a10a 100644 --- a/assets/themes/playgrounds/playgrounds.json +++ b/assets/themes/playgrounds/playgrounds.json @@ -42,6 +42,5 @@ "socialImage": "", "layers": [ "playground" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/sport_pitches/sport_pitches.json b/assets/themes/sport_pitches/sport_pitches.json index 4db24cdd6..257b835a8 100644 --- a/assets/themes/sport_pitches/sport_pitches.json +++ b/assets/themes/sport_pitches/sport_pitches.json @@ -41,6 +41,5 @@ "socialImage": "", "layers": [ "sport_pitch" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/surveillance/surveillance.json b/assets/themes/surveillance/surveillance.json index a61633b23..4663b87fb 100644 --- a/assets/themes/surveillance/surveillance.json +++ b/assets/themes/surveillance/surveillance.json @@ -43,6 +43,5 @@ "layers": [ "direction", "surveillance_camera" - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/trees/trees.json b/assets/themes/trees/trees.json index 7c2baa8ac..35815969b 100644 --- a/assets/themes/trees/trees.json +++ b/assets/themes/trees/trees.json @@ -55,6 +55,5 @@ "layers": [ "tree_node" ], - "roamingRenderings": [], "defaultBackgroundId": "AGIV" } \ No newline at end of file diff --git a/assets/themes/uk_addresses/uk_addresses.json b/assets/themes/uk_addresses/uk_addresses.json index f334634b3..09e93cbe6 100644 --- a/assets/themes/uk_addresses/uk_addresses.json +++ b/assets/themes/uk_addresses/uk_addresses.json @@ -108,29 +108,6 @@ } ] } - ], - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/uk_addresses/housenumber_unknown.svg", - "mappings": [ - { - "if": "_embedding_object:id~*", - "then": "./assets/themes/uk_addresses/housenumber_unknown_small.svg" - }, - { - "if": "_imported=yes", - "then": "./assets/themes/uk_addresses/housenumber_unknown_small.svg" - } - ] - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } ] }, { @@ -277,36 +254,7 @@ "then": "#ff0" } ] - }, - "mapRendering": [ - { - "icon": { - "render": "./assets/themes/uk_addresses/housenumber_ok.svg", - "mappings": [ - { - "if": { - "or": [ - { - "and": [ - "addr:housenumber=", - "nohousenumber!=yes" - ] - }, - "addr:street=" - ] - }, - "then": "./assets/themes/uk_addresses/housenumber_unknown.svg" - } - ] - }, - "iconSize": { - "render": "40,40,center" - }, - "location": [ - "point" - ] - } - ] + } }, { "id": "named_streets", @@ -324,15 +272,7 @@ }, "width": { "render": "0" - }, - "mapRendering": [ - { - "location": [ - "point" - ] - } - ] + } } - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/assets/themes/waste_basket/waste_basket.json b/assets/themes/waste_basket/waste_basket.json index 6bb40ae6c..b31d12d9a 100644 --- a/assets/themes/waste_basket/waste_basket.json +++ b/assets/themes/waste_basket/waste_basket.json @@ -33,6 +33,5 @@ "minzoom": 12 } } - ], - "roamingRenderings": [] + ] } \ No newline at end of file diff --git a/scripts/generateLayerOverview.ts b/scripts/generateLayerOverview.ts index d97c235cb..4ee4d388c 100644 --- a/scripts/generateLayerOverview.ts +++ b/scripts/generateLayerOverview.ts @@ -118,6 +118,9 @@ class LayerOverviewUtils { if (themeFile["units"] !== undefined) { themeErrorCount.push("The theme " + themeFile.id + " has units defined - these should be defined on the layer instead. (Hint: use overrideAll: { '+units': ... }) ") } + if (themeFile["roamingRenderings"] !== undefined) { + themeErrorCount.push("Theme " + themeFile.id + " contains an old 'roamingRenderings'. Use an 'overrideAll' instead") + } for (const layer of themeFile.layers) { if (typeof layer === "string") { if (!knownLayerIds.has(layer)) { @@ -213,4 +216,4 @@ class LayerOverviewUtils { } } -new LayerOverviewUtils().main(process.argv) \ No newline at end of file +new LayerOverviewUtils().main(process.argv) diff --git a/scripts/lint.ts b/scripts/lint.ts index 35632ed20..70558fa4c 100644 --- a/scripts/lint.ts +++ b/scripts/lint.ts @@ -63,6 +63,11 @@ for (const themeFile of themeFiles) { // @ts-ignore fixLayerConfig(layerConfig) } + + if(themeFile.parsed["roamingRenderings"] !== undefined && themeFile.parsed["roamingRenderings"].length == 0){ + delete themeFile.parsed["roamingRenderings"] + } + writeFileSync(themeFile.path, JSON.stringify(themeFile.parsed, null, " ")) } -//*/ \ No newline at end of file +//*/