diff --git a/assets/layers/crossings/180px-Trairvoja_mapeto.jpg b/assets/layers/crossings/180px-Trairvoja_mapeto.jpg
new file mode 100644
index 000000000..8dcb9d9ae
Binary files /dev/null and b/assets/layers/crossings/180px-Trairvoja_mapeto.jpg differ
diff --git a/assets/layers/crossings/Vibrating_button_illustration.jpg b/assets/layers/crossings/Vibrating_button_illustration.jpg
new file mode 100644
index 000000000..eb676e6b5
Binary files /dev/null and b/assets/layers/crossings/Vibrating_button_illustration.jpg differ
diff --git a/assets/layers/crossings/crossings.json b/assets/layers/crossings/crossings.json
index 4377af142..e159f6deb 100644
--- a/assets/layers/crossings/crossings.json
+++ b/assets/layers/crossings/crossings.json
@@ -121,6 +121,7 @@
}
],
"tagRenderings": [
+ "images",
{
"id": "crossing-type",
"question": {
@@ -339,6 +340,115 @@
}
]
},
+ {
+ "id": "crossing-sound",
+ "question": {
+ "en": "Does this traffic light have sound signals to aid crossing?"
+ },
+ "condition": "crossing=traffic_signals",
+ "mappings": [
+ {
+ "if": "traffic_signals:sound=yes",
+ "then": {
+ "en": "This traffic light has sound signals to help crossing, both for finding the crossing and for crossing."
+ }
+ },
+ {
+ "if": "traffic_signals:sound=no",
+ "then": {
+ "en": "This traffic light does not have sound signals to help crossing."
+ }
+ },
+ {
+ "if": "traffic_signals:sound=locate",
+ "then": {
+ "en": "This traffic light has a sound signal to help locate the pole, but no signal to sign that it is safe to cross."
+ }
+ },
+ {
+ "if": "traffic_signals:sound=walk",
+ "then": {
+ "en": "This traffic light has a sound signal to sign that it is safe to cross, but no signal to help locate the pole."
+ }
+ }
+ ]
+ },
+ {
+ "id": "crossing-vibration",
+ "question": {
+ "en": "Does this traffic light have vibration signals to aid crossing? (usually located at the bottom of the crossing button)"
+ },
+ "condition": {
+ "and": [
+ "crossing=traffic_signals",
+ "button_operated=yes"
+ ]
+ },
+ "mappings": [
+ {
+ "if": "traffic_signals:vibration=yes",
+ "then": {
+ "en": "The button for this traffic light has a vibration signal to indicate that it is safe to cross."
+ },
+ "icon": {
+ "path": "./assets/layers/crossings/Vibrating_button_illustration.jpg",
+ "class": "large"
+ }
+ },
+ {
+ "if": "traffic_signals:vibration=no",
+ "then": {
+ "en": "The button for this traffic light does not have a vibration signal to indicate that it is safe to cross."
+ }
+ }
+ ]
+ },
+ {
+ "id": "crossing-arrow",
+ "question": {
+ "en": "Does this traffic light have an arrow pointing in the direction of crossing?"
+ },
+ "condition": "crossing=traffic_signals",
+ "mappings": [
+ {
+ "if": "traffic_signals:arrow=yes",
+ "then": {
+ "en": "This traffic light has an arrow pointing in the direction of crossing."
+ }
+ },
+ {
+ "if": "traffic_signals:arrow=no",
+ "then": {
+ "en": "This traffic light does not have an arrow pointing in the direction of crossing."
+ }
+ }
+ ]
+ },
+ {
+ "id": "crossing-minimap",
+ "question": {
+ "en": "Does this traffic light have a tactile map showing the layout of the crossing?"
+ },
+ "condition": "crossing=traffic_signals",
+ "mappings": [
+ {
+ "if": "traffic_signals:minimap=yes",
+ "then": {
+ "en": "This traffic light has a tactile map showing the layout of the crossing."
+ },
+ "icon": {
+ "path": "./assets/layers/crossings/180px-Trairvoja_mapeto.jpg",
+ "class": "large"
+ }
+ },
+ {
+ "if": "traffic_signals:minimap=no",
+ "then": {
+ "en": "This traffic light does not have a tactile map showing the layout of the crossing."
+ }
+ }
+ ]
+ },
{
"id": "crossing-right-turn-through-red",
"question": {
@@ -454,4 +564,4 @@
"width": "5"
}
]
-}
\ No newline at end of file
+}
diff --git a/assets/layers/crossings/license_info.json b/assets/layers/crossings/license_info.json
index a1054d3f1..088c6de42 100644
--- a/assets/layers/crossings/license_info.json
+++ b/assets/layers/crossings/license_info.json
@@ -1,4 +1,14 @@
[
+ {
+ "path": "180px-Trairvoja_mapeto.jpg",
+ "license": "CC-BY-SA 4.0",
+ "authors": [
+ "Martin Constantino–Bodin"
+ ],
+ "sources": [
+ "https://commons.wikimedia.org/wiki/File:Trairvoja_mapeto.jpg"
+ ]
+ },
{
"path": "Belgian_road_sign_B22.svg",
"license": "CC0",
@@ -19,6 +29,16 @@
"https://commons.wikimedia.org/wiki/File:Belgian_road_sign_B23.svg"
]
},
+ {
+ "path": "Vibrating_button_illustration.jpg",
+ "license": "CC-BY 4.0",
+ "authors": [
+ "Tobias Zwick"
+ ],
+ "sources": [
+ "https://wiki.openstreetmap.org/wiki/File:Vibrating_button_illustration.jpg"
+ ]
+ },
{
"path": "pedestrian_crossing.svg",
"license": "CC-BY-SA 4.0",
diff --git a/assets/layers/transit_stops/transit_stops.json b/assets/layers/transit_stops/transit_stops.json
index 47b48f6f7..f496722dc 100644
--- a/assets/layers/transit_stops/transit_stops.json
+++ b/assets/layers/transit_stops/transit_stops.json
@@ -94,8 +94,7 @@
"en": "What is the name of this stop?",
"de": "Wie lautet der Name der Haltestelle?",
"da": "Hvad er navnet på dette stop?"
- },
- "placeholder": "Name of the stop"
+ }
},
"images",
{
@@ -313,6 +312,74 @@
"id": "contained_routes"
}
],
- "filter": [],
+ "filter": [
+ {
+ "id": "shelter",
+ "options": [
+ {
+ "osmTags": {
+ "or": ["shelter=yes", "shelter=separate"]
+ },
+ "question": {
+ "en": "With a shelter"
+ }
+ }
+ ]
+ },
+ {
+ "id": "bench",
+ "options": [
+ {
+ "osmTags": {
+ "or": ["bench=yes", "bench=separate"]
+ },
+ "question": {
+ "en": "With a bench"
+ }
+ }
+ ]
+ },
+ {
+ "id": "bin",
+ "options": [
+ {
+ "osmTags": {
+ "or": ["bin=yes", "bin=separate"]
+ },
+ "question": {
+ "en": "With a bin"
+ }
+ }
+ ]
+ },
+ {
+ "id": "tactile-paving",
+ "options": [
+ {
+ "question": {
+ "en": "With or without tactile paving"
+ }
+ },
+ {
+ "osmTags": "tactile_paving=yes",
+ "question": {
+ "en": "With tactile paving"
+ }
+ },
+ {
+ "osmTags": "tactile_paving=no",
+ "question": {
+ "en": "Without tactile paving"
+ }
+ },
+ {
+ "osmTags": "tactile_paving=",
+ "question": {
+ "en": "Without information about tactile paving"
+ }
+ }
+ ]
+ }
+ ],
"allowMove": false
-}
\ No newline at end of file
+}
diff --git a/assets/themes/blind_osm/Blindicon.svg b/assets/themes/blind_osm/Blindicon.svg
new file mode 100644
index 000000000..1d62218ba
--- /dev/null
+++ b/assets/themes/blind_osm/Blindicon.svg
@@ -0,0 +1,79 @@
+
+
diff --git a/assets/themes/blind_osm/blind_osm.json b/assets/themes/blind_osm/blind_osm.json
new file mode 100644
index 000000000..a0740bf08
--- /dev/null
+++ b/assets/themes/blind_osm/blind_osm.json
@@ -0,0 +1,82 @@
+{
+ "id": "blind_osm",
+ "title": {
+ "en": "OSM for the blind"
+ },
+ "description": {
+ "en": "Help to map features relevant for the blind"
+ },
+ "icon": "./assets/themes/blind_osm/Blindicon.svg",
+ "startLat": 0,
+ "startLon": 0,
+ "startZoom": 0,
+ "defaultBackgroundId": "CartoDB.Positron",
+ "layers": [
+ {
+ "builtin": "cycleways_and_roads",
+ "override": {
+ "mapRendering": null,
+ "title": null
+ }
+ },
+ {
+ "builtin": "crossings",
+ "override": {
+ "mapRendering": [
+ {
+ "iconBadges": [
+ {
+ "if": "tactile_paving=yes",
+ "then": "circle:green"
+ },
+ {
+ "if": "tactile_paving=no",
+ "then": "circle:red"
+ }
+ ]
+ }
+ ]
+ },
+ "hideTagRenderingsWithLabels": ["crossing-bicycle-allowed"]
+ },
+ {
+ "builtin": "kerbs",
+ "override": {
+ "minzoom": 19,
+ "mapRendering": [
+ {
+ "iconBadges": [
+ {
+ "if": "tactile_paving=yes",
+ "then": "circle:green"
+ },
+ {
+ "if": "tactile_paving=no",
+ "then": "circle:red"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "builtin": "transit_stops",
+ "override": {
+ "mapRendering": [
+ {
+ "iconBadges": [
+ {
+ "if": "tactile_paving=yes",
+ "then": "circle:green"
+ },
+ {
+ "if": "tactile_paving=no",
+ "then": "circle:red"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/assets/themes/blind_osm/license_info.json b/assets/themes/blind_osm/license_info.json
new file mode 100644
index 000000000..82b1c85ba
--- /dev/null
+++ b/assets/themes/blind_osm/license_info.json
@@ -0,0 +1,13 @@
+[
+ {
+ "path": "Blindicon.svg",
+ "license": "CC0",
+ "authors": [
+ "Abu badali",
+ "AIGA"
+ ],
+ "sources": [
+ "https://commons.wikimedia.org/wiki/File:Blindicon.svg"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index 161d3232d..94bb3f268 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -146,6 +146,10 @@
"if": "theme=binoculars",
"then": "./assets/layers/binocular/telescope.svg"
},
+ {
+ "if": "theme=blind_osm",
+ "then": "./assets/themes/blind_osm/Blindicon.svg"
+ },
{
"if": "theme=bookcases",
"then": "./assets/themes/bookcases/bookcase.svg"