From f1e297b91c8dd2a5c65848688de067e7ac6febf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at> Date: Sat, 22 Feb 2025 07:25:40 +0100 Subject: [PATCH] Convert more categories to YAML --- administrative.json | 70 ---------- administrative.yaml | 61 +++++++++ natural.json | 318 -------------------------------------------- natural.yaml | 276 ++++++++++++++++++++++++++++++++++++++ places.json | 57 -------- places.yaml | 54 ++++++++ residential.json | 54 -------- residential.yaml | 46 +++++++ water.json | 283 --------------------------------------- water.yaml | 239 +++++++++++++++++++++++++++++++++ 10 files changed, 676 insertions(+), 782 deletions(-) delete mode 100644 administrative.json create mode 100644 administrative.yaml delete mode 100644 natural.json create mode 100644 natural.yaml delete mode 100644 places.json create mode 100644 places.yaml delete mode 100644 residential.json create mode 100644 residential.yaml delete mode 100644 water.json create mode 100644 water.yaml diff --git a/administrative.json b/administrative.json deleted file mode 100644 index a11a1a4..0000000 --- a/administrative.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "overpass", - "name": { - "ast": "Divisiones Alministratives", - "ca": "Àrees Administratives", - "cs": "Administrativní oblasti", - "de": "Administrative Gebiete", - "el": "Διοικητικά Όρια", - "en": "Administrative Areas", - "es": "Áreas Administrativas", - "et": "Administratiivalad", - "fr": "Zones administratives", - "gl": "Divisións administrativas", - "hu": "Közigazgatási határok", - "it": "Suddivisioni amministrative", - "ja": "行政界", - "nb": "Administrative områder", - "nl": "Administratieve gebieden", - "oc": "Divisions administrativas", - "pl": "Obszary administracyjne", - "pt": "Regiões administrativas", - "pt-br": "Divisão político-administrativa", - "ro": "Zona administrativă", - "ru": "Административные границы", - "sr": "Административне зоне", - "tr": "İdari Alanlar" - }, - "query": { - "3": [ - "(", - "way[admin_level=2];", - "relation[admin_level=2];", - ")" - ], - "6": [ - "(", - "way[admin_level~\"^(2|3)$\"];", - "relation[admin_level~\"^(2|3)$\"];", - ")" - ], - "11": [ - "(", - "way[admin_level~\"^(2|3|4|5)$\"];", - "relation[admin_level~\"^(2|3|4|5)$\"];", - ")" - ], - "13": [ - "(", - "way[admin_level~\"^(2|3|4|5|6|7)$\"];", - "relation[admin_level~\"^(2|3|4|5|6|7)$\"];", - ")" - ], - "15": [ - "(", - "way[admin_level~\"^(2|3|4|5|6|7|8|9)$\"];", - "relation[admin_level~\"^(2|3|4|5|6|7|8|9)$\"];", - ")" - ], - "16": [ - "(", - "way[admin_level~\"^(2|3|4|5|6|7|8|9|10|11)$\"];", - "relation[admin_level~\"^(2|3|4|5|6|7|8|9|10|11)$\"];", - ")" - ] - }, - "feature": { - "description": "{{ tagTrans('admin_level', tags.admin_level) }}", - "body": "{{ keyTrans('admin_level') }}: {{ tags.admin_level }}" - } -} diff --git a/administrative.yaml b/administrative.yaml new file mode 100644 index 0000000..4d8a726 --- /dev/null +++ b/administrative.yaml @@ -0,0 +1,61 @@ +type: overpass +name: + ast: Divisiones Alministratives + ca: Àrees Administratives + cs: Administrativní oblasti + de: Administrative Gebiete + el: Διοικητικά Όρια + en: Administrative Areas + es: Áreas Administrativas + et: Administratiivalad + fr: Zones administratives + gl: Divisións administrativas + hu: Közigazgatási határok + it: Suddivisioni amministrative + ja: 行政界 + nb: Administrative områder + nl: Administratieve gebieden + oc: Divisions administrativas + pl: Obszary administracyjne + pt: Regiões administrativas + pt-br: Divisão político-administrativa + ro: Zona administrativă + ru: Административные границы + sr: Административне зоне + tr: İdari Alanlar +query: + 3: |- + ( + way[admin_level=2]; + relation[admin_level=2]; + ) + 6: |- + ( + way[admin_level~"^(2|3)$"]; + relation[admin_level~"^(2|3)$"]; + ) + 11: |- + ( + way[admin_level~"^(2|3|4|5)$"]; + relation[admin_level~"^(2|3|4|5)$"]; + ) + 13: |- + ( + way[admin_level~"^(2|3|4|5|6|7)$"]; + relation[admin_level~"^(2|3|4|5|6|7)$"]; + ) + 15: |- + ( + way[admin_level~"^(2|3|4|5|6|7|8|9)$"]; + relation[admin_level~"^(2|3|4|5|6|7|8|9)$"]; + ) + 16: |- + ( + way[admin_level~"^(2|3|4|5|6|7|8|9|10|11)$"]; + relation[admin_level~"^(2|3|4|5|6|7|8|9|10|11)$"]; + ) +feature: + description: |- + {{ tagTrans("admin_level", tags.admin_level) }} + body: |- + {{ keyTrans("admin_level") }}: {{ tags.admin_level }} diff --git a/natural.json b/natural.json deleted file mode 100644 index 58b96b5..0000000 --- a/natural.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "type": "overpass", - "name": { - "ast": "Formaciones naturales", - "ca": "Formacions Naturals", - "cs": "Přírodní úkazy", - "de": "Naturformationen", - "el": "Φυσικοί Σχηματισμοί", - "en": "Natural Formations", - "es": "Formaciones naturales", - "fr": "Éléments naturels", - "gl": "Formacións naturais", - "hu": "Természeti képződmények", - "it": "Formazioni naturali", - "ja": "自然地層", - "nb": "Naturlige formasjoner", - "nl": "Natuurlijke Formaties", - "oc": "Elements naturaus", - "pl": "Obiekty przyrodnicze", - "pt": "Formações naturais", - "pt-br": "Elementos naturais", - "ru": "Природные образования", - "sr": "Природне појаве", - "tr": "Doğal Oluşumlar", - "uk": "Природне середовище" - }, - "query": { - "9": [ - "(", - "node[natural~\"^(peak|volcano|valley)$\"];", - "nwr[place~\"^(island)$\"];", - ")" - ], - "13": [ - "(", - "nwr[natural~\"^(peak|volcano|wood|glacier|cape|peninsula|beach|coastline|reef|hill|valley|ridge|arete|saddle|sinkhole|cave_entrance|isthmus)$\"];", - "nwr[place~\"^(island|islet)$\"];", - ")" - ], - "16": [ - "(", - "nwr[natural][natural!~\"^(water|divide|bay|strait|spring|hot_spring|geyser|tree)$\"];", - "nwr[place~\"^(island|islet)$\"];", - ")" - ], - "18": [ - "(", - "nwr[natural][natural!~\"^(water|divide|bay|strait|spring|hot_spring|geyser)$\"];", - "nwr[place~\"^(island|islet)$\"];", - ")" - ] - }, - "feature": { - "pre": [ - "{% if tags.place in [ 'island', 'islet' ] %}", - "{% set key = 'place' %}", - "{% set value = tags.place %}", - "{% else %}", - "{% set key = 'natural' %}", - "{% set value = tags.natural %}", - "{% endif %}" - ], - "details": "{% if tags.natural == 'peak' and tags.ele %}{{ tags.ele }}m{% endif %}", - "description": "{{ tagTrans(key, value) }}", - "style": { - "color": "{{ const[value].color|default('#f2756a') }}" - }, - "markerSign": "<span style='color: white'>{{ const[value].sign|raw }}</span>", - "markerSymbol": "{{ markerPointer({ fillColor: const[value].color|default('#f2756a') })|raw }}", - "listMarkerSymbol": "{{ markerCircle({ fillColor: const[value].color|default('#f2756a') })|raw }}", - "priority": "{% if tags.name %}0{% else %}1{% endif %}" - }, - "filter": { - "type": { - "name": "{{ trans('filter:type') }}", - "key": "natural", - "type": "select", - "show_default": "true", - "values": "{% set list = [] %}{% for k, v in const %}<option value=\"{{ k }}\" {% if v.key %}query='nwr[\"{{ v.key }}\"=\"{{ k }}\"]'{% endif %}>{% set list = list|merge([ k ]) %}{{ tagTrans(v.key|default('natural'), k) }}</option>{% endfor %}<option weight='1' value='other' query='nwr[natural][natural!~\"^(|.*;)({{ list|join('|') }})(|;.*)$\"]'>{{ trans('other') }}</option>", - "sort": "natsort", - "op": "has" - } - }, - "const": { - "island": { - "zoom": 9, - "sign": "<img data-src='temaki:island_trees_building'>", - "color": "#cfb997", - "key": "place", - "group": "landform" - }, - "islet": { - "zoom": 13, - "sign": "<img data-src='temaki:island_trees_building'>", - "color": "#cfb997", - "key": "place", - "group": "landform" - }, - "wood": { - "zoom": 13, - "sign": "<i class='fas fa-tree'></i>", - "color": "darkgreen", - "group": "vegetation" - }, - "tree_row": { - "zoom": 16, - "sign": "<i class='fas fa-tree'></i>", - "color": "darkgreen", - "group": "vegetation" - }, - "tree": { - "zoom": 18, - "sign": "<i class='fas fa-tree'></i>", - "color": "darkgreen", - "group": "vegetation" - }, - "scrub": { - "zoom": 16, - "sign": "", - "color": "green", - "group": "vegetation" - }, - "heath": { - "zoom": 16, - "sign": "", - "color": "green", - "group": "vegetation" - }, - "moor": { - "zoom": 13, - "sign": "", - "color": "#8aba50", - "group": "vegetation" - }, - "grassland": { - "zoom": 16, - "sign": "", - "color": "#00dd24", - "group": "vegetation" - }, - "fell": { - "zoom": 16, - "sign": "", - "color": "#49ba91", - "group": "vegetation" - }, - "bare_rock": { - "zoom": 16, - "sign": "", - "color": "#6f6f6f", - "group": "vegetation" - }, - "scree": { - "zoom": 16, - "sign": "", - "color": "#6f6f6f", - "group": "vegetation" - }, - "shingle": { - "zoom": 16, - "sign": "", - "color": "#6f6f6f", - "group": "vegetation" - }, - "sand": { - "zoom": 16, - "sign": "", - "color": "#f9d199", - "group": "vegetation" - }, - "mud": { - "zoom": 16, - "sign": "<img data-src='maki:wetland?fill=white'>", - "color": "#988b00", - "group": "vegetation" - }, - "wetland": { - "zoom": 16, - "sign": "<img data-src='maki:wetland?fill=white'>", - "color": "#00baff", - "group": "water" - }, - "glacier": { - "zoom": 13, - "sign": "<i style='color: black;' class='fas fa-icicles'></i>", - "color": "white", - "group": "water" - }, - "cape": { - "zoom": 13, - "sign": "", - "color": "#1d7500", - "group": "water" - }, - "peninsula": { - "zoom": 13, - "sign": "", - "color": "#1d7500", - "group": "water" - }, - "beach": { - "zoom": 13, - "sign": "<i class='fas fa-umbrella-beach'></i>", - "color": "#ff7f50", - "group": "water" - }, - "coastline": { - "zoom": 13, - "sign": "", - "color": "blue", - "group": "water" - }, - "reef": { - "zoom": 13, - "sign": "", - "color": "#005fbd", - "group": "water" - }, - "peak": { - "zoom": 9, - "sign": "<i class='fas fa-mountain'></i>", - "color": "#4f4f4f", - "group": "landform" - }, - "hill": { - "zoom": 13, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "volcano": { - "zoom": 9, - "sign": "<i class='fas fa-mountain'></i>", - "color": "#cf3a00", - "group": "landform" - }, - "valley": { - "zoom": 9, - "sign": "", - "color": "#1d7500", - "group": "landform" - }, - "river_terrace": { - "zoom": 16, - "sign": "", - "color": "#a0a500", - "group": "landform" - }, - "ridge": { - "zoom": 13, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "arete": { - "zoom": 13, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "cliff": { - "zoom": 16, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "saddle": { - "zoom": 13, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "rock": { - "zoom": 16, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "stone": { - "zoom": 16, - "sign": "", - "color": "#4f4f4f", - "group": "landform" - }, - "sinkhole": { - "zoom": 13, - "sign": "", - "color": "#a0a500", - "group": "landform" - }, - "cave_entrance": { - "zoom": 13, - "sign": "", - "color": "#000000", - "group": "landform" - }, - "isthmus": { - "zoom": 13, - "sign": "", - "color": "#1d7500", - "group": "landform" - } - }, - "info": [ - "<table>", - " {% for k, data in const %}", - " {% if data.zoom <= map.zoom %}", - " <tr>", - " <td>", - " {{ markerCircle({ fillColor: data.color })|raw }}<div class='sign'>{{ data.sign|raw }}</div>", - " </td>", - " <td>{{ tagTrans('natural', k) }}</td>", - " </tr>", - " {% endif %}", - " {% endfor %}", - "</table>" - ] -} diff --git a/natural.yaml b/natural.yaml new file mode 100644 index 0000000..383ca02 --- /dev/null +++ b/natural.yaml @@ -0,0 +1,276 @@ +type: overpass +name: + ast: Formaciones naturales + ca: Formacions Naturals + cs: Přírodní úkazy + de: Naturformationen + el: Φυσικοί Σχηματισμοί + en: Natural Formations + es: Formaciones naturales + fr: Éléments naturels + gl: Formacións naturais + hu: Természeti képződmények + it: Formazioni naturali + ja: 自然地層 + nb: Naturlige formasjoner + nl: Natuurlijke Formaties + oc: Elements naturaus + pl: Obiekty przyrodnicze + pt: Formações naturais + pt-br: Elementos naturais + ru: Природные образования + sr: Природне појаве + tr: Doğal Oluşumlar + uk: Природне середовище +query: + 9: |- + ( + node[natural~"^(peak|volcano|valley)$"]; + nwr[place~"^(island)$"]; + ) + 13: |- + ( + nwr[natural~"^(peak|volcano|wood|glacier|cape|peninsula|beach|coastline|reef|hill|valley|ridge|arete|saddle|sinkhole|cave_entrance|isthmus)$"]; + nwr[place~"^(island|islet)$"]; + ) + 16: |- + ( + nwr[natural][natural!~"^(water|divide|bay|strait|spring|hot_spring|geyser|tree)$"]; + nwr[place~"^(island|islet)$"]; + ) + 18: |- + ( + nwr[natural][natural!~"^(water|divide|bay|strait|spring|hot_spring|geyser)$"]; + nwr[place~"^(island|islet)$"]; + ) +feature: + pre: |- + {% if tags.place in [ 'island', 'islet' ] %} + {% set key = 'place' %} + {% set value = tags.place %} + {% else %} + {% set key = 'natural' %} + {% set value = tags.natural %} + {% endif %} + details: |- + {% if tags.natural == "peak" and tags.ele %}{{ tags.ele }}m{% endif %} + description: |- + {{ tagTrans(key, value) }} + style: + color: |- + {{ const[value].color|default("#f2756a") }} + markerSign: |- + <span style="color: white">{{ const[value].sign|raw }}</span> + markerSymbol: |- + {{ markerPointer({ fillColor: const[value].color|default("#f2756a") })|raw }} + listMarkerSymbol: |- + {{ markerCircle({ fillColor: const[value].color|default("#f2756a") })|raw }} + priority: |- + {% if tags.name %}0{% else %}1{% endif %} +filter: + type: + name: |- + {{ trans("filter:type") }} + key: natural + type: select + show_default: true + values: |- + {% set list = [] %}{% for k, v in const %}<option value="{{ k }}" {% if v.key %}query='nwr["{{ v.key }}"="{{ k }}"]'{% endif %}>{% set list = list|merge([ k ]) %}{{ tagTrans(v.key|default('natural'), k) }}</option>{% endfor %}<option weight='1' value='other' query='nwr[natural][natural!~"^(|.*;)({{ list|join('|') }})(|;.*)$"]'>{{ trans('other') }}</option> + sort: natsort + op: has +const: + island: + zoom: 9 + sign: <img data-src='temaki:island_trees_building'> + color: '#cfb997' + key: place + group: landform + islet: + zoom: 13 + sign: <img data-src='temaki:island_trees_building'> + color: '#cfb997' + key: place + group: landform + wood: + zoom: 13 + sign: <i class='fas fa-tree'></i> + color: darkgreen + group: vegetation + tree_row: + zoom: 16 + sign: <i class='fas fa-tree'></i> + color: darkgreen + group: vegetation + tree: + zoom: 18 + sign: <i class='fas fa-tree'></i> + color: darkgreen + group: vegetation + scrub: + zoom: 16 + sign: '' + color: green + group: vegetation + heath: + zoom: 16 + sign: '' + color: green + group: vegetation + moor: + zoom: 13 + sign: '' + color: '#8aba50' + group: vegetation + grassland: + zoom: 16 + sign: '' + color: '#00dd24' + group: vegetation + fell: + zoom: 16 + sign: '' + color: '#49ba91' + group: vegetation + bare_rock: + zoom: 16 + sign: '' + color: '#6f6f6f' + group: vegetation + scree: + zoom: 16 + sign: '' + color: '#6f6f6f' + group: vegetation + shingle: + zoom: 16 + sign: '' + color: '#6f6f6f' + group: vegetation + sand: + zoom: 16 + sign: '' + color: '#f9d199' + group: vegetation + mud: + zoom: 16 + sign: <img data-src='maki:wetland?fill=white'> + color: '#988b00' + group: vegetation + wetland: + zoom: 16 + sign: <img data-src='maki:wetland?fill=white'> + color: '#00baff' + group: water + glacier: + zoom: 13 + sign: '<i style="color: black;" class="fas fa-icicles"></i>' + color: white + group: water + cape: + zoom: 13 + sign: '' + color: '#1d7500' + group: water + peninsula: + zoom: 13 + sign: '' + color: '#1d7500' + group: water + beach: + zoom: 13 + sign: <i class='fas fa-umbrella-beach'></i> + color: '#ff7f50' + group: water + coastline: + zoom: 13 + sign: '' + color: blue + group: water + reef: + zoom: 13 + sign: '' + color: '#005fbd' + group: water + peak: + zoom: 9 + sign: <i class='fas fa-mountain'></i> + color: '#4f4f4f' + group: landform + hill: + zoom: 13 + sign: '' + color: '#4f4f4f' + group: landform + volcano: + zoom: 9 + sign: <i class='fas fa-mountain'></i> + color: '#cf3a00' + group: landform + valley: + zoom: 9 + sign: '' + color: '#1d7500' + group: landform + river_terrace: + zoom: 16 + sign: '' + color: '#a0a500' + group: landform + ridge: + zoom: 13 + sign: '' + color: '#4f4f4f' + group: landform + arete: + zoom: 13 + sign: '' + color: '#4f4f4f' + group: landform + cliff: + zoom: 16 + sign: '' + color: '#4f4f4f' + group: landform + saddle: + zoom: 13 + sign: '' + color: '#4f4f4f' + group: landform + rock: + zoom: 16 + sign: '' + color: '#4f4f4f' + group: landform + stone: + zoom: 16 + sign: '' + color: '#4f4f4f' + group: landform + sinkhole: + zoom: 13 + sign: '' + color: '#a0a500' + group: landform + cave_entrance: + zoom: 13 + sign: '' + color: '#000000' + group: landform + isthmus: + zoom: 13 + sign: '' + color: '#1d7500' + group: landform +info: |- + <table> + {% for k, data in const %} + {% if data.zoom <= map.zoom %} + <tr> + <td> + {{ markerCircle({ fillColor: data.color })|raw }}<div class='sign'>{{ data.sign|raw }}</div> + </td> + <td>{{ tagTrans('natural', k) }}</td> + </tr> + {% endif %} + {% endfor %} + </table> diff --git a/places.json b/places.json deleted file mode 100644 index 29f27ce..0000000 --- a/places.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "type": "overpass", - "name": { - "ast": "Llugares", - "ca": "Llocs", - "cs": "Sídla", - "de": "Orte", - "el": "Μέρη", - "en": "Places", - "es": "Lugares", - "et": "Kohad", - "fr": "Lieux", - "gl": "Lugares", - "hu": "Helyek", - "it": "Luoghi", - "ja": "場所", - "nb": "Steder", - "nl": "Plaatsen", - "oc": "Luòcs", - "pl": "Miejsca", - "pt": "Lugares", - "pt-br": "Lugares", - "ro": "Locuri", - "ru": "Места", - "sr": "Места", - "tr": "Yerler", - "uk": "Місцевість" - }, - "query": { - "0": "node[place~'^(continent)$']", - "4": "node[place~'^(continent|country)$']", - "6": "node[place~'^(country|city)$']", - "8": "node[place~'^(country|city|state)$']", - "11": "node[place~'^(city|state|region|town|village)$']", - "13": "node[place~'^(city|state|region|town|village|suburb|hamlet|quarter)$']", - "15": "node[place~'^(city|region|town|village|suburb|hamlet|quarter)$']", - "16": "(node[place~'^(region|town|village|suburb|hamlet|quarter|islet|isolated_dwelling|neighbourhood|farm)$'];way[place~'^(isolated_dwelling|neighbourhood|farm)$'];relation[place~'^(isolated_dwelling|neighbourhood|farm)$'];);" - }, - "feature": { - "title": "{% set loc_name = localizedTag(tags, 'name') %}{{ loc_name }}{% if loc_name != tags.name %} ({{ tags.name }}){% endif %}", - "description": "{{ tagTrans('place', tags.place) }}", - "body": "{% if tags.population %}{{ keyTrans('population') }}: {{ tags.population }}{% endif %}", - "priority": "{% set priorities = { 'continent': 0, 'country': 1, 'state': 2, 'region': 3, 'city': 4, 'town': 5, 'village': 6, 'suburb': 7, 'hamlet': 8, 'quarter': 9, neighbourhood: 10, 'isolated_dwelling': 11, 'farm': 12 } %}{{ priorities[tags.place] }}" - }, - "filter": { - "name": { - "key": [ - "name", - "name:*" - ], - "name": "{{ keyTrans('name') }}", - "type": "text", - "change_on": "keyup", - "op": "strsearch" - } - } -} diff --git a/places.yaml b/places.yaml new file mode 100644 index 0000000..03e66f9 --- /dev/null +++ b/places.yaml @@ -0,0 +1,54 @@ +type: overpass +name: + ast: Llugares + ca: Llocs + cs: Sídla + de: Orte + el: Μέρη + en: Places + es: Lugares + et: Kohad + fr: Lieux + gl: Lugares + hu: Helyek + it: Luoghi + ja: 場所 + nb: Steder + nl: Plaatsen + oc: Luòcs + pl: Miejsca + pt: Lugares + pt-br: Lugares + ro: Locuri + ru: Места + sr: Места + tr: Yerler + uk: Місцевість +query: + 0: node[place~'^(continent)$'] + 4: node[place~'^(continent|country)$'] + 6: node[place~'^(country|city)$'] + 8: node[place~'^(country|city|state)$'] + 11: node[place~'^(city|state|region|town|village)$'] + 13: node[place~'^(city|state|region|town|village|suburb|hamlet|quarter)$'] + 15: node[place~'^(city|region|town|village|suburb|hamlet|quarter)$'] + 16: (node[place~'^(region|town|village|suburb|hamlet|quarter|islet|isolated_dwelling|neighbourhood|farm)$'];way[place~'^(isolated_dwelling|neighbourhood|farm)$'];relation[place~'^(isolated_dwelling|neighbourhood|farm)$'];); +feature: + title: |- + {% set loc_name = localizedTag(tags, "name") %}{{ loc_name }}{% if loc_name != tags.name %} ({{ tags.name }}){% endif %} + description: |- + {{ tagTrans("place", tags.place) }} + body: |- + {% if tags.population %}{{ keyTrans("population") }}: {{ tags.population }}{% endif %} + priority: |- + {% set priorities = { "continent": 0, "country": 1, "state": 2, "region": 3, "city": 4, "town": 5, "village": 6, "suburb": 7, "hamlet": 8, "quarter": 9, neighbourhood: 10, "isolated_dwelling": 11, "farm": 12 } %}{{ priorities[tags.place] }} +filter: + name: + key: + - name + - name:* + name: |- + {{ keyTrans("name") }} + type: text + change_on: keyup + op: strsearch diff --git a/residential.json b/residential.json deleted file mode 100644 index 8e42c42..0000000 --- a/residential.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "type": "overpass", - "name": { - "ast": "Zones residenciales", - "ca": "Àrees Residencials", - "cs": "Obytné oblasti", - "de": "Wohngebiete", - "el": "Περιοχές Κατοικίας", - "en": "Residential Areas", - "es": "Áreas residenciales", - "et": "Elamupiirkonnad", - "fr": "Zones résidentielles", - "gl": "Zonas residenciais", - "hu": "Lakóövezetek", - "it": "Aree residenziali", - "ja": "住居エリア", - "nb": "Boligområder", - "nl": "Woongebieden", - "oc": "Quartiers residenciaus", - "pl": "Obszary zamieszkania", - "pt": "Áreas residenciais", - "pt-br": "Áreas residenciais", - "ro": "Zona rezidentiala", - "ru": "Жилые районы", - "sr": "Стамбена подручја", - "tr": "Yerleşim Alanları", - "uk": "Житлова зона" - }, - "query": { - "13": [ - "(", - "node[landuse~\"^(residential)$\"];", - "way[landuse~\"^(residential)$\"];", - "relation[landuse~\"^(residential)$\"];", - ")" - ], - "15": [ - "(", - "node[landuse~\"^(residential|allotments)$\"];", - "way[landuse~\"^(residential|allotments)$\"];", - "relation[landuse~\"^(residential|allotments)$\"];", - ")" - ] - }, - "feature": { - "description": [ - "{{ tagTrans('landuse', tags.landuse) }}", - "", - "{% if tags.residential %}", - "({{ tagTransList('residential', tags.residential) }})", - "{% endif %}" - ] - } -} diff --git a/residential.yaml b/residential.yaml new file mode 100644 index 0000000..8be3cf6 --- /dev/null +++ b/residential.yaml @@ -0,0 +1,46 @@ +type: overpass +name: + ast: Zones residenciales + ca: Àrees Residencials + cs: Obytné oblasti + de: Wohngebiete + el: Περιοχές Κατοικίας + en: Residential Areas + es: Áreas residenciales + et: Elamupiirkonnad + fr: Zones résidentielles + gl: Zonas residenciais + hu: Lakóövezetek + it: Aree residenziali + ja: 住居エリア + nb: Boligområder + nl: Woongebieden + oc: Quartiers residenciaus + pl: Obszary zamieszkania + pt: Áreas residenciais + pt-br: Áreas residenciais + ro: Zona rezidentiala + ru: Жилые районы + sr: Стамбена подручја + tr: Yerleşim Alanları + uk: Житлова зона +query: + 13: |- + ( + node[landuse~"^(residential)$"]; + way[landuse~"^(residential)$"]; + relation[landuse~"^(residential)$"]; + ) + 15: |- + ( + node[landuse~"^(residential|allotments)$"]; + way[landuse~"^(residential|allotments)$"]; + relation[landuse~"^(residential|allotments)$"]; + ) +feature: + description: |- + {{ tagTrans('landuse', tags.landuse) }} + + {% if tags.residential %} + ({{ tagTransList('residential', tags.residential) }}) + {% endif %} diff --git a/water.json b/water.json deleted file mode 100644 index ec1a713..0000000 --- a/water.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "type": "overpass", - "name": { - "ca": "Cossos d'aigua", - "cs": "Vodní plochy", - "de": "Gewässer", - "en": "Waterbodies", - "es": "Cuerpos de agua", - "fr": "Hydrographie", - "gl": "Hidrografía", - "hu": "Vizek", - "it": "Masse d'acqua", - "ja": "水系", - "nb": "Vannflater", - "nl": "Oppervlaktewater", - "oc": "Aigas e rius", - "pl": "Wodne", - "pt": "Massas de água", - "pt-br": "Hidrografia", - "ru": "Водоемы", - "sr": "Водене површине", - "tr": "Su kütleleri" - }, - "query": { - "10": [ - "(", - "way[waterway~\"^(river|canal)$\"];", - "nwr[natural~\"^(divide|bay|strait)$\"];", - "way[natural=water][water~\"^(lake|lagoon|reservoir|canal)$\"];", - "relation[natural=water][type=multipolygon][water~\"^(lake|lagoon|reservoir|canal)$\"];", - ")" - ], - "13": [ - "(", - "nwr[natural~\"^(water|divide|bay|strait|spring|hot_spring|geyser)$\"];", - "relation[type=multipolygon][natural=water];", - "relation[type=multipolygon][waterway=riverbank];", - "nwr[waterway];", - ")" - ] - }, - "feature": { - "pre": [ - "{% if tags.waterway %}", - " {% set key = 'waterway' %}", - " {% set value = tags.waterway %}", - "{% elseif tags.water %}", - " {% set key = 'water' %}", - " {% set value = tags.water %}", - "{% elseif tags.natural %}", - " {% set key = 'natural' %}", - " {% set value = tags.natural %}", - "{% endif %}", - "{% set kv = key ~ '=' ~ value %}", - "{% set data = const[kv]|default(const['natural=water']) %}" - ], - "description": [ - "{{ tagTrans(key, value) }}" - ], - "body": [ - "<ul>", - "{% if tags.intermittent %}", - " <li class='hasSymbol'>", - " <i class=\"far fa-circle\"></i>", - " <span class='key'>{{ keyTrans('intermittent') }}:</span>", - " <span class='value'>{{ tagTrans('intermittent', tags.intermittent) }}</span>", - "{% endif %}", - "</ul>" - ], - "markerSign": [ - "{{ const[kv].sign|raw }}" - ], - "markerSymbol": [ - "{% if data.symbol == 'pointer' %}", - "{{ markerPointer({ fillColor: '#3388ff' })|raw }}", - "{% endif %}" - ], - "listMarkerSymbol": [ - "{% if data.symbol == 'pointer' %}", - "{{ markerCircle({ fillColor: '#3388ff' })|raw }}", - "{% elseif data.symbol == 'polygon' %}", - "polygon", - "{% else %}", - "line", - "{% endif %}" - ], - "priority": "{{ data.priority }}", - "style": { - "width": "{{ data.style.width }}", - "color": "{{ data.style.color }}", - "text": [ - "{% if data.text %}", - "{{ tags.name }} ➔ ", - "{% endif %}" - ], - "textRepeat": "1", - "dashArray": "{% if tags.intermittent == 'yes' %}5,5{% endif %}", - "lineCap": "{% if tags.intermittent == 'yes' %}butt{% else %}round{% endif %}" - } - }, - "const": { - "natural=water": { - "zoom": 10, - "symbol": "polygon", - "style": { - "width": 3, - "color": "#3388ff" - }, - "priority": 2 - }, - "water=lake": { - "zoom": 10, - "symbol": "polygon", - "style": { - "width": 3, - "color": "#3388ff" - }, - "hideInfo": true, - "priority": 0 - }, - "water=lagoon": { - "zoom": 10, - "symbol": "polygon", - "style": { - "width": 3, - "color": "#3388ff" - }, - "hideInfo": true, - "priority": 0 - }, - "water=reservoir": { - "zoom": 10, - "symbol": "polygon", - "style": { - "width": 3, - "color": "#3388ff" - }, - "hideInfo": true, - "priority": 0 - }, - "waterway=river": { - "zoom": 10, - "symbol": "line", - "style": { - "width": 4, - "color": "#3388ff" - }, - "text": true, - "priority": 1 - }, - "waterway=canal": { - "alias": [ - "water=canal" - ], - "zoom": 10, - "symbol": "line", - "style": { - "width": 4, - "color": "#3388ff" - }, - "text": true, - "priority": 1 - }, - "waterway=stream": { - "zoom": 13, - "symbol": "line", - "style": { - "width": 2, - "color": "#3388ff" - }, - "text": true, - "priority": 3 - }, - "waterway=drain": { - "zoom": 13, - "symbol": "line", - "style": { - "width": 2, - "color": "#3388ff" - }, - "text": true, - "priority": 3 - }, - "waterway=ditch": { - "zoom": 13, - "symbol": "line", - "style": { - "width": 1, - "color": "#3388ff" - }, - "text": true, - "priority": 5 - }, - "natural=spring": { - "sign": "<i class='fas fa-water'></i>", - "zoom": 13, - "symbol": "pointer" - }, - "natural=hot_spring": { - "sign": "<i style='color: orange;' class='fas fa-water'></i>", - "zoom": 13, - "symbol": "pointer" - }, - "natural=geyser": { - "sign": "<i style='color: red;' class='fas fa-water'></i>", - "zoom": 13, - "symbol": "pointer" - }, - "waterway=waterfall": { - "sign": "<img data-src='maki:waterfall'>", - "zoom": 13, - "symbol": "pointer" - }, - "waterway=dam": { - "zoom": 13, - "symbol": "line", - "style": { - "width": 3, - "color": "#000000" - }, - "priority": 3 - }, - "waterway=weir": { - "zoom": 13, - "symbol": "line", - "style": { - "width": 3, - "color": "#000000" - }, - "priority": 3 - }, - "natural=divide": { - "zoom": 10, - "symbol": "line", - "style": { - "width": 3, - "color": "#ff0000" - }, - "text": true, - "priority": 0 - } - }, - "filter": { - "type": { - "name": "{{ trans('filter:type') }}", - "key": "natural", - "type": "select", - "show_default": "true", - "values": "{% for k, data in const %}<option value=\"{{ k }}\" query=\"(nwr[{{ k }}];{% for a in data.alias %}nwr[{{ a }}];{% endfor %})\">{{ tagTrans(k) }}</option>{% endfor %}", - "sort": "natsort" - }, - "intermittent": { - "name": "{{ keyTrans('intermittent') }}", - "key": "intermittent", - "type": "radio", - "values": "<option value='yes' query=\"nwr[intermittent][intermittent!=no]\">{{ tagTrans('intermittent', 'yes') }}</option><option value='no' query=\"(nwr[!intermittent];nwr[intermittent=no];)\">{{ tagTrans('intermittent', 'no') }}</option>" - } - }, - "info": [ - "<table>", - " {% for k, data in const %}", - " {% if not data.hideInfo and data.zoom <= map.zoom %}", - " <tr>", - " <td>", - " {% if data.symbol == 'pointer' %}", - " {{ markerCircle({ fillColor: '#3388ff' })|raw }}<div class='sign'>{{ data.sign|raw }}</div>", - " {% elseif data.symbol == 'polygon' %}", - " {{ markerPolygon(data.style)|raw }}", - " {% elseif data.symbol == 'line' %}", - " {{ markerLine(data.style)|raw }}", - " {% endif %}", - " </td>", - " <td>{{ tagTrans(k) }}</td>", - " </tr>", - " {% endif %}", - " {% endfor %}", - " <tr>", - " <td>{{ markerLine({ width: 3, color: '#3388ff', dashArray: '5,5', lineCap: 'butt' })|raw }}</td>", - " <td>{{ keyTrans('intermittent') }}</td>", - " </tr>", - "</table>" - ] -} diff --git a/water.yaml b/water.yaml new file mode 100644 index 0000000..c39a95a --- /dev/null +++ b/water.yaml @@ -0,0 +1,239 @@ +type: overpass +name: + ca: Cossos d'aigua + cs: Vodní plochy + de: Gewässer + en: Waterbodies + es: Cuerpos de agua + fr: Hydrographie + gl: Hidrografía + hu: Vizek + it: Masse d'acqua + ja: 水系 + nb: Vannflater + nl: Oppervlaktewater + oc: Aigas e rius + pl: Wodne + pt: Massas de água + pt-br: Hidrografia + ru: Водоемы + sr: Водене површине + tr: Su kütleleri +query: + 10: |- + ( + way[waterway~"^(river|canal)$"]; + nwr[natural~"^(divide|bay|strait)$"]; + way[natural=water][water~"^(lake|lagoon|reservoir|canal)$"]; + relation[natural=water][type=multipolygon][water~"^(lake|lagoon|reservoir|canal)$"]; + ) + 13: |- + ( + nwr[natural~"^(water|divide|bay|strait|spring|hot_spring|geyser)$"]; + relation[type=multipolygon][natural=water]; + relation[type=multipolygon][waterway=riverbank]; + nwr[waterway]; + ) +feature: + pre: |- + {% if tags.waterway %} + {% set key = 'waterway' %} + {% set value = tags.waterway %} + {% elseif tags.water %} + {% set key = 'water' %} + {% set value = tags.water %} + {% elseif tags.natural %} + {% set key = 'natural' %} + {% set value = tags.natural %} + {% endif %} + {% set kv = key ~ '=' ~ value %} + {% set data = const[kv]|default(const['natural=water']) %} + description: |- + {{ tagTrans(key, value) }} + body: |- + <ul> + {% if tags.intermittent %} + <li class='hasSymbol'> + <i class="far fa-circle"></i> + <span class='key'>{{ keyTrans('intermittent') }}:</span> + <span class='value'>{{ tagTrans('intermittent', tags.intermittent) }}</span> + {% endif %} + </ul> + markerSign: |- + {{ const[kv].sign|raw }} + markerSymbol: |- + {% if data.symbol == 'pointer' %} + {{ markerPointer({ fillColor: '#3388ff' })|raw }} + {% endif %} + listMarkerSymbol: |- + {% if data.symbol == 'pointer' %} + {{ markerCircle({ fillColor: '#3388ff' })|raw }} + {% elseif data.symbol == 'polygon' %} + polygon + {% else %} + line + {% endif %} + priority: '{{ data.priority }}' + style: + width: '{{ data.style.width }}' + color: '{{ data.style.color }}' + text: |- + {% if data.text %} + {{ tags.name }} ➔ + {% endif %} + textRepeat: '1' + dashArray: |- + {% if tags.intermittent == "yes" %}5,5{% endif %} + lineCap: |- + {% if tags.intermittent == "yes" %}butt{% else %}round{% endif %} +const: + natural=water: + zoom: 10 + symbol: polygon + style: + width: 3 + color: '#3388ff' + priority: 2 + water=lake: + zoom: 10 + symbol: polygon + style: + width: 3 + color: '#3388ff' + hideInfo: true + priority: 0 + water=lagoon: + zoom: 10 + symbol: polygon + style: + width: 3 + color: '#3388ff' + hideInfo: true + priority: 0 + water=reservoir: + zoom: 10 + symbol: polygon + style: + width: 3 + color: '#3388ff' + hideInfo: true + priority: 0 + waterway=river: + zoom: 10 + symbol: line + style: + width: 4 + color: '#3388ff' + text: true + priority: 1 + waterway=canal: + alias: + - water=canal + zoom: 10 + symbol: line + style: + width: 4 + color: '#3388ff' + text: true + priority: 1 + waterway=stream: + zoom: 13 + symbol: line + style: + width: 2 + color: '#3388ff' + text: true + priority: 3 + waterway=drain: + zoom: 13 + symbol: line + style: + width: 2 + color: '#3388ff' + text: true + priority: 3 + waterway=ditch: + zoom: 13 + symbol: line + style: + width: 1 + color: '#3388ff' + text: true + priority: 5 + natural=spring: + sign: <i class='fas fa-water'></i> + zoom: 13 + symbol: pointer + natural=hot_spring: + sign: '<i style="color: orange;" class="fas fa-water"></i>' + zoom: 13 + symbol: pointer + natural=geyser: + sign: '<i style="color: red;" class="fas fa-water"></i>' + zoom: 13 + symbol: pointer + waterway=waterfall: + sign: <img data-src='maki:waterfall'> + zoom: 13 + symbol: pointer + waterway=dam: + zoom: 13 + symbol: line + style: + width: 3 + color: '#000000' + priority: 3 + waterway=weir: + zoom: 13 + symbol: line + style: + width: 3 + color: '#000000' + priority: 3 + natural=divide: + zoom: 10 + symbol: line + style: + width: 3 + color: '#ff0000' + text: true + priority: 0 +filter: + type: + name: |- + {{ trans("filter:type") }} + key: natural + type: select + show_default: 'true' + values: |- + {% for k, data in const %}<option value="{{ k }}" query="(nwr[{{ k }}];{% for a in data.alias %}nwr[{{ a }}];{% endfor %})">{{ tagTrans(k) }}</option>{% endfor %} + sort: natsort + intermittent: + name: |- + {{ keyTrans("intermittent") }} + key: intermittent + type: radio + values: <option value='yes' query="nwr[intermittent][intermittent!=no]">{{ tagTrans('intermittent', 'yes') }}</option><option value='no' query="(nwr[!intermittent];nwr[intermittent=no];)">{{ tagTrans('intermittent', 'no') }}</option> +info: |- + <table> + {% for k, data in const %} + {% if not data.hideInfo and data.zoom <= map.zoom %} + <tr> + <td> + {% if data.symbol == 'pointer' %} + {{ markerCircle({ fillColor: '#3388ff' })|raw }}<div class='sign'>{{ data.sign|raw }}</div> + {% elseif data.symbol == 'polygon' %} + {{ markerPolygon(data.style)|raw }} + {% elseif data.symbol == 'line' %} + {{ markerLine(data.style)|raw }} + {% endif %} + </td> + <td>{{ tagTrans(k) }}</td> + </tr> + {% endif %} + {% endfor %} + <tr> + <td>{{ markerLine({ width: 3, color: '#3388ff', dashArray: '5,5', lineCap: 'butt' })|raw }}</td> + <td>{{ keyTrans('intermittent') }}</td> + </tr> + </table>