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.

225 lines
7.7 KiB

6 years ago
  1. {
  2. "type": "overpass",
  3. "name": {
  4. "de": "Denkmäler",
  5. "en": "Memorials",
  6. "fr": "Mémoriaux",
  7. "hu": "Emlékművek",
  8. "pt-br": "Memoriais"
  9. },
  10. "query": {
  11. "11": [
  12. "(",
  13. "node[historic~\"^(monument)$\"];",
  14. "way[historic~\"^(monument)$\"];",
  15. "relation[historic~\"^(monument)$\"];",
  16. ")"
  17. ],
  18. "14": [
  19. "(",
  20. "node[historic~\"^(memorial|monument)$\"];",
  21. "way[historic~\"^(memorial|monument)$\"];",
  22. "relation[historic~\"^(memorial|monument)$\"];",
  23. ")"
  24. ]
  25. },
  26. "feature": {
  27. "pre": [
  28. "{% set memtype = 'yes' %}",
  29. "{% if tags.memorial %}",
  30. " {% set memtype = tags.memorial %}",
  31. "{% elseif attribute(tags, 'memorial:type') %}",
  32. " {% set memtype = attribute(tags, 'memorial:type') %}",
  33. "{% elseif attribute(tags, 'monument') %}",
  34. " {% set memtype = attribute(tags, 'monument') %}",
  35. "{% elseif attribute(tags, 'memorial_type') %}",
  36. " {% set memtype = attribute(tags, 'memorial_type') %}",
  37. "{% endif %}",
  38. "",
  39. "{% set memgroup = memtype %}",
  40. "{% for value, data in const %}",
  41. "{% if memtype in data.alias %}",
  42. "{% set memgroup = value %}",
  43. "{% endif %}",
  44. "{% endfor %}"
  45. ],
  46. "description": [
  47. "{{ tagTrans('historic', tags.historic) }}",
  48. "",
  49. "{% if memtype != 'yes' %}",
  50. " ({{ tagTrans('memorial', memtype) }})",
  51. "{% endif %}"
  52. ],
  53. "priority": [
  54. "{% if tags.historic == 'monument' %}0[% else %}1{% endif %}"
  55. ],
  56. "body": [
  57. "<ul>",
  58. "{% if tags.inscription %}",
  59. " <li class='hasSymbol'>",
  60. " <i class=\"fa fa-pencil-alt\" aria-hidden=\"true\"></i>",
  61. " <span class='key'>{{ keyTrans('inscription') }}:</span>",
  62. " <span class='value'>{{ localizedTag(tags, 'inscription') }}</span>",
  63. " </li>",
  64. "{% elseif attribute(tags, 'inscription:url') %}",
  65. " <li class='hasSymbol'>",
  66. " <i class=\"fa fa-pencil-alt\" aria-hidden=\"true\"></i>",
  67. " <span class='key'><a href=\"{{ attribute(tags, 'inscription:url') }}\">{{ keyTrans('inscription') }}</a></span>",
  68. " </li>",
  69. "{% endif %}",
  70. "",
  71. "{% if attribute(tags, 'historic:civilization') %}",
  72. " <li class='hasSymbol'>",
  73. " <i class=\"fa fa-users\" aria-hidden=\"true\"></i>",
  74. " <span class='key'>{{ keyTrans('historic:civilization') }}:</span>",
  75. " <span class='value'>{{ tagTrans('historic:civilization', attribute(tags, 'historic:civilization')) }}</span>",
  76. " </li>",
  77. "{% endif %}",
  78. "",
  79. "{% if attribute(tags, 'memorial:conflict') %}",
  80. " <li class='hasSymbol'>",
  81. " <i class=\"fa fa-bolt\" aria-hidden=\"true\"></i>",
  82. " <span class='key'>{{ keyTrans('memorial:conflict') }}:</span>",
  83. " <span class='value'>{{ tagTransList('memorial:conflict', attribute(tags, 'memorial:conflict')) }}</span>",
  84. " </li>",
  85. "{% endif %}",
  86. "",
  87. "{% if tags.artist_name %}",
  88. " <li class='hasSymbol'>",
  89. " <i class=\"fa fa-palette\" aria-hidden=\"true\"></i>",
  90. " <span class='key'>{{ keyTrans('artist_name') }}:</span>",
  91. " <span class='value'>{{ enumerate(tags.artist_name) }}</span>",
  92. " </li>",
  93. "{% endif %}",
  94. "</ul>"
  95. ],
  96. "markerSign": "{{ const[memgroup].sign|raw }}"
  97. },
  98. "info": [
  99. "<table>",
  100. "{% for value, data in const %}",
  101. "{% if data.zoom <= map.zoom %}",
  102. " <tr>",
  103. " <td>{{ markerCircle({})|raw }}<div class='sign'>{{ data.sign|raw }}</div></td>",
  104. " <td>{{ tagTrans('memorial', value) }}{% for alias in data.alias %}, {{ tagTrans('memorial', alias) }}{% endfor %}</td>",
  105. " </tr>",
  106. "{% endif %}",
  107. "{% endfor %}",
  108. "{% if 14 <= map.zoom %}",
  109. " <tr>",
  110. " <td>{{ markerCircle({})|raw }}<div class='sign'></div></td>",
  111. " <td>{{ trans('other') }}</td>",
  112. " </tr>",
  113. "{% endif %}",
  114. "</table>"
  115. ],
  116. "const": {
  117. "plaque": {
  118. "alias": [ "plate" ],
  119. "sign": "<img data-src='img/plaque.svg'>",
  120. "zoom": 14
  121. },
  122. "blue_plaque": {
  123. "sign": "<img data-src='img/blue_plaque.svg'>",
  124. "zoom": 14
  125. },
  126. "statue": {
  127. "sign": "<i class=\"fas fa-female\"></i>",
  128. "zoom": 14
  129. },
  130. "war_memorial": {
  131. "alias": [ "war_monument" ],
  132. "sign": "<img data-src='maki:horse-riding'>",
  133. "zoom": 14
  134. },
  135. "stolperstein": {
  136. "sign": "",
  137. "zoom": 14
  138. },
  139. "stone": {
  140. "sign": "",
  141. "zoom": 14
  142. },
  143. "bust": {
  144. "alias": [ "person" ],
  145. "sign": "<i class=\"fas fa-user-alt\"></i>",
  146. "zoom": 14
  147. },
  148. "stele": {
  149. "alias": [ "obelisk" ],
  150. "sign": "",
  151. "zoom": 14
  152. },
  153. "sculpture": {
  154. "sign": "",
  155. "zoom": 14
  156. },
  157. "ghost_bike": {
  158. "sign": "<i style=\"color: white;\" class=\"fas fa-bicycle\"></i>",
  159. "zoom": 14
  160. },
  161. "vehicle": {
  162. "alias": [ "tank" ],
  163. "sign": "<i class=\"fas fa-car\"></i>",
  164. "zoom": 14
  165. },
  166. "cross": {
  167. "sign": "<i class=\"fas fa-cross\"></i>",
  168. "zoom": 14
  169. },
  170. "flood_mark": {
  171. "alias": [ "high_water_mark" ],
  172. "sign": "<i class=\"fas fa-water\"></i>",
  173. "zoom": 14
  174. },
  175. "grave": {
  176. "alias": [ "graveyard" ],
  177. "sign": "",
  178. "zoom": 14
  179. }
  180. },
  181. "filter": {
  182. "type": {
  183. "name": "{{ trans('filter:type') }}",
  184. "show_default": "true",
  185. "type": "select",
  186. "values": "{% for k, v in const %}<option value='{{ k }}' query='nwr[~\"^(memorial|memorial:type|memorial_type|monument)$\"~\"^({{ k }}{% for alias in v.alias %}|{{ alias }}{% endfor %})$\"]'>{{ tagTrans('memorial', k) }}{% for alias in v.alias %}, {{ tagTrans('memorial', alias) }}{% endfor %}</option>{% endfor %}"
  187. },
  188. "conflict": {
  189. "key": "memorial:conflict",
  190. "op": "has",
  191. "name": "{{ keyTrans('memorial:conflict') }}",
  192. "type": "select",
  193. "values": [
  194. "WW1",
  195. "WW2"
  196. ],
  197. "valueName": "{{ tagTrans('memorial:conflict', value) }}"
  198. },
  199. "civilization": {
  200. "key": "historic:civilization",
  201. "op": "has",
  202. "name": "{{ keyTrans('historic:civilization') }}",
  203. "type": "select",
  204. "values": [
  205. "ancient_egyptian",
  206. "ancient_greek",
  207. "ancient_roman",
  208. "byzantine",
  209. "celtic",
  210. "etruscan",
  211. "imperial_chinese",
  212. "korean",
  213. "medieval",
  214. "modern",
  215. "neolithic",
  216. "nuragic",
  217. "ottoman",
  218. "prehistoric",
  219. "roman",
  220. "western_roman"
  221. ],
  222. "valueName": "{{ tagTrans('historic:civilization', value) }}"
  223. }
  224. }
  225. }