diff --git a/assets/layers/route_marker/license_info.json b/assets/layers/route_marker/license_info.json
new file mode 100644
index 000000000..e8f5acb07
--- /dev/null
+++ b/assets/layers/route_marker/license_info.json
@@ -0,0 +1,10 @@
+[
+ {
+ "path": "route_marker.svg",
+ "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 000000000..b30833a93
--- /dev/null
+++ b/assets/layers/route_marker/route_marker.json
@@ -0,0 +1,93 @@
+{
+ "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."
+ }
+ }
+ ],
+ "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=no",
+ "then": {
+ "en": "This is a route marker for a bicycle route."
+ }
+ },
+ {
+ "if": "hiking=yes",
+ "ifnot": "hiking=no",
+ "then": {
+ "en": "This is a route marker for a hiking route."
+ }
+ },
+ {
+ "if": "mtb=yes",
+ "ifnot": "mtb=no",
+ "then": {
+ "en": "This is a route marker for a mountain bike route."
+ }
+ },
+ {
+ "if": "horse=yes",
+ "ifnot": "horse=no",
+ "then": {
+ "en": "This is a route marker for a horse riding route."
+ }
+ },
+ {
+ "if": "ski=yes",
+ "ifnot": "ski=no",
+ "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 000000000..7dd5e4a1b
--- /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 000000000..75299f884
--- /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/vending_machine/vending_machine.json b/assets/layers/vending_machine/vending_machine.json
index 8bb4e740b..ca193086e 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 2452bee1e..ed0288300 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 5789a55cc..5d208d1c7 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,70 @@
},
"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
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "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 469e824d7..faf7743b7 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 6a860858a..3d44d5d96 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 000000000..c5c49be16
--- /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 000000000..234c11e02
--- /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 000000000..ab0fef0f1
--- /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 000000000..b68593076
--- /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 000000000..3176633b8
--- /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 000000000..4679b9285
--- /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 000000000..75299f884
--- /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 000000000..b433bc3fa
--- /dev/null
+++ b/assets/themes/walkingnodes/walkingnodes.json
@@ -0,0 +1,262 @@
+{
+ "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
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "builtin": "cycleways_and_roads",
+ "override": {
+ "name": null,
+ "shownByDefault": false
+ }
+ }
+ ],
+ "credits": "Sebastian Kürten"
+}
\ No newline at end of file
diff --git a/src/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts
index 13e0b84ef..42feb0ebf 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) => {