Add basic tactile map / model layer (#1853)

This commit is contained in:
Robin van der Linde 2024-10-29 22:44:35 +01:00
parent 453a25d89c
commit ec6cb4eca2
No known key found for this signature in database
GPG key ID: 53956B3252478F0D
5 changed files with 349 additions and 2 deletions

View file

@ -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}"
}
}
}
}
]
}

View file

@ -0,0 +1,10 @@
[
{
"path": "tactile_model.svg",
"license": "CC0",
"authors": [
"Robin van der Linde"
],
"sources": []
}
]

View file

@ -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}."
}
}
]
}

View file

@ -0,0 +1,26 @@
<svg width="500" height="500" viewBox="0 0 500 500" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="250" cy="250" r="250" fill="#555555"/>
<ellipse cx="250" cy="288" rx="200" ry="150" fill="#977A59"/>
<rect x="201.286" y="259.14" width="97.4286" height="92.8598" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="226" y="167" width="48" height="68" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="249" y="92" width="2" height="28" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="243" y="103" width="14" height="2" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M202.165 257.818L250 209.423L297.835 257.818H202.165Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M225.654 166.818L250 119.197L274.346 166.818H225.654Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="96" y="301" width="58" height="68" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M96.7832 299.5L125 264.591L153.217 299.5H96.7832Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="161" y="291" width="58" height="68" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M161.783 289.5L190 254.591L218.217 289.5H161.783Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="131" y="326" width="58" height="68" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M131.783 324.5L160 289.591L188.217 324.5H131.783Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="178" y="341" width="58" height="68" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M178.783 339.5L207 304.591L235.217 339.5H178.783Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="-1" y="1" width="58" height="68" transform="matrix(-1 0 0 1 409 300)" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M409.217 299.5L381 264.591L352.783 299.5H409.217Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="-1" y="1" width="58" height="68" transform="matrix(-1 0 0 1 344 290)" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M344.217 289.5L316 254.591L287.783 289.5H344.217Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="-1" y="1" width="58" height="68" transform="matrix(-1 0 0 1 374 325)" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M374.217 324.5L346 289.591L317.783 324.5H374.217Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<rect x="-1" y="1" width="58" height="68" transform="matrix(-1 0 0 1 327 340)" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
<path d="M327.217 339.5L299 304.591L270.783 339.5H327.217Z" fill="#896A46" stroke="#6F410D" stroke-width="2"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -117,6 +117,8 @@
"minzoom": 17
}
},
"stairs"
"stairs",
"tactile_map",
"tactile_model"
]
}
}