Main categories of OpenStreetBrowser with public transport zoom level
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
5.7 KiB

  1. {
  2. "type": "overpass",
  3. "name": {
  4. "de": "Schwimmen und Baden",
  5. "en": "Swimming and bathing",
  6. "fr": "Natation, baignade et bains",
  7. "hu": "Fürdőzés, úszás",
  8. "pt-br": "Natação e banho"
  9. },
  10. "query": {
  11. "13": [
  12. "(",
  13. "nwr[leisure=swimming_area];",
  14. "nwr[natural~\"^(water)\"][sport~\"^(|.*;)swimming(;.*|)$\"];",
  15. "nwr[natural~\"^(beach)\"];",
  16. "nwr[leisure~\"^(water_park|beach_resort)$\"];",
  17. "nwr[leisure=sports_centre][sport~\"^(|.*;)swimming(;.*|)$\"];",
  18. "nwr[amenity=public_bath];",
  19. "nwr[tourism=spa_resort];",
  20. ")"
  21. ],
  22. "16": [
  23. "(",
  24. "nwr[leisure=swimming_area];",
  25. "nwr[natural~\"^(water)\"][sport~\"^(|.*;)swimming(;.*|)$\"];",
  26. "nwr[natural~\"^(beach)\"];",
  27. "nwr[leisure~\"^(water_park|beach_resort)$\"];",
  28. "nwr[leisure=sports_centre][sport~\"^(|.*;)swimming(;.*|)$\"];",
  29. "nwr[amenity~\"^(public_bath|shower)$\"];",
  30. "nwr[tourism=spa_resort];",
  31. "",
  32. "nwr[leisure=swimming_pool][access!=private];",
  33. "nwr[leisure=sauna];",
  34. ")"
  35. ]
  36. },
  37. "feature": {
  38. "pre": [
  39. "{% set k = null %}{% set v = null %}{% set append = null %}",
  40. "{% if tags.amenity == 'public_bath' %}",
  41. " {% set k = 'amenity' %}",
  42. " {% set v = 'public_bath' %}",
  43. " {% if attribute(tags, 'bath:type') %}{% set append = tagTrans('bath:type', attribute(tags, 'bath:type')) %}{% endif %}",
  44. "{% elseif tags.amenity == 'shower' %}",
  45. " {% set k = 'amenity' %}",
  46. " {% set v = 'shower' %}",
  47. "{% elseif tags.tourism == 'spa_resort' %}",
  48. " {% set k = 'tourism' %}",
  49. " {% set v = tags.tourism %}",
  50. "{% elseif tags.leisure == 'sauna' %}",
  51. " {% set k = 'leisure' %}",
  52. " {% set v = tags.leisure %}",
  53. " {% if tags.sauna and tags.sauna != 'yes' %}{% set append = tagTransList('sauna', tags.sauna) %}{% endif %}",
  54. "{% elseif tags.leisure == 'sports_centre' %}",
  55. " {% set k = 'leisure' %}",
  56. " {% set v = tags.leisure %}",
  57. " {% set append = tagTrans('sport', 'swimming') %}",
  58. "{% elseif tags.leisure %}",
  59. " {% set k = 'leisure' %}",
  60. " {% set v = tags.leisure %}",
  61. "{% elseif tags.natural %}",
  62. " {% set k = 'natural' %}",
  63. " {% set v = tags.natural %}",
  64. " {% if tags.sport %}{% set append = tagTrans('sport', 'swimming') %}{% endif %}",
  65. "{% endif %}"
  66. ],
  67. "description": [
  68. "{{ tagTrans(k, v) }}",
  69. "{% if append %}({{ append }}){% endif %}"
  70. ],
  71. "markerSign": "{{ const[k ~ '=' ~ v].sign|raw }}",
  72. "priority": "{% if tags.name %}0{% else %}1{% endif %}"
  73. },
  74. "info": [
  75. "<table>",
  76. "{% for value, data in const %}",
  77. "{% if data.zoom <= map.zoom %}",
  78. " <tr>",
  79. " <td>{{ markerCircle({})|raw }}<div class='sign'>{{ data.sign|raw }}</div></td>",
  80. " <td title=\"{% if data.taginfo %}{{ data.taginfo }}{% else %}{{ value }}{% endif %}\">",
  81. " {{ keyTrans(value) }}",
  82. " {% if data.append %}({{ trans(data.append) }}){% endif %}",
  83. " </td>",
  84. " </tr>",
  85. "{% endif %}",
  86. "{% endfor %}",
  87. "</table>"
  88. ],
  89. "const": {
  90. "leisure=swimming_area": {
  91. "zoom": 13,
  92. "sign": "<img data-src='maki:swimming?size=11&fill=blue'>"
  93. },
  94. "leisure=water_park": {
  95. "zoom": 13,
  96. "sign": "<img data-src='maki:swimming'>"
  97. },
  98. "leisure=beach_resort": {
  99. "zoom": 13,
  100. "sign": "<img data-src='temaki:beach'>"
  101. },
  102. "leisure=sports_centre": {
  103. "zoom": 13,
  104. "append": "tag:sport=swimming",
  105. "taginfo": "leisure=swimming_area, sport=swimming",
  106. "sign": "<img data-src='maki:basketball'>"
  107. },
  108. "natural=water": {
  109. "zoom": 13,
  110. "append": "tag:sport=swimming",
  111. "taginfo": "natural=water, sport=swimming",
  112. "sign": "<i style='color: blue' class=\"fas fa-water\"></i>"
  113. },
  114. "natural=beach": {
  115. "zoom": 13,
  116. "sign": "<img data-src='temaki:beach?fill=green'>"
  117. },
  118. "amenity=public_bath": {
  119. "zoom": 13,
  120. "taginfo": "amenity=public_bath, bath:type=*",
  121. "sign": "<i class=\"fa fa-bath\" style='color: black' aria-hidden=\"true\"></i>"
  122. },
  123. "tourism=spa_resort": {
  124. "zoom": 13,
  125. "sign": "<i class=\"fa fa-bath\" style='color: blue' aria-hidden=\"true\"></i>"
  126. },
  127. "leisure=swimming_pool": {
  128. "zoom": 16,
  129. "append": "tag:access!=private",
  130. "taginfo": "leisure=swimming_pool, access!=private",
  131. "sign": "<i style='font-size: 80%; color: black;' class='fas fa-swimming-pool'></i>"
  132. },
  133. "leisure=sauna": {
  134. "zoom": 16,
  135. "taginfo": "leisure=sauna, sauna:type=*",
  136. "sign": "<i class=\"fa fa-thermometer-full\" aria-hidden=\"true\"></i>"
  137. },
  138. "amenity=shower": {
  139. "zoom": 16,
  140. "sign": "🚿 "
  141. }
  142. },
  143. "filter": {
  144. "type": {
  145. "name": "{{ trans('filter:type') }}",
  146. "type": "select",
  147. "show_default": "true",
  148. "values": "{% for k, v in const %}<option value=\"{{ k }}\" query=\"nwr[{{ k }}]\" minzoom=\"{{ v.zoom }}\">{{ tagTrans(k) }}</option>{% endfor %}"
  149. }
  150. }
  151. }