diff --git a/assets/layers/guidepost/guidepost.json b/assets/layers/guidepost/guidepost.json index 6fd27bcc42..daa687c5dd 100644 --- a/assets/layers/guidepost/guidepost.json +++ b/assets/layers/guidepost/guidepost.json @@ -48,6 +48,50 @@ } ], "tagRenderings": [ - "images" + "images", + { + "id": "type", + "question": { + "en": "What kind of routes are shown on this guidepost?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "bicycle=yes", + "ifnot": "bicycle=", + "then": { + "en": "This guidepost shows bicycle routes" + } + }, + { + "if": "hiking=yes", + "ifnot": "hiking=", + "then": { + "en": "This guidepost shows hiking routes" + } + }, + { + "if": "mtb=yes", + "ifnot": "mtb=", + "then": { + "en": "This guidepost shows mountain bike routes" + } + }, + { + "if": "horse=yes", + "ifnot": "horse=", + "then": { + "en": "This guidepost shows horse riding routes" + } + }, + { + "if": "ski=yes", + "ifnot": "ski=", + "then": { + "en": "This guidepost shows ski routes" + } + } + ] + } ] -} +} \ No newline at end of file diff --git a/assets/layers/route_marker/bicycle_route_marker.jpg b/assets/layers/route_marker/bicycle_route_marker.jpg new file mode 100644 index 0000000000..6a576df9f8 Binary files /dev/null and b/assets/layers/route_marker/bicycle_route_marker.jpg differ diff --git a/assets/layers/route_marker/bicycle_route_marker.jpg.license b/assets/layers/route_marker/bicycle_route_marker.jpg.license new file mode 100644 index 0000000000..28cb665ca7 --- /dev/null +++ b/assets/layers/route_marker/bicycle_route_marker.jpg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Segubi +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/layers/route_marker/license_info.json b/assets/layers/route_marker/license_info.json new file mode 100644 index 0000000000..0786ccda38 --- /dev/null +++ b/assets/layers/route_marker/license_info.json @@ -0,0 +1,28 @@ +[ + { + "path": "bicycle_route_marker.jpg", + "license": "CC0-1.0", + "authors": [ + "Segubi" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Route_marker_Germany_Zwischenwegweiser_Radverkehrsnetz_NRW.jpg" + ] + }, + { + "path": "route_marker.svg", + "license": "CC0-1.0", + "authors": [ + "Robin van der Linde" + ], + "sources": [] + }, + { + "path": "walking_route_marker.jpg", + "license": "CC0-1.0", + "authors": [ + "Robin van der Linde" + ], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/layers/route_marker/route_marker.json b/assets/layers/route_marker/route_marker.json new file mode 100644 index 0000000000..39e4951958 --- /dev/null +++ b/assets/layers/route_marker/route_marker.json @@ -0,0 +1,97 @@ +{ + "id": "route_marker", + "name": { + "en": "Route markers" + }, + "description": { + "en": "Route markers are small markers often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route." + }, + "source": { + "osmTags": "information=route_marker" + }, + "minzoom": 14, + "presets": [ + { + "title": { + "en": "a route marker" + }, + "tags": [ + "tourism=information", + "information=route_marker" + ], + "description": { + "en": "A route marker is a small marker often found along official hiking/cycling/riding/skiing routes to indicate the direction of the route." + }, + "exampleImages": [ + "./assets/layers/route_marker/bicycle_route_marker.jpg", + "./assets/layers/route_marker/walking_route_marker.jpg" + ] + } + ], + "deletion": true, + "allowMove": { + "enableImproveAccuracy": true, + "enableRelocation": false + }, + "title": { + "render": { + "en": "Route marker" + } + }, + "mapRendering": [ + { + "location": [ + "centroid", + "point" + ], + "icon": "./assets/layers/route_marker/route_marker.svg" + } + ], + "tagRenderings": [ + "images", + { + "id": "type", + "question": { + "en": "For what kind of route is this marker?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "bicycle=yes", + "ifnot": "biycle=", + "then": { + "en": "This is a route marker for a bicycle route." + } + }, + { + "if": "hiking=yes", + "ifnot": "hiking=", + "then": { + "en": "This is a route marker for a hiking route." + } + }, + { + "if": "mtb=yes", + "ifnot": "mtb=", + "then": { + "en": "This is a route marker for a mountain bike route." + } + }, + { + "if": "horse=yes", + "ifnot": "horse=", + "then": { + "en": "This is a route marker for a horse riding route." + } + }, + { + "if": "ski=yes", + "ifnot": "ski=", + "then": { + "en": "This is a route marker for a ski route." + } + } + ] + } + ] +} \ No newline at end of file diff --git a/assets/layers/route_marker/route_marker.svg b/assets/layers/route_marker/route_marker.svg new file mode 100644 index 0000000000..7dd5e4a1bd --- /dev/null +++ b/assets/layers/route_marker/route_marker.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/layers/route_marker/route_marker.svg.license b/assets/layers/route_marker/route_marker.svg.license new file mode 100644 index 0000000000..75299f8845 --- /dev/null +++ b/assets/layers/route_marker/route_marker.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Robin van der Linde +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/layers/route_marker/walking_route_marker.jpg b/assets/layers/route_marker/walking_route_marker.jpg new file mode 100644 index 0000000000..65e20cb83e Binary files /dev/null and b/assets/layers/route_marker/walking_route_marker.jpg differ diff --git a/assets/layers/route_marker/walking_route_marker.jpg.license b/assets/layers/route_marker/walking_route_marker.jpg.license new file mode 100644 index 0000000000..75299f8845 --- /dev/null +++ b/assets/layers/route_marker/walking_route_marker.jpg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Robin van der Linde +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/layers/vending_machine/vending_machine.json b/assets/layers/vending_machine/vending_machine.json index 8bb4e740b0..ca193086e2 100644 --- a/assets/layers/vending_machine/vending_machine.json +++ b/assets/layers/vending_machine/vending_machine.json @@ -525,15 +525,15 @@ }, { "if": "vending=meat", - "then": "./assets/layers/id_presets/temaki-meat.svg" + "then": "circle:white;./assets/layers/id_presets/temaki-meat.svg" }, { "if": "vending=fruit", - "then": "./assets/layers/vending_machine/fruits.svg" + "then": "circle:white;./assets/layers/vending_machine/fruits.svg" }, { "if": "vending=strawberries", - "then": "./assets/layers/vending_machine/strawberry.svg" + "then": "circle:white;./assets/layers/vending_machine/strawberry.svg" }, { "if": "vending=flowers", @@ -678,7 +678,7 @@ "vending~.*meat.*" ] }, - "then": "./assets/layers/id_presets/temaki-meat.svg" + "then": "circle:white;./assets/layers/id_presets/temaki-meat.svg" }, { "if": { @@ -687,7 +687,7 @@ "vending~.*fruit.*" ] }, - "then": "./assets/layers/vending_machine/fruits.svg" + "then": "circle:white;./assets/layers/vending_machine/fruits.svg" }, { "if": { @@ -696,7 +696,7 @@ "vending~.*strawberries.*" ] }, - "then": "./assets/layers/vending_machine/strawberry.svg" + "then": "circle:white;./assets/layers/vending_machine/strawberry.svg" }, { "if": { diff --git a/assets/svg/cross.svg.license b/assets/svg/cross.svg.license index 2452bee1e8..ed02883002 100644 --- a/assets/svg/cross.svg.license +++ b/assets/svg/cross.svg.license @@ -1,2 +1,2 @@ SPDX-FileCopyrightText: Pieter Vander Vennet -SPDX-License-Identifier: CC0 \ No newline at end of file +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/themes/cyclenodes/cyclenodes.json b/assets/themes/cyclenodes/cyclenodes.json index 5789a55cc5..8469389189 100644 --- a/assets/themes/cyclenodes/cyclenodes.json +++ b/assets/themes/cyclenodes/cyclenodes.json @@ -27,19 +27,14 @@ "startLat": 51.755515, "startLon": 14.327545, "startZoom": 11, - "widenFactor": 0.05, - "clustering": { - "maxZoom": 11, - "minNeededElements": 1000000 - }, "layers": [ { "id": "node2node", "name": { - "en": "node to node links", + "en": "Node to node links", "de": "Knotenpunktverbindungen", "es": "enlaces nodo a nodo", - "nl": "verbindingen van node naar node", + "nl": "Verbindingen van node naar node", "fr": "liens noeud à noeud", "ca": "enllaços node a node", "cs": "propojení mezi uzly", @@ -57,10 +52,10 @@ "minzoom": 12, "title": { "render": { - "en": "node to node link", + "en": "Node to node link", "de": "Knotenpunktverbindung", "es": "enlace nodo a nodo", - "nl": "node-naar-node verbinding", + "nl": "Node-naar-node verbinding", "fr": "lien noeud à noeud", "ca": "Enllaç node a node", "cs": "propojení mezi uzly", @@ -70,10 +65,10 @@ { "if": "ref~*", "then": { - "en": "node to node link {ref}", + "en": "Node to node link {ref}", "de": "Knotenpunktverbindung {ref}", "es": "enlace nodo a nodo {ref}", - "nl": "node-naar-node verbinding {ref}", + "nl": "Node-naar-node verbinding {ref}", "fr": "lien noeud à noeud {ref}", "ca": "Enllaç node a node {ref}", "cs": "propojení mezi uzly {ref}", @@ -90,36 +85,29 @@ ], "tagRenderings": [ { - "question": { - "en": "When was this node to node link last surveyed?", - "de": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", - "es": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", - "nl": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", - "fr": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", - "ca": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?", - "cs": "Kdy bylo toto propojení mezi uzly naposledy zkontrolováno?", - "pl": "Kiedy ostatnio badano to połączenie węzła z węzłem?" - }, - "render": { - "en": "This node to node link was last surveyed on {survey:date}", - "de": "Diese Knotenpunktverbindung wurde zuletzt am {survey:date} überprüft", - "es": "Este enlace nodo a nodo se sondeó por última vez el {survey:date}", - "nl": "Deze node-naar-node verbinding werd het laast gesurveyed op {survey:date}", - "fr": "Cette lien de nœud à nœud a été vérifié sur le terrain le {survey:date}", - "ca": "Aquest enllaç node a node es va sondejar per última vegada el {survey:date}", - "cs": "Toto propojení mezi uzly bylo naposledy zkontrolováno dne {survey:date}", - "pl": "To połączenie węzła z węzłem było ostatnio sprawdzane w dniu {survey:date}" - }, - "freeform": { - "key": "survey:date", - "type": "date" - }, - "mappings": [ - { - "if": "survey:date:={_now:date}", - "then": "Surveyed today!" + "builtin": "survey_date", + "override": { + "question": { + "en": "When was this node to node link last surveyed?", + "de": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", + "es": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", + "nl": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", + "fr": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", + "ca": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?", + "cs": "Kdy bylo toto propojení mezi uzly naposledy zkontrolováno?", + "pl": "Kiedy ostatnio badano to połączenie węzła z węzłem?" + }, + "render": { + "en": "This node to node link was last surveyed on {survey:date}", + "de": "Diese Knotenpunktverbindung wurde zuletzt am {survey:date} überprüft", + "es": "Este enlace nodo a nodo se sondeó por última vez el {survey:date}", + "nl": "Deze node-naar-node verbinding werd het laast gesurveyed op {survey:date}", + "fr": "Cette lien de nœud à nœud a été vérifié sur le terrain le {survey:date}", + "ca": "Aquest enllaç node a node es va sondejar per última vegada el {survey:date}", + "cs": "Toto propojení mezi uzly bylo naposledy zkontrolováno dne {survey:date}", + "pl": "To połączenie węzła z węzłem było ostatnio sprawdzane w dniu {survey:date}" } - ], + }, "id": "node2node-survey:date" }, "export_as_gpx" @@ -128,12 +116,12 @@ { "id": "node", "name": { - "en": "nodes", + "en": "Nodes", "de": "Knotenpunkte", "ca": "nodes", "es": "nodos", "nb_NO": "noder", - "nl": "knooppunten", + "nl": "Knooppunten", "fr": "noeuds", "pa_PK": "نوڈ", "cs": "uzly", @@ -157,11 +145,11 @@ "mappings": [ { "if": "rcn_ref~*", - "then": "
{rcn_ref}
" + "then": "
{rcn_ref}
" }, { "if": "rcn_ref=", - "then": "
?
" + "then": "
?
" } ] } @@ -170,11 +158,11 @@ "minzoom": 12, "title": { "render": { - "en": "cycle node {rcn_ref}", + "en": "Cycle node {rcn_ref}", "de": "Knotenpunkt {rcn_ref}", "es": "nodo ciclista {rcn_ref}", "nb_NO": "sykkelnode {rcn_ref}", - "nl": "fietsknooppunt {rcn_ref}", + "nl": "Fietsknooppunt {rcn_ref}", "fr": "nœud cycliste {rcn_ref}", "ca": "node ciclista {rcn_ref}", "cs": "uzel cyklu {rcn_ref}", @@ -183,36 +171,48 @@ }, "tagRenderings": [ { + "id": "node-rxn_ref", "question": { - "en": "When was this cycle node last surveyed?", - "de": "Wann wurde dieser Fahrradknotenpunkt zuletzt überprüft?", - "es": "¿Cuándo fue sondeado este nodo ciclista por última vez?", - "nl": "Wanneer is dit fietsknooppunt voor het laatst gecontroleerd?", - "fr": "Quand ce nœud cyclable a-t-il été vérifié sur le terrain pour la dernière fois ?", - "ca": "Quan va ser sondejat aquest node ciclista per última vegada?", - "cs": "Kdy byl tento uzel cyklu naposledy zkontrolován?", - "pl": "Kiedy ostatni raz badano ten węzeł rowerowy?" - }, - "render": { - "en": "This cycle node was last surveyed on {survey:date}", - "de": "Dieser Fahrradknoten wurde zuletzt überprüft am {survey:date}", - "es": "Este nodo ciclista se sondeó por última vez el {survey:date}", - "nl": "Dit fietsknooppunt is voor het laatst gecontroleerd op {survey:date}", - "fr": "Ce nœud cycliste a été verifié pour la dernière fois le {survey:date}", - "ca": "Aquest node ciclista es va sondejar per última vegada el {survey:date}", - "cs": "Tento uzel cyklu byl naposledy zkontrolován dne {survey:date}", - "pl": "Ten węzeł rowerowy był ostatnio badany w dniu {survey:date}" + "en": "What is the reference number of this cycling node?", + "nl": "Wat is het referentienummer van dit fietsknooppunt?" }, "freeform": { - "key": "survey:date", - "type": "date" - }, - "mappings": [ - { - "if": "survey:date:={_now:date}", - "then": "Surveyed today!" + "key": "rcn_ref", + "type": "int", + "placeholder": { + "en": "e.g. 1", + "nl": "bijv. 1" } - ], + }, + "render": { + "en": "This cycling node has reference number {rcn_ref}", + "nl": "Dit fietsknooppunt heeft referentienummer {rcn_ref}" + } + }, + { + "builtin": "survey_date", + "override": { + "question": { + "en": "When was this cycle node last surveyed?", + "de": "Wann wurde dieser Fahrradknotenpunkt zuletzt überprüft?", + "es": "¿Cuándo fue sondeado este nodo ciclista por última vez?", + "nl": "Wanneer is dit fietsknooppunt voor het laatst gecontroleerd?", + "fr": "Quand ce nœud cyclable a-t-il été vérifié sur le terrain pour la dernière fois ?", + "ca": "Quan va ser sondejat aquest node ciclista per última vegada?", + "cs": "Kdy byl tento uzel cyklu naposledy zkontrolován?", + "pl": "Kiedy ostatni raz badano ten węzeł rowerowy?" + }, + "render": { + "en": "This cycle node was last surveyed on {survey:date}", + "de": "Dieser Fahrradknoten wurde zuletzt überprüft am {survey:date}", + "es": "Este nodo ciclista se sondeó por última vez el {survey:date}", + "nl": "Dit fietsknooppunt is voor het laatst gecontroleerd op {survey:date}", + "fr": "Ce nœud cycliste a été verifié pour la dernière fois le {survey:date}", + "ca": "Aquest node ciclista es va sondejar per última vegada el {survey:date}", + "cs": "Tento uzel cyklu byl naposledy zkontrolován dne {survey:date}", + "pl": "Ten węzeł rowerowy był ostatnio badany w dniu {survey:date}" + } + }, "id": "node-survey:date" }, { @@ -238,12 +238,101 @@ }, "freeform": { "key": "expected_rcn_route_relations", - "type": "int" + "type": "int", + "placeholder": { + "en": "e.g. 3", + "nl": "bijv. 3" + } }, "id": "node-expected_rcn_route_relations" }, "images" + ], + "presets": [ + { + "tags": [ + "rcn_ref=?", + "network:type=node_network" + ], + "title": { + "en": "a cycling node", + "nl": "een fietsknooppunt" + }, + "snapToLayer": [ + "cycleways_and_roads" + ] + } ] + }, + { + "builtin": [ + "guidepost" + ], + "override": { + "minzoom": 16, + "source": { + "osmTags": { + "and": [ + "information=guidepost", + "bicycle=yes" + ] + } + }, + "presets": [ + { + "tags": [ + "tourism=information", + "information=guidepost", + "bicycle=yes" + ] + } + ], + "name": { + "en": "Cycling guideposts" + }, + "title": { + "render": { + "en": "Cycling guidepost" + } + } + }, + "hideTagRenderingsWithLabels": [ + "type" + ] + }, + { + "builtin": "route_marker", + "override": { + "minzoom": 16, + "mapRendering": [ + { + "icon": "./assets/themes/cyclenodes/route_marker.svg" + } + ], + "presets": [ + { + "tags": [ + "tourism=information", + "information=route_marker", + "network:type=node_network", + "bicycle=yes" + ], + "title": { + "en": "a route marker for a node to node link" + }, + "=exampleImages": [ + "./assets/layers/route_marker/bicycle_route_marker.jpg" + ] + } + ] + } + }, + { + "builtin": "cycleways_and_roads", + "override": { + "name": null, + "shownByDefault": false + } } ], "credits": "Sebastian Kürten" diff --git a/assets/themes/cyclenodes/license_info.json b/assets/themes/cyclenodes/license_info.json index 469e824d72..faf7743b74 100644 --- a/assets/themes/cyclenodes/license_info.json +++ b/assets/themes/cyclenodes/license_info.json @@ -8,5 +8,16 @@ "sources": [ "https://github.com/mobanisto/MapComplete/commit/1aeb1fdb5b09908d67907f3c816152bfebfdcc79" ] + }, + { + "path": "route_marker.svg", + "license": "CC0-1.0", + "authors": [ + "Robin van der Linde", + "MarianSigler" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Sinnbild_Radfahrer,_StVO_1992.svg" + ] } ] \ No newline at end of file diff --git a/assets/themes/cyclenodes/logo.svg b/assets/themes/cyclenodes/logo.svg index 6a860858af..3d44d5d964 100644 --- a/assets/themes/cyclenodes/logo.svg +++ b/assets/themes/cyclenodes/logo.svg @@ -15,13 +15,13 @@ - - - + + + - \ No newline at end of file + diff --git a/assets/themes/cyclenodes/route_marker.svg b/assets/themes/cyclenodes/route_marker.svg new file mode 100644 index 0000000000..c5c49be16f --- /dev/null +++ b/assets/themes/cyclenodes/route_marker.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/themes/cyclenodes/route_marker.svg.license b/assets/themes/cyclenodes/route_marker.svg.license new file mode 100644 index 0000000000..234c11e02e --- /dev/null +++ b/assets/themes/cyclenodes/route_marker.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Robin van der Linde; MarianSigler +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/themes/walkingnodes/license_info.json b/assets/themes/walkingnodes/license_info.json new file mode 100644 index 0000000000..ab0fef0f1d --- /dev/null +++ b/assets/themes/walkingnodes/license_info.json @@ -0,0 +1,20 @@ +[ + { + "path": "logo.svg", + "license": "GPL-3.0-only", + "authors": [ + "sebkur" + ], + "sources": [ + "https://github.com/mobanisto/MapComplete/commit/1aeb1fdb5b09908d67907f3c816152bfebfdcc79" + ] + }, + { + "path": "route_marker.svg", + "license": "CC0-1.0", + "authors": [ + "Robin van der Linde" + ], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/themes/walkingnodes/logo.svg b/assets/themes/walkingnodes/logo.svg new file mode 100644 index 0000000000..b685930769 --- /dev/null +++ b/assets/themes/walkingnodes/logo.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/walkingnodes/logo.svg.license b/assets/themes/walkingnodes/logo.svg.license new file mode 100644 index 0000000000..3176633b82 --- /dev/null +++ b/assets/themes/walkingnodes/logo.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: sebkur +SPDX-License-Identifier: GPL-3.0-only \ No newline at end of file diff --git a/assets/themes/walkingnodes/route_marker.svg b/assets/themes/walkingnodes/route_marker.svg new file mode 100644 index 0000000000..4679b92857 --- /dev/null +++ b/assets/themes/walkingnodes/route_marker.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/themes/walkingnodes/route_marker.svg.license b/assets/themes/walkingnodes/route_marker.svg.license new file mode 100644 index 0000000000..75299f8845 --- /dev/null +++ b/assets/themes/walkingnodes/route_marker.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Robin van der Linde +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/themes/walkingnodes/walkingnodes.json b/assets/themes/walkingnodes/walkingnodes.json new file mode 100644 index 0000000000..b6df0d224f --- /dev/null +++ b/assets/themes/walkingnodes/walkingnodes.json @@ -0,0 +1,293 @@ +{ + "id": "walkingnodes", + "title": { + "en": "Walking Node Networks", + "nl": "Wandelknooppuntnetwerken" + }, + "description": { + "en": "This map shows walking node networks and allows you to add new nodes easily", + "nl": "Deze kaart toont wandelknooppunten en laat je toe om eenvoudigweg nieuwe knooppunten toe te voegen" + }, + "icon": "./assets/themes/walkingnodes/logo.svg", + "hideFromOverview": true, + "startLat": 51.755515, + "startLon": 14.327545, + "startZoom": 11, + "layers": [ + { + "id": "node2node", + "name": { + "en": "Node to node links", + "de": "Knotenpunktverbindungen", + "es": "enlaces nodo a nodo", + "nl": "Verbindingen van node naar node", + "fr": "liens noeud à noeud", + "ca": "enllaços node a node", + "cs": "propojení mezi uzly", + "pl": "łącza węzeł do węzła" + }, + "source": { + "osmTags": { + "and": [ + "network=rwn", + "network:type=node_network", + "route=foot" + ] + } + }, + "minzoom": 12, + "title": { + "render": { + "en": "Node to node link", + "de": "Knotenpunktverbindung", + "es": "enlace nodo a nodo", + "nl": "Node-naar-node verbinding", + "fr": "lien noeud à noeud", + "ca": "Enllaç node a node", + "cs": "propojení mezi uzly", + "pl": "połączenie węzła z węzłem" + }, + "mappings": [ + { + "if": "ref~*", + "then": { + "en": "Node to node link {ref}", + "de": "Knotenpunktverbindung {ref}", + "es": "enlace nodo a nodo {ref}", + "nl": "Node-naar-node verbinding {ref}", + "fr": "lien noeud à noeud {ref}", + "ca": "Enllaç node a node {ref}", + "cs": "propojení mezi uzly {ref}", + "pl": "połączenie węzła z węzłem {ref}" + } + } + ] + }, + "mapRendering": [ + { + "width": "4", + "color": "#452b29" + } + ], + "tagRenderings": [ + { + "builtin": "survey_date", + "override": { + "question": { + "en": "When was this node to node link last surveyed?", + "de": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", + "es": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", + "nl": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", + "fr": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", + "ca": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?", + "cs": "Kdy bylo toto propojení mezi uzly naposledy zkontrolováno?", + "pl": "Kiedy ostatnio badano to połączenie węzła z węzłem?" + }, + "render": { + "en": "This node to node link was last surveyed on {survey:date}", + "de": "Diese Knotenpunktverbindung wurde zuletzt am {survey:date} überprüft", + "es": "Este enlace nodo a nodo se sondeó por última vez el {survey:date}", + "nl": "Deze node-naar-node verbinding werd het laast gesurveyed op {survey:date}", + "fr": "Cette lien de nœud à nœud a été vérifié sur le terrain le {survey:date}", + "ca": "Aquest enllaç node a node es va sondejar per última vegada el {survey:date}", + "cs": "Toto propojení mezi uzly bylo naposledy zkontrolováno dne {survey:date}", + "pl": "To połączenie węzła z węzłem było ostatnio sprawdzane w dniu {survey:date}" + } + }, + "id": "node2node-survey:date" + }, + "export_as_gpx" + ] + }, + { + "id": "node", + "name": { + "en": "Nodes", + "de": "Knotenpunkte", + "ca": "nodes", + "es": "nodos", + "nb_NO": "noder", + "nl": "Knooppunten", + "fr": "noeuds", + "pa_PK": "نوڈ", + "cs": "uzly", + "eu": "nodoak", + "pl": "węzły" + }, + "source": { + "osmTags": { + "and": [ + "rwn_ref~*" + ] + } + }, + "mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "label": { + "mappings": [ + { + "if": "rwn_ref~*", + "then": "
{rwn_ref}
" + }, + { + "if": "rwn_ref=", + "then": "
?
" + } + ] + } + } + ], + "minzoom": 12, + "title": { + "render": { + "en": "Walking node {rwn_ref}", + "nl": "Wandelknooppunt {rwn_ref}" + } + }, + "tagRenderings": [ + { + "id": "node-rwn_ref", + "question": { + "en": "What is the reference number of this walking node?", + "nl": "Wat is het referentienummer van dit wandelknooppunt?" + }, + "freeform": { + "key": "rwn_ref", + "type": "int", + "placeholder": { + "en": "e.g. 1", + "nl": "bijv. 1" + } + }, + "render": { + "en": "This walking node has reference number {rwn_ref}", + "nl": "Dit wandelknooppunt heeft referentienummer {rwn_ref}" + } + }, + { + "builtin": "survey_date", + "override": { + "question": { + "en": "When was this walking node last surveyed?", + "nl": "Wanneer is dit wandelknooppunt het laatst gesurveyed?" + }, + "render": { + "en": "This walking node was last surveyed on {survey:date}", + "nl": "Dit wandelknooppunt werd het laatst gesurveyed op {survey:date}" + } + } + }, + { + "question": { + "en": "How many other walking nodes does this node link to?", + "nl": "Met hoeveel andere wandelknooppunten heeft dit knooppunt een verbinding?" + }, + "render": { + "en": "This node links to {expected_rwn_route_relations} other walking nodes.", + "nl": "Dit knooppunt verbindt met {expected_rwn_route_relations} andere wandelknooppunten." + }, + "freeform": { + "key": "expected_rwn_route_relations", + "type": "int", + "placeholder": { + "en": "e.g. 3", + "nl": "bijv. 3" + } + }, + "id": "node-expected_rwn_route_relations" + }, + "images" + ], + "presets": [ + { + "tags": [ + "rwn_ref=?", + "network:type=node_network" + ], + "title": { + "en": "a walking node", + "nl": "een wandelknooppunt" + }, + "snapToLayer": [ + "cycleways_and_roads" + ] + } + ] + }, + { + "builtin": [ + "guidepost" + ], + "override": { + "minzoom": 16, + "source": { + "osmTags": { + "and": [ + "information=guidepost", + "hiking=yes" + ] + } + }, + "presets": [ + { + "tags": [ + "tourism=information", + "information=guidepost", + "hiking=yes" + ] + } + ], + "name": { + "en": "Hiking guideposts" + }, + "title": { + "render": { + "en": "Hiking guidepost" + } + } + }, + "hideTagRenderingsWithLabels": [ + "type" + ] + }, + { + "builtin": "route_marker", + "override": { + "minzoom": 16, + "mapRendering": [ + { + "icon": "./assets/themes/walkingnodes/route_marker.svg" + } + ], + "presets": [ + { + "tags": [ + "tourism=information", + "information=route_marker", + "network:type=node_network", + "hiking=yes" + ], + "title": { + "en": "a route marker for a node to node link" + }, + "=exampleImages": [ + "./assets/layers/route_marker/walking_route_marker.jpg" + ] + } + ] + } + }, + { + "builtin": "cycleways_and_roads", + "override": { + "name": null, + "shownByDefault": false + } + } + ], + "credits": "Sebastian Kürten" +} \ No newline at end of file diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 8a12460949..991a73b3d7 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -479,8 +479,10 @@ "name": "enllaços node a node", "tagRenderings": { "node2node-survey:date": { - "question": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?", - "render": "Aquest enllaç node a node es va sondejar per última vegada el {survey:date}" + "override": { + "question": "Quan es va comprovar per última vegada aquest enllaç node a node presencialment?", + "render": "Aquest enllaç node a node es va sondejar per última vegada el {survey:date}" + } } }, "title": { @@ -500,8 +502,10 @@ "render": "Aquest node enllaça a {expected_rcn_route_relations} altres nodes ciclistes." }, "node-survey:date": { - "question": "Quan va ser sondejat aquest node ciclista per última vegada?", - "render": "Aquest node ciclista es va sondejar per última vegada el {survey:date}" + "override": { + "question": "Quan va ser sondejat aquest node ciclista per última vegada?", + "render": "Aquest node ciclista es va sondejar per última vegada el {survey:date}" + } } }, "title": { diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 5c2b7fb714..92bd971503 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -479,8 +479,10 @@ "name": "propojení mezi uzly", "tagRenderings": { "node2node-survey:date": { - "question": "Kdy bylo toto propojení mezi uzly naposledy zkontrolováno?", - "render": "Toto propojení mezi uzly bylo naposledy zkontrolováno dne {survey:date}" + "override": { + "question": "Kdy bylo toto propojení mezi uzly naposledy zkontrolováno?", + "render": "Toto propojení mezi uzly bylo naposledy zkontrolováno dne {survey:date}" + } } }, "title": { @@ -500,8 +502,10 @@ "render": "Tento uzel je propojen s {expected_rcn_route_relations} dalšími uzly cyklu." }, "node-survey:date": { - "question": "Kdy byl tento uzel cyklu naposledy zkontrolován?", - "render": "Tento uzel cyklu byl naposledy zkontrolován dne {survey:date}" + "override": { + "question": "Kdy byl tento uzel cyklu naposledy zkontrolován?", + "render": "Tento uzel cyklu byl naposledy zkontrolován dne {survey:date}" + } } }, "title": { diff --git a/langs/themes/de.json b/langs/themes/de.json index 099e67d1eb..400ddbdae7 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -479,8 +479,10 @@ "name": "Knotenpunktverbindungen", "tagRenderings": { "node2node-survey:date": { - "question": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", - "render": "Diese Knotenpunktverbindung wurde zuletzt am {survey:date} überprüft" + "override": { + "question": "Wann wurde diese Knotenpunktverbindung zuletzt überprüft?", + "render": "Diese Knotenpunktverbindung wurde zuletzt am {survey:date} überprüft" + } } }, "title": { @@ -500,8 +502,10 @@ "render": "Dieser Knoten ist mit {expected_rcn_route_relations} anderen Knoten des Fahrradknotenpunktnetzwerkes verbunden." }, "node-survey:date": { - "question": "Wann wurde dieser Fahrradknotenpunkt zuletzt überprüft?", - "render": "Dieser Fahrradknoten wurde zuletzt überprüft am {survey:date}" + "override": { + "question": "Wann wurde dieser Fahrradknotenpunkt zuletzt überprüft?", + "render": "Dieser Fahrradknoten wurde zuletzt überprüft am {survey:date}" + } } }, "title": { diff --git a/langs/themes/en.json b/langs/themes/en.json index da64985f90..5326c1ec7e 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -476,36 +476,64 @@ "description": "This map shows cycle node networks and allows you to add new nodes easily", "layers": { "0": { - "name": "node to node links", + "name": "Node to node links", "tagRenderings": { "node2node-survey:date": { - "question": "When was this node to node link last surveyed?", - "render": "This node to node link was last surveyed on {survey:date}" + "override": { + "question": "When was this node to node link last surveyed?", + "render": "This node to node link was last surveyed on {survey:date}" + } } }, "title": { "mappings": { "0": { - "then": "node to node link {ref}" + "then": "Node to node link {ref}" } }, - "render": "node to node link" + "render": "Node to node link" } }, "1": { - "name": "nodes", + "name": "Nodes", + "presets": { + "0": { + "title": "a cycling node" + } + }, "tagRenderings": { "node-expected_rcn_route_relations": { + "freeform": { + "placeholder": "e.g. 3" + }, "question": "How many other cycle nodes does this node link to?", "render": "This node links to {expected_rcn_route_relations} other cycle nodes." }, + "node-rxn_ref": { + "freeform": { + "placeholder": "e.g. 1" + }, + "question": "What is the reference number of this cycling node?", + "render": "This cycling node has reference number {rcn_ref}" + }, "node-survey:date": { - "question": "When was this cycle node last surveyed?", - "render": "This cycle node was last surveyed on {survey:date}" + "override": { + "question": "When was this cycle node last surveyed?", + "render": "This cycle node was last surveyed on {survey:date}" + } } }, "title": { - "render": "cycle node {rcn_ref}" + "render": "Cycle node {rcn_ref}" + } + }, + "3": { + "override": { + "presets": { + "0": { + "title": "a route marker for a node to node link" + } + } } } }, diff --git a/langs/themes/es.json b/langs/themes/es.json index bc1269a2fc..771287a047 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -479,8 +479,10 @@ "name": "enlaces nodo a nodo", "tagRenderings": { "node2node-survey:date": { - "question": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", - "render": "Este enlace nodo a nodo se sondeó por última vez el {survey:date}" + "override": { + "question": "¿Cuándo se sondeó este enlace nodo a nodo por última vez?", + "render": "Este enlace nodo a nodo se sondeó por última vez el {survey:date}" + } } }, "title": { @@ -500,8 +502,10 @@ "render": "Este nodo enlaza a {expected_rcn_route_relations} otros nodos ciclistas." }, "node-survey:date": { - "question": "¿Cuándo fue sondeado este nodo ciclista por última vez?", - "render": "Este nodo ciclista se sondeó por última vez el {survey:date}" + "override": { + "question": "¿Cuándo fue sondeado este nodo ciclista por última vez?", + "render": "Este nodo ciclista se sondeó por última vez el {survey:date}" + } } }, "title": { diff --git a/langs/themes/fr.json b/langs/themes/fr.json index 21da83331b..f0b1cdea78 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -476,8 +476,10 @@ "name": "liens noeud à noeud", "tagRenderings": { "node2node-survey:date": { - "question": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", - "render": "Cette lien de nœud à nœud a été vérifié sur le terrain le {survey:date}" + "override": { + "question": "Quand cette liaison de nœud à nœud a-t-elle été contrôlée sur le terrain pour la dernière fois ?", + "render": "Cette lien de nœud à nœud a été vérifié sur le terrain le {survey:date}" + } } }, "title": { @@ -497,8 +499,10 @@ "render": "Ce noeud est lié à {expected_rcn_route_relations} d'autres noeuds cyclistes." }, "node-survey:date": { - "question": "Quand ce nœud cyclable a-t-il été vérifié sur le terrain pour la dernière fois ?", - "render": "Ce nœud cycliste a été verifié pour la dernière fois le {survey:date}" + "override": { + "question": "Quand ce nœud cyclable a-t-il été vérifié sur le terrain pour la dernière fois ?", + "render": "Ce nœud cycliste a été verifié pour la dernière fois le {survey:date}" + } } }, "title": { diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 2affa3f475..774abe7379 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -427,36 +427,55 @@ "description": "Deze kaart toont fietsknooppunten en laat je toe om eenvoudigweg nieuwe knooppunten toe te voegen", "layers": { "0": { - "name": "verbindingen van node naar node", + "name": "Verbindingen van node naar node", "tagRenderings": { "node2node-survey:date": { - "question": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", - "render": "Deze node-naar-node verbinding werd het laast gesurveyed op {survey:date}" + "override": { + "question": "Wanneer werd deze node-naar-node verbinding het laast gesurveyed?", + "render": "Deze node-naar-node verbinding werd het laast gesurveyed op {survey:date}" + } } }, "title": { "mappings": { "0": { - "then": "node-naar-node verbinding {ref}" + "then": "Node-naar-node verbinding {ref}" } }, - "render": "node-naar-node verbinding" + "render": "Node-naar-node verbinding" } }, "1": { - "name": "knooppunten", + "name": "Knooppunten", + "presets": { + "0": { + "title": "een fietsknooppunt" + } + }, "tagRenderings": { "node-expected_rcn_route_relations": { + "freeform": { + "placeholder": "bijv. 3" + }, "question": "Met hoeveel andere fietsknooppunten heeft dit knooppunt een verbinding?", "render": "Dit knooppunt verbindt met {expected_rcn_route_relations} andere fietsknooppunten." }, + "node-rxn_ref": { + "freeform": { + "placeholder": "bijv. 1" + }, + "question": "Wat is het referentienummer van dit fietsknooppunt?", + "render": "Dit fietsknooppunt heeft referentienummer {rcn_ref}" + }, "node-survey:date": { - "question": "Wanneer is dit fietsknooppunt voor het laatst gecontroleerd?", - "render": "Dit fietsknooppunt is voor het laatst gecontroleerd op {survey:date}" + "override": { + "question": "Wanneer is dit fietsknooppunt voor het laatst gecontroleerd?", + "render": "Dit fietsknooppunt is voor het laatst gecontroleerd op {survey:date}" + } } }, "title": { - "render": "fietsknooppunt {rcn_ref}" + "render": "Fietsknooppunt {rcn_ref}" } } }, diff --git a/langs/themes/pl.json b/langs/themes/pl.json index e74f352649..075c3ed1ab 100644 --- a/langs/themes/pl.json +++ b/langs/themes/pl.json @@ -479,8 +479,10 @@ "name": "łącza węzeł do węzła", "tagRenderings": { "node2node-survey:date": { - "question": "Kiedy ostatnio badano to połączenie węzła z węzłem?", - "render": "To połączenie węzła z węzłem było ostatnio sprawdzane w dniu {survey:date}" + "override": { + "question": "Kiedy ostatnio badano to połączenie węzła z węzłem?", + "render": "To połączenie węzła z węzłem było ostatnio sprawdzane w dniu {survey:date}" + } } }, "title": { @@ -500,8 +502,10 @@ "render": "Ten węzeł łączy się z innymi węzłami rowerowymi {expected_rcn_route_relations}." }, "node-survey:date": { - "question": "Kiedy ostatni raz badano ten węzeł rowerowy?", - "render": "Ten węzeł rowerowy był ostatnio badany w dniu {survey:date}" + "override": { + "question": "Kiedy ostatni raz badano ten węzeł rowerowy?", + "render": "Ten węzeł rowerowy był ostatnio badany w dniu {survey:date}" + } } }, "title": { diff --git a/src/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts index 13e0b84ef2..42feb0ebfe 100644 --- a/src/Models/ThemeConfig/LayerConfig.ts +++ b/src/Models/ThemeConfig/LayerConfig.ts @@ -229,7 +229,11 @@ export default class LayerConfig extends WithContextLoader { maxSnapDistance: undefined, } if (pr["preciseInput"] !== undefined) { - throw "Layer " + this.id + " still uses the old 'preciseInput'-field" + throw ( + "Layer " + + this.id + + " still uses the old 'preciseInput'-field. For snapping to layers, use 'snapToLayer' instead" + ) } if (pr.snapToLayer !== undefined) { let snapToLayers: string[] @@ -520,7 +524,7 @@ export default class LayerConfig extends WithContextLoader { neededTags = this.source.osmTags["and"] } - let tableRows = Utils.NoNull( + const tableRows = Utils.NoNull( this.tagRenderings .map((tr) => tr.FreeformValues()) .map((values) => {