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.

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