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.

131 lines
4.3 KiB

  1. {
  2. "type": "overpass",
  3. "name": {
  4. "de": "Einrichtungen",
  5. "en": "Amenities",
  6. "fr": "Équipements vélo",
  7. "pt-br": "Equipamentos"
  8. },
  9. "query": {
  10. "13": [
  11. "(",
  12. "node[amenity~\"^(bicycle_rental)$\"];",
  13. "way[amenity~\"^(bicycle_rental)$\"];",
  14. "relation[amenity~\"^(bicycle_rental)$\"];",
  15. "node[shop~\"^(bicycle)$\"];",
  16. "way[shop~\"^(bicycle)$\"];",
  17. "relation[shop~\"^(bicycle)$\"];",
  18. ")"
  19. ],
  20. "16": [
  21. "(",
  22. "node[amenity~\"^(bicycle_.*|compressed_air)$\"];",
  23. "way[amenity~\"^(bicycle_.*|compressed_air)$\"];",
  24. "relation[amenity~\"^(bicycle_.*|compressed_air)$\"];",
  25. "node[amenity~\"^(charging_station)$\"][bicycle!=\"no\"];",
  26. "node[shop~\"^(bicycle)$\"];",
  27. "way[shop~\"^(bicycle)$\"];",
  28. "relation[shop~\"^(bicycle)$\"];",
  29. "node[\"monitoring:bicycle\"];",
  30. "way[\"monitoring:bicycle\"];",
  31. "relation[\"monitoring:bicycle\"];",
  32. "node[vending~\"^(bicycle_tube)$\"];",
  33. "way[vending~\"^(bicycle_tube)$\"];",
  34. "relation[vending~\"^(bicycle_tube)$\"];",
  35. ")"
  36. ]
  37. },
  38. "feature": {
  39. "pre": [
  40. "{% if tags.shop in [ 'bicycle' ] %}",
  41. " {% set key = 'shop' %}",
  42. " {% set value = tags.shop %}",
  43. "{% elseif attribute(tags, \"monitoring:bicycle\") %}",
  44. " {% set key = 'man_made' %}",
  45. " {% set value = 'monitoring_station' %}",
  46. "{% elseif tags.vending in [ 'bicycle_tube' ] %}",
  47. " {% set key = 'vending' %}",
  48. " {% set value = tags.vending %}",
  49. "{% else %}",
  50. " {% set key = 'amenity' %}",
  51. " {% set value = tags.amenity %}",
  52. "{% endif %}",
  53. "",
  54. "{% set constIndex = (key ~ \"=\" ~ value) %}"
  55. ],
  56. "title": [
  57. "{{ localizedTag(tags, 'name') |default(localizedTag(tags, 'operator')) | default(localizedTag(tags, 'ref')) | default(trans('unnamed')) }}",
  58. "",
  59. "{% if tags.capacity %}({{ tags.capacity }}){% endif %}"
  60. ],
  61. "description": "{{ tagTrans(key, value) }}",
  62. "body": [
  63. "{% if tags.capacity %}",
  64. " {{ keyTrans('capacity') }}: {{ tags.capacity }}",
  65. "{% endif %}"
  66. ],
  67. "markerSign": "{{ const[constIndex]['sign'] }}",
  68. "priority": [
  69. "{% if const[constIndex] and const[constIndex]['priority']['capacity'] %}",
  70. " {% set max=const[constIndex]['priority']['default'] %}",
  71. " {% for v in const[constIndex]['priority']['capacity'] %}",
  72. " {% if tags.capacity >= v[0] %}{% set max=v[1] %}{% endif %}",
  73. " {% endfor %}",
  74. " {{ max }}",
  75. "{% elseif const[constIndex] is defined %}",
  76. "{{ const[constIndex]['priority'] }}",
  77. "{% else %}",
  78. "10",
  79. "{% endif %}"
  80. ]
  81. },
  82. "const": {
  83. "shop=bicycle": {
  84. "sign": "🚲",
  85. "priority": 0
  86. },
  87. "amenity=bicycle_repair_station": {
  88. "sign": "🔧",
  89. "priority": 2
  90. },
  91. "amenity=bicycle_parking": {
  92. "sign": "🅿",
  93. "priority": {
  94. "capacity": [
  95. [
  96. 0,
  97. 3
  98. ],
  99. [
  100. 20,
  101. 2
  102. ],
  103. [
  104. 100,
  105. 0
  106. ]
  107. ],
  108. "default": 3
  109. }
  110. },
  111. "amenity=bicycle_rental": {
  112. "sign": "R",
  113. "priority": 1
  114. },
  115. "man_made=monitoring_station": {
  116. "sign": "#",
  117. "priority": 4
  118. },
  119. "vending=bicycle_tube": {
  120. "sign": "T",
  121. "priority": 2
  122. },
  123. "amenity=compressed_air": {
  124. "sign": "A",
  125. "priority": 2
  126. },
  127. "amenity=charging_station": {
  128. "sign": "🔌",
  129. "priority": 2
  130. }
  131. }
  132. }