From ec6cb4eca27ed6c927778882747a7c507e9663f4 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Tue, 29 Oct 2024 22:44:35 +0100 Subject: [PATCH] Add basic tactile map / model layer (#1853) --- assets/layers/tactile_map/tactile_map.json | 147 ++++++++++++++++ assets/layers/tactile_model/license_info.json | 10 ++ .../layers/tactile_model/tactile_model.json | 162 ++++++++++++++++++ assets/layers/tactile_model/tactile_model.svg | 26 +++ assets/themes/blind_osm/blind_osm.json | 6 +- 5 files changed, 349 insertions(+), 2 deletions(-) create mode 100644 assets/layers/tactile_map/tactile_map.json create mode 100644 assets/layers/tactile_model/license_info.json create mode 100644 assets/layers/tactile_model/tactile_model.json create mode 100644 assets/layers/tactile_model/tactile_model.svg diff --git a/assets/layers/tactile_map/tactile_map.json b/assets/layers/tactile_map/tactile_map.json new file mode 100644 index 000000000..edb59db4c --- /dev/null +++ b/assets/layers/tactile_map/tactile_map.json @@ -0,0 +1,147 @@ +{ + "id": "tactile_map", + "name": { + "en": "Tactile Maps" + }, + "description": { + "en": "Layer showing tactile maps, which can be used by visually impaired people to navigate the city." + }, + "source": { + "osmTags": "information=tactile_map" + }, + "title": { + "en": "Tactile Map" + }, + "presets": [ + { + "tags": [ + "tourism=information", + "information=tactile_map" + ], + "title": { + "en": "a tactile map" + }, + "description": { + "en": "A tactile map that can be read using touch. Unlike a tactile model, this is relatively flat and does not feature three-dimensional buildings and such." + } + } + ], + "deletion": true, + "allowMove": true, + "minzoom": 10, + "pointRendering": [ + { + "marker": [ + { + "icon": "./assets/layers/map/map.svg" + } + ], + "location": [ + "point", + "centroid" + ] + } + ], + "tagRenderings": [ + "images", + { + "id": "description", + "question": { + "en": "What does this tactile map show?" + }, + "freeform": { + "key": "blind:description:en", + "placeholder": { + "en": "e.g. Tactile map of the city center" + } + }, + "render": { + "en": "Description: {blind:description:en}." + } + }, + { + "id": "braille", + "question": { + "en": "Is there braille text on this tactile map?" + }, + "mappings": [ + { + "if": "braille=yes", + "then": { + "en": "This tactile map has braille text." + } + }, + { + "if": "braille=no", + "then": { + "en": "This tactile map does not have braille text." + } + } + ] + }, + { + "id": "braille_languages", + "question": { + "en": "In which languages is the braille text on this tactile map?" + }, + "condition": "braille=yes", + "render": { + "special": { + "type": "language_chooser", + "key": "tactile_writing:braille", + "question": { + "en": "In which languages is the braille text on this tactile map?" + }, + "render_list_item": { + "en": "This map has braille text in {language}" + }, + "render_single_language": { + "en": "This map has braille text in {language}" + } + } + } + }, + { + "id": "embossed_letters", + "question": { + "en": "Are there embossed letters on this tactile map?" + }, + "mappings": [ + { + "if": "embossed_letters=yes", + "then": { + "en": "This tactile map has embossed letters." + } + }, + { + "if": "embossed_letters=no", + "then": { + "en": "This tactile map does not have embossed letters." + } + } + ] + }, + { + "id": "embossed_letters_languages", + "question": { + "en": "In which languages are the embossed letters on this tactile map?" + }, + "condition": "embossed_letters=yes", + "render": { + "special": { + "type": "language_chooser", + "key": "tactile_writing:embossed", + "question": { + "en": "In which languages are the embossed letters on this tactile map?" + }, + "render_list_item": { + "en": "This map has embossed letters in {language}" + }, + "render_single_language": { + "en": "This map has embossed letters in {language}" + } + } + } + } + ] +} \ No newline at end of file diff --git a/assets/layers/tactile_model/license_info.json b/assets/layers/tactile_model/license_info.json new file mode 100644 index 000000000..27bb9d186 --- /dev/null +++ b/assets/layers/tactile_model/license_info.json @@ -0,0 +1,10 @@ +[ + { + "path": "tactile_model.svg", + "license": "CC0", + "authors": [ + "Robin van der Linde" + ], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/layers/tactile_model/tactile_model.json b/assets/layers/tactile_model/tactile_model.json new file mode 100644 index 000000000..93588e966 --- /dev/null +++ b/assets/layers/tactile_model/tactile_model.json @@ -0,0 +1,162 @@ +{ + "id": "tactile_model", + "name": { + "en": "Tactile Models" + }, + "description": { + "en": "Layer showing tactile models, three-dimensional models of the surrounding area." + }, + "source": { + "osmTags": "information=tactile_model" + }, + "title": { + "en": "Tactile Model" + }, + "presets": [ + { + "tags": [ + "tourism=information", + "information=tactile_model" + ], + "title": { + "en": "a tactile model" + }, + "description": { + "en": "A tactile model is a three-dimensional model of an area, allowing people to explore/see an area by touch." + } + } + ], + "deletion": true, + "allowMove": true, + "minzoom": 10, + "pointRendering": [ + { + "marker": [ + { + "icon": "./assets/layers/tactile_model/tactile_model.svg" + } + ], + "location": [ + "point", + "centroid" + ] + } + ], + "tagRenderings": [ + "images", + { + "id": "description", + "question": { + "en": "What does this tactile model show?" + }, + "freeform": { + "key": "blind:description:en", + "placeholder": { + "en": "e.g. Tactile model of the city center" + } + }, + "render": { + "en": "Description: {blind:description:en}." + } + }, + { + "id": "braille", + "question": { + "en": "Is there a braille description?" + }, + "mappings": [ + { + "if": "braille=yes", + "then": { + "en": "There is a braille description." + } + }, + { + "if": "braille=no", + "then": { + "en": "There is no braille description." + } + } + ] + }, + { + "id": "braille_languages", + "condition": "braille=yes", + "question": { + "en": "In which languages is the braille description available?" + }, + "render": { + "special": { + "type": "language_chooser", + "key": "tactile_writing:braille", + "question": { + "en": "In which languages is there a braille description?" + }, + "render_list_item": { + "en": "This model has a braille description in {language()}" + }, + "render_single_language": { + "en": "This model has a braille description in {language}" + } + } + } + }, + { + "id": "embossed_letters", + "question": { + "en": "Are there embossed letters describing the model?" + }, + "mappings": [ + { + "if": "embossed_letters=yes", + "then": { + "en": "There are embossed letters describing the model." + } + }, + { + "if": "embossed_letters=no", + "then": { + "en": "There are no embossed letters describing the model." + } + } + ] + }, + { + "id": "embossed_letters_languages", + "condition": "embossed_letters=yes", + "question": { + "en": "In which languages are the embossed letters available?" + }, + "render": { + "special": { + "type": "language_chooser", + "key": "tactile_writing:embossed_letters", + "question": { + "en": "In which languages are there embossed letters?" + }, + "render_list_item": { + "en": "This model has embossed letters in {language()}" + }, + "render_single_language": { + "en": "This model has embossed letters in {language}" + } + } + } + }, + { + "id": "scale", + "question": { + "en": "What scale is the model?" + }, + "freeform": { + "key": "scale", + "placeholder": { + "en": "e.g. 1:1000" + } + }, + "render": { + "en": "The scale of this model is {scale}." + } + } + ] +} \ No newline at end of file diff --git a/assets/layers/tactile_model/tactile_model.svg b/assets/layers/tactile_model/tactile_model.svg new file mode 100644 index 000000000..e565a43ec --- /dev/null +++ b/assets/layers/tactile_model/tactile_model.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/blind_osm/blind_osm.json b/assets/themes/blind_osm/blind_osm.json index ab98fa5da..b45f9a4fc 100644 --- a/assets/themes/blind_osm/blind_osm.json +++ b/assets/themes/blind_osm/blind_osm.json @@ -117,6 +117,8 @@ "minzoom": 17 } }, - "stairs" + "stairs", + "tactile_map", + "tactile_model" ] -} +} \ No newline at end of file