Browse Source

Merge branch 'osm-qa'

pedestrian
parent
commit
8c7d8759ec
  1. 89
      culture-media.yaml
  2. 213
      fixme.yaml
  3. 12
      index.json
  4. 3
      lang/en.json

89
culture-media.yaml

@ -0,0 +1,89 @@
type: "overpass"
query:
15: |
(nwr[historic];nwr[tourism~'^(attraction|artwork)$'];nwr[heritage];)
feature:
pre: |
{% set color = 'red' %}
{% set str = 'No image, wikimedia_commons or wikidata' %}
{% if tags.wikidata %}
{% set color = 'blue' %}
{% set str = 'has wikidata tag' %}
{% set wikidata = tags.wikidata|wikidataEntity %}
{% if wikidata.claims.P31[0].mainsnak.datavalue.value.id in ['Q5'] %}
{% set color = 'magenta' %}
{% set str = "wikidata points to a human, should most likely be 'subject:wikidata'" %}
{% endif %}
{% elseif tags.wikimedia_commons or tags.image %}
{% set color = 'cyan' %}
{% set str = tags.wikimedia_commons ? 'has wikimedia_commons tag' : 'has image tag' %}
{% endif %}
body: |
{{ str }}
description: |
{% if tags.historic and tags.historic != 'yes' %}
{{ tagTransList('historic', tags.historic) }}
{% if tags.historic == 'memorial' and tags.memorial %}
({{ tagTransList('memorial', tags.memorial) }})
{% endif %}
{% elseif tags.tourism %}
{{ tagTransList('tourism', tags.tourism) }}
{% elseif tags.heritage %}
{{ keyTrans('heritage') }}
{% endif %}
markerSymbol: "{{ markerPointer({ fillColor: color })|raw }}"
listMarkerSymbol: "{{ markerCircle({ fillColor: color })|raw }}"
filter:
type:
name: "{{ trans('filter:type') }}"
show_default: "true"
query: "nwr[{{ value }}]"
type: "select"
key: "tourism"
values: |
<option value='tourism-artwork' query='nwr[tourism=artwork]'>{{ tagTrans('tourism', 'artwork') }}</option>
<option value='tourism-attraction' query='nwr[tourism=attraction]'>{{ tagTrans('tourism', 'attraction') }}</option>
<option value='historic-memorial' query='nwr[historic=memorial]'>{{ tagTrans('historic', 'memorial') }}</option>
<option value='historic-monument' query='nwr[historic=monument]'>{{ tagTrans('historic', 'monument') }}</option>
<option value='historic-wayside_cross' query='nwr[historic=wayside_cross]'>{{ tagTrans('historic', 'wayside_cross') }}</option>
<option value='historic-wayside_shrine' query='nwr[historic=wayside_shrine]'>{{ tagTrans('historic', 'wayside_shrine') }}</option>
<option value='historic-building' query='nwr[historic=building]'>{{ tagTrans('historic', 'building') }}</option>
<option value='historic-other' query='nwr[historic][historic!~"^(memorial|monument|wayside_cross|wayside_shrine|building)$"]'>{{ keyTrans('historic') }} {{ trans('other') }}</option>
<option value='heritage' query='nwr[heritage]'>{{ keyTrans('heritage') }}</option>
op: "has"
info: |
<table>
<tr>
<td>
{{ markerCircle({ fillColor: 'red' })|raw }}
</td>
<td>No image, wikimedia_commons or wikidata</td>
</tr>
<tr>
<td>
{{ markerCircle({ fillColor: 'magenta' })|raw }}
</td>
<td>wikidata tag points to a human, should most likely be 'subject:wikidata'</td>
</tr>
<tr>
<td>
{{ markerCircle({ fillColor: 'cyan' })|raw }}
</td>
<td>image or wikimedia_commons tag but no wikidata</td>
</tr>
<tr>
<td>
{{ markerCircle({ fillColor: 'blue' })|raw }}
</td>
<td>has wikidata tag</td>
</tr>
</table>
This category lists artwork, memorials, historic and heritage protected objects. These should have an <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:image">image</a> or <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikimedia_commons">wikimedia_commons</a> tag, or (even better) a <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikidata">wikidata</a> tag pointing to the object's entry.<br>
Memorials erroneously often have a wikidata (and wikipedia) tag of the person/event, which should be changed to <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikidata#Secondary_Wikidata_links">subject:wikidata</a> resp. <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikipedia#Secondary_Wikipedia_links">subject:wikipedia</a>".

213
fixme.yaml

@ -0,0 +1,213 @@
type: overpass
query:
14: nwr[~"^fixme(:.*|)$"~".",i]
feature:
pre: |
{% set fixme = tags.fixme %}
{% set category = null %}
{% if not fixme %}
{% for k, v in tags %}
{% set m = k|matches('^fixme(:(.*))?$', 'i') %}
{% if m %}
{% set fixme = v %}
{% set category = m[2] %}
{% endif %}
{% endfor %}
{% endif %}
{% if not category %}
{% for k, d in const.fixme if d.match %}
{% if fixme|matches(d.match, 'i') %}
{% set category = k %}
{% endif %}
{% endfor %}
{% endif %}
details: |
{{ fixme }}
description: |
{% set found = false %}
{% for k in ['amenity', 'shop', 'telecom', 'waterway', 'craft', 'highway', 'railway', 'aerialway', 'emergency', 'geological', 'man_made', 'natural', 'office', 'power', 'aeroway', 'tourism', 'leisure', 'military', 'landuse', 'barrier', 'route'] if not found %}
{% if attribute(tags, k) and attribute(tags, k) != 'yes' %}
{{ tagTransList(k, attribute(tags, k)) }}
{% set found = true %}
{% endif %}
{% endfor %}
{% if found %}{# nothing #}
{% elseif tags.building and tags.building != 'yes' %}
{{ tagTransList('building', tags.building) }}
{% elseif tags.historic and tags.historic not in ['heritage', 'yes', 'building'] %}
{{ tagTransList('historic', tags.historic) }}
{% elseif tags.building == 'yes' or tags.historic == 'building' %}
{{ keyTrans('building') }}
{% elseif tags.boundary %}
{{ tagTrans('boundary', tags.boundary) }}
{% endif %}
body: |
{{ fixme == 'yes' ? keyTrans('fixme') : fixme }}
markerSymbol: |
{{ markerPointer({ fillColor: const.fixme[category].color|default('#f2756a') }) }}
listMarkerSymbol: |
{{ markerCircle({ fillColor: const.fixme[category].color|default('#f2756a') }) }}
filter:
category:
name: Category
show_default: true
type: select
values: |
{% for k, d in const.fixme %}
<option value='{{ k }}' query='{{ d.query|default('nwr[~"fixme(:.*|)"~"' ~ d.match ~ '"') }},i]'>{{ tagTrans('fixme', k) }}</option>
{% endfor %}
type:
name: Type
show_default: true
type: select
values: |
{% for k, d in const.types %}
<option value='{{ k }}' query='{{ d.query }}'>{{ d.title|matches('^repo/') ? repoTrans(d.title|slice(5)) : trans(d.title) }}</option>
{% endfor %}
info: |
<table>
<tr>
<td>{{ markerCircle({ fillColor: '#f2756a' }) }}</td>
<td>{{ trans('other') }}</td>
</tr>
{% for k, d in const.fixme %}
<tr>
<td>{{ markerCircle({ fillColor: d.color }) }}</td>
<td>{{ tagTrans('fixme', k) }}</td>
</tr>
{% endfor %}
</table>
const:
fixme:
name:
match: 'name'
query: '(nwr[~"fixme:name"~".",i];nwr[~"fixme(:.*|)"~"name",i];)'
color: '#00b6a9'
incomplete:
match: '(continue|incomplete|unfinished)'
color: '#bb972f'
position:
match: '(position|location)'
color: '#71ab43'
addr:
match: 'addr'
query: '(nwr["fixme:addr"];nwr[fixme~"addr",i];)'
color: '#0070b6'
maxspeed:
match: 'maxspeed'
query: '(nwr["fixme:maxspeed"];nwr[fixme~"maxspeed",i];)'
color: '#a36af2'
resurvey:
match: 're-?survey'
color: '#00b647'
verify:
match: '(verify|recheck)'
color: '#eeb600'
import:
match: 'import'
color: '#a6b600'
types:
shops:
title: 'tag:shop'
query: 'nwr[shop]'
craft:
title: 'tag:craft'
query: 'nwr[craft]'
tourism:
title: 'tag:tourism'
query: 'nwr[tourism]'
roads:
title: 'tag:highway'
query: 'nwr[highway]'
gastro:
title: 'repo/category:gastro'
query: 'nwr[amenity~"^(bar|biergarten|cafe|fast_food|food_court|ice_cream|pub|restaurant)$"]'
agriculture:
title: 'repo/category:agriculture'
query: 'nwr[landuse~"^(allotments|farm|farmland|farmyard|greenhouse_horticulture|orchard|vineyard)$"]'
buildings:
title: 'repo/category:buildings'
query: '(nwr[building];nwr[entrance];)'
transport_car:
title: 'repo/category:transport_car'
query: 'nwr[amenity~"^(car_rental|car_sharing|car_wash|fuel|motorcycle_parking|parking)$"];'
children:
title: 'repo/category:children'
query: '(nwr[leisure~"^(playground|summer_camp|indoor_play)$"];nwr[shop~"^(baby_goods|toys)$"];nwr[changing_table];nwr[diaper];nwr[kids_area];nwr[playground];)'
sport:
title: 'tag:sport'
query: '(nwr[sport];nwr[climbing];nwr[highway~"^(via_ferrata)$"];nwr[leisure~"^(sports_.*)$"];)'
industrial:
title: 'tag:landuse=industrial'
query: '(nwr[landuse~"^(quarry|industrial)$"];nwr[man_made~"^(mineshaft|pipeline|goods_conveyor)$"];)'
power:
title: 'repo/category:electric_power'
query: '(nwr[power];relation[type=route][route=power];)'
communication:
title: 'repo/category:communication'
query: '(nwr[amenity~"^(post_office|internet_cafe|post_box|parcel_locker|telephone)$"];nwr[office~"^(telecommunication|it|newspaper|publisher|advertising_agency)$"];nwr[vending~"parcel"];)'
construction:
title: 'repo/category:construction'
query: '(nwr[~"."~"^(construction)$"];nwr[~"^construction:"~"."];)'
culture:
title: 'repo/category:culture'
query: '(nwr[amenity~"^(arts_centre|cinema|community_centre|fountain|studio|theatre)$"];nwr[tourism~"^(artwork|gallery|museum|theme_park)$"];nwr[amenity~"^(clock)$"];nwr[shop~"^(art)$"];)'
bicycle:
title: 'repo/category:transport_cycle'
query: '(nwr[amenity~"^(bicycle_.*|compressed_air|charging_station)$"];nwr[shop~"^(bicycle)$"];nwr["monitoring:bicycle"];nwr[vending~"^bicycle_"];relation[type=route][route~"^(|.*;)bicycle(|;.*)$"];)'
education:
title: 'repo/category:education'
query: '(nwr[amenity~"^(college|university|library|school|kindergarten|language_school|childcare|public_bookcase)$"];nwr[office~"^(educational_institution|research)$"];)'
emergency:
title: 'repo/category:emergency'
query: '(nwr[amenity~"^(fire_station|hospital|police)$"];nwr[emergency];nwr[highway~"^(emergency_access_point)$"];)'
financial:
title: 'repo/category:financial'
query: '(nwr[amenity~"^(bank|bureau_de_change|atm)$"];nwr[office~"^(financial|accountant|insurance|tax|tax_advisor)$"];)'
health:
title: 'repo/category:health'
query: '(nwr[amenity~"^(baby_hatch|clinic|dentist|doctors|hospital|nursing_home|pharmacy|social_facility|veterinary)$"];nwr[healthcare];)'
heritage:
title: 'repo/category:heritage'
query: 'nwr[heritage]'
walking:
title: 'repo/category:transport_walk'
query: '(nwr[amenity~"^(bench|shelter)$"];relation[type=route][route~"^(|.*;)hiking(|;.*)$"];nwr[highway~"^(footway|path|pedestrian|elevator|steps|crossing)$"];)'
historic:
title: 'tag:historic'
query: 'nwr[historic]'
law:
title: 'repo/category:law'
query: 'nwr[amenity~"^(courthouse)$"];nwr[office~"^(lawyer|notary)$"];)'
leisure:
title: 'tag:leisure'
query: 'nwr[leisure]'
memorial:
title: 'repo/category:memorial'
query: 'nwr[historic~"^(memorial|monument|wayside_(cross|shrine|chapel))$"]'
military:
title: 'repo/category:military'
query: '(nwr[military];nwr[landuse=military];)'
natural:
title: 'repo/category:natural'
query: '(nwr[natural];nwr[place~"^(island|islet)$"];)'
office:
title: 'repo/category:office'
query: 'nwr[office]'
places:
title: 'tag:place'
query: 'node[place]'
public:
title: 'repo/category:public'
query: '(nwr[amenity~"^(embassy|public_building|townhall|clock|drinking_water|recycling|toilets)$"];node[drinking_water];nwr[office~"^(government|administration)$"];)'
railway:
title: 'tag:railway'
query: '(nwr[railway];relation[type=route][route=railway];)'
religion:
title: 'tag:religion'
query: '(nwr[amenity~"^(place_of_worship|grave_yard|crematorium)$"];nwr[landuse~"^(cemetery)$"];nwr[historic~"wayside_(cross|shrine|chapel)$"];nwr[office~\"^(parish|religion)$\"];)'
landuse:
title: 'tag:landuse'
query: 'nwr[landuse]'

12
index.json

@ -391,6 +391,18 @@
"id": "xmas"
}
]
},
{
"id": "osm-qa",
"type": "index",
"subCategories": [
{
"id": "fixme"
},
{
"id": "culture-media"
}
]
}
]
}

3
lang/en.json

@ -22,6 +22,7 @@
"category:craft": "Craft",
"category:culture": "Culture",
"category:culture_religion": "Culture and Religion",
"category:culture-media": "Culture Media/Wikidata",
"category:cycle_amenities": "Amenities",
"category:cycle_routes": "Cycle Routes",
"category:developable_areas": "Developable Areas",
@ -31,6 +32,7 @@
"category:emergency": "Emergency Services",
"category:energy": "Energy",
"category:financial": "Financial",
"category:fixme": "Fix Me",
"category:gastro": "Gastronomy",
"category:gastro-smoking": "Smokefree Gastronomy",
"category:health": "Health",
@ -50,6 +52,7 @@
"category:office": "Offices",
"category:oil_gas": "Petroleum and natural gas",
"category:organisations": "Organisations",
"category:osm-qa": "OpenStreetMap Quality Control",
"category:other": "Other",
"category:outdoor": "Outdoor activities",
"category:phone": "Phone",

Loading…
Cancel
Save