Main categories of OpenStreetBrowser with support for whitewater
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.

142 lines
5.4 KiB

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