Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add icon for amenity=vehicle_inspection #3434

Merged
merged 1 commit into from
Oct 10, 2018
Merged

add icon for amenity=vehicle_inspection #3434

merged 1 commit into from
Oct 10, 2018

Conversation

Adamant36
Copy link
Contributor

This PR adds an icon for amenity=vehicle_inspection. To quote @kocio-pl, it is a growing tag closing to 2k limit and has a wiki page. Closes #3378
taghistory
https://www.openstreetmap.org/#map=19/40.35227/-122.28071 (node)
node
https://www.openstreetmap.org/#map=19/37.59953/-122.38768 (way)
way

@Tomasz-W Tomasz-W mentioned this pull request Oct 6, 2018
26 tasks
@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 6, 2018

Thanks, I like it. BTW: it already has 2149 uses now.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 6, 2018

Could you test a node with a label to make sure that label rendering is fine there too?

@matthijsmelissen
Copy link
Collaborator

How will places that are both shop=car_repair and amenity=vehicle_inspection be rendered? In some countries vehicle inspection is done by regular garages, in others it is done by the government. Is this allowed tagging?

@dieterdreist
Copy link

dieterdreist commented Oct 8, 2018 via email

@Adamant36
Copy link
Contributor Author

@kocio-pl kocio-pl merged commit 0ef4eb7 into gravitystorm:master Oct 10, 2018
@kocio-pl
Copy link
Collaborator

Thanks, it's working good in my test.

@boothym
Copy link
Contributor

boothym commented Oct 10, 2018

How will an object tagged as both shop=car_repair and amenity=vehicle_inspection be rendered?

@Adamant36
Copy link
Contributor Author

If I remember correctly, in my tests it rendered as vehicle inspection. Which seems like the proper rendering for me. Since a lot of places that do inspections might also do "repair" type things, but its usually secondary. Like places that check oil.

@kocio-pl
Copy link
Collaborator

We have general problem with multiple renderable tags. Rendering depends on general categories in any given layer project.mml. For example amenity-points-poly layer checks for amenity first, and shop later, which means that it stops searching once it finds matching tag (hence amenities have priority over shops when tagged on the same object):

'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,
'tourism_' || CASE WHEN tourism IN ('artwork', 'alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'wilderness_hut', 'guest_house', 'apartment',
'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site', 'gallery') THEN tourism ELSE NULL END,
'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bbq', 'bicycle_rental', 'bureau_de_change', 'bus_station', 'cafe', 'public_bath',
'car_rental', 'car_wash', 'cinema', 'clinic', 'community_centre', 'fire_station', 'fountain',
'fuel', 'hospital', 'ice_cream', 'embassy', 'library', 'courthouse', 'townhall', 'parking',
'bicycle_parking', 'motorcycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship',
'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court',
'fast_food', 'telephone', 'taxi', 'theatre', 'toilets', 'drinking_water',
'prison', 'hunting_stand', 'nightclub', 'veterinary', 'social_facility', 'vehicle_inspection',
'charging_station', 'arts_centre', 'ferry_terminal', 'marketplace', 'waste_disposal', 'shower', 'bbq',
'nursing_home', 'childcare', 'driving_school', 'casino', 'boat_rental', 'bicycle_repair_station') THEN amenity ELSE NULL END,
'advertising_' || CASE WHEN tags->'advertising' in ('column') THEN tags->'advertising' else NULL END,
'shop' || CASE WHEN shop IN ('no', 'vacant', 'closed', 'disused', 'empty') OR shop IS NULL THEN NULL ELSE '' END,
'office' || CASE WHEN tags->'office' IN ('no', 'vacant', 'closed', 'disused', 'empty') OR (tags->'office') IS NULL THEN NULL ELSE '' END,
'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table',
'fitness_centre', 'fitness_station', 'firepit', 'sauna', 'beach_resort',
'bowling_alley', 'outdoor_seating', 'bird_hide', 'amusement_arcade', 'sports_centre', 'swimming_area')
THEN leisure ELSE NULL END,
'man_made_' || CASE WHEN (man_made IN ('mast', 'tower', 'water_tower', 'lighthouse', 'windmill', 'obelisk', 'communications_tower', 'chimney', 'storage_tank', 'silo')
AND (tags->'location' NOT IN ('roof', 'rooftop') OR (tags->'location') IS NULL)) THEN man_made ELSE NULL END,
'natural_' || CASE WHEN "natural" IN ('spring') THEN "natural" ELSE NULL END,
'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor', 'city_gate')
THEN concat_ws('_', historic, CASE WHEN tags->'memorial' IN ('plaque') THEN tags->'memorial' ELSE NULL END)
ELSE NULL END,
'military_'|| CASE WHEN military IN ('bunker') THEN military ELSE NULL END,
'highway_'|| CASE WHEN highway IN ('bus_stop', 'elevator', 'traffic_signals') THEN highway ELSE NULL END,
'power_' || CASE WHEN power IN ('generator') THEN power ELSE NULL END,
'tourism_' || CASE WHEN tourism IN ('viewpoint') THEN tourism ELSE NULL END

I have no idea how to make it more specific without going insane. You can see using two sets of tourism in the beginning (for example artwork) and at the end of this list (viewpoint alone), most probably just to make some of such objects being selected even if they have amenity for example and some others (vieewpoint) only as a last resort, when no other renderable tags are found, but this solution is ugly and error prone.

@Adamant36 Adamant36 deleted the inspection branch October 11, 2018 04:43
@polarbearing
Copy link
Contributor

@Adamant36 - the situation is the opposite here in Europe. The inspection is a legal requirement every 2 years, and performed by institutions authorised for this job. They do not do any repair at all. There are repair shops which offer the formal inspection as an extra service, but then the authorised inspector visits the shop upon agreement. Thus in the European cases, shop=car_repair would have to prevail.

@kocio-pl - it would be desirable to have an mechanism where we can formally define which of two conflicting tags wins the rendering. Otherwise these issues become forgotten after a while, and resurface as a side-effect once some layering etc is modified for other reasons.

@HolgerJeromin
Copy link
Contributor

it would be desirable to have an mechanism where we can formally define which of two conflicting tags wins the rendering. Otherwise these issues become forgotten after a while, and resurface as a side-effect once some layering etc is modified for other reasons.

This would be a classic case for an automated regression test. I opened #3446 for that

@polarbearing
Copy link
Contributor

Checking https://taginfo.openstreetmap.org/tags/amenity=vehicle_inspection#map shows the tag is mostly used in Europe where the legal requirement exists. I checked the wiki, and it clearly defines the legal safety checks and not the operational things like oil level.
No combinations are shown in taginfo, so overpass reveals about 100 cases with inspection+repair.
The 10 I probed in DE are all tagging errors, either trying to make the formal inspection sites visible in the renderer, or describing the additional service by a repair shop to have a visiting inspector.

@dieterdreist
Copy link

dieterdreist commented Oct 11, 2018 via email

@dieterdreist
Copy link

dieterdreist commented Oct 11, 2018 via email

@matthijsmelissen
Copy link
Collaborator

Since a lot of places that do inspections might also do "repair" type things, but its usually secondary.

In the Netherlands it's opposite. Almost all car repair shops are licensed to do inspections too, but it's not their primary purpose. I'm not sure if these should be tagged with amenity=vehicle_inspection_station though.

The inspection is [...] performed by institutions authorised for this job. They do not do any repair at all.

Certainly not true in the Netherlands.

@trigpoint
Copy link

Since a lot of places that do inspections might also do "repair" type things, but its usually secondary.

In the Netherlands it's opposite. Almost all car repair shops are licensed to do inspections too, but it's not their primary purpose. I'm not sure if these should be tagged with amenity=vehicle_inspection_station though.

The inspection is [...] performed by institutions authorised for this job. They do not do any repair at all.

Certainly not true in the Netherlands.
Same in England/Wales/Scotland. Most garages (car repair) do vehicle testing but their primary business is service and repair. Vehicles 3 years old and over have to be tested every year.

@jragusa
Copy link
Contributor

jragusa commented Oct 14, 2018

It's a little bit off-topic (e.g. tagging discussion) but following the concept of One feature, one OSM element, amenity=vehicle_inspection should be displayed in a different node than amenity=car_repair in this case. It's the same problem with hotels encompassing a restaurant.

@dieterdreist
Copy link

dieterdreist commented Oct 14, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants