User:Fabi2/Better Tagging-Howto

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page is not intended to blame the mappers, which created the bad tagging, but to help OSM contributors to make their tagging better in the future.

Tags should be self explaining

Don't save a few chars, if the resulting tags are difficult to understand. OSM is mainly edited by humans and not by robots.

Use generic tags for things that are generic

Ever wondered why social_facility:for=* and community_centre:for=* is not provided_for:*=yes/no?

Don't reinvent the wheel

Some mappers from France wanted to say, that you can make photocopies in this amenity=post_office, but instead of using the long existing service:copy=yes from shop=copyshop, they reinvented a worse wheel with copy_facility=yes for their data import. Some mappers from Germany saw it and found it useful, so it was then added to the German page for shop=stationery.

There are no fixed relationships of any kind between tags, although there are recommended combinations to make the data more useful. Just look at name=* for an example.

Don't expect people to crawl through all the values of your tag to find the interesting ones

It's difficult to select/filter map objects by their value, if they have multiple, without preprocessing of all objects with the affected tag. E.g. Try to easily select map object with healthcare:speciality=internal if some may have healthcare:speciality=general;internal or healthcare:speciality=internal;general in their values.

So semicolon-separated values should not be used for things, where it would be useful to easily select the affected objects by the enumerated values specified for this key. For these objects, you should better put the values in the key and use, e.g., yes/no for the value.

Geometric objects should be geometries, not just tags

Ever tried to extend, e.g., cycleway:both=* with some additional tags or ways? Or do you know, how “nice” the synthesized cycleways look which mkgmap created. Oh, OK, some mappers from Germany think, the 0.5 m of grass between the not geometric mapped sidewalk (mapping it as an extra way should break the routing and is not a problem of the (not) used street model) and the separate mapped cycleway make the important difference to the router, as it is part of the routing graph it creates! You don't get routing without preprocessing of the data and selecting the useable ways for each mode of transportation, as it must have done anyway, e.g. for the turn restrictions!

Here a long real mapping example I encountered:

I found a hairdresser, where someone has added wheelchair=yes via wheelmap.org, but before you reach the front door with your wheelchair, you have to move up a highway=steps with 8 steps first. :-) So I wanted to map the steps and connect it with the sidewalk of this street and fixed the hairdresser.

But where are the sidewalk of this street in OSM? Ah, there are a nice sidewalk=both tag on this street. But the steps are going to the sidewalk and not to the street! How should I map this without getting routing warnings in QA-tools for not connecting the highway=steps with this street? So I finally added a fixme=* to the steps as a first "solution".