Tagging for the renderer

From OpenStreetMap Wiki
(Redirected from Lying to the renderer)
Jump to navigation Jump to search
These "3D Buildings" are actually other map elements misused in way not to resemble reality but to render in default map display as a 3D image of a building. They are actually made with barriers, buildings, and landuses. Also some sections of roads were not mapped because they were "behind" the "buildings".
Yes, this was actually mapped, it is not a theoretical example.
The canonical example of what not to do. (The accelerator rings were incorrectly tagged as roads so they would render on the map in default view).
Using powerlines to draw antenna map symbol, another example of what not to do
Screen shot of a sports field with an American football end-zone tagged as landuse=commercial to get a pink fill and each letter tagged as natural=sand to get a yellow fill.
An improper mapping of non-existent landuse=commercial and natural=sand areas to paint lettering on a sports field. This is improper mapping because there are not actually commercial or sand areas in these locations, the tags were just chosen for their fill colors in a particular renderer.

"Tagging for the renderer", also known as "lying to the renderer", is the bad practice of using incorrect tags (or otherwise skewing the data) for the map features, so that they show up in the mapper's renderer of choice. Such tagging goes against the basic good practice principles.


For example, if landuse=industrial shows up as a pink area on one of maps, and you have a flowerbed full of pink roses, then tagging your flowerbed as landuse=industrial would be incorrect and must be avoided. Instead, you should accurately tag the flowerbed with the type of plants and improve the renderers so they understand how to show it.

Another example is when someone abbreviates names, or puts spaces into them like T o w n   H a l l   S t r e e t or puts Kashida like علـــــــم to ensure that the names show up "nice" on the one particular map. This should be avoided as it is tagging for the renderer. It breaks the search, other map styles, and, in addition, map prettiness is subjective. It should be the renderers' job to abbreviate street names, interspace characters or stretch characters.

CERN particle accelerator rings were at one point tagged as highway=trunk and highway=primary (with tunnel=yes) (see image) even though they aren't major roads of any kind. It has since been retagged to correct highway=path/tunnel=yes/access=restricted and later changed to highway=corridor + access=private + tunnel=yes.

Although the most common form of data skewing would be misuse of tags, this rule can apply to the manner in which elements are geometrically arranged. To collect information about how buildings look use 3D tagging rather than map fake buildings, barriers and landuses that in some renderers will look like 3D image of building.

The Great Lakes were tagged as natural=coastline, even though that is for the ocean, because the coastline ways are rendered at low zoom levels. They were changed to water=lake and as a result disappeared from the default map layer. Renderers should show big lakes at low zoom levels, without them being tagged as seas.

Sometimes mangroves are tagged as natural=wood or landuse=forest to obtain a green area in the render. The correct tagging is natural=wetland + wetland=mangrove.

Amusement rides are sometimes tagged as tourism=attraction instead of attraction=amusement_ride. Rollercoaster tracks are sometimes tagged like railways. Water-based amusement rides are sometimes tagged as rivers or streams.

"Painting" lettering or symbols by adding non-existent landuse=*/natural=*/etc areas for their fill-colors -- see the "Bruin Bowl" example image. Also you don't use barrier tag on painted line in a stadium: Wrong use barrier=fence on a stadium image.

The shape of a highway is sometimes tagged as highway=*+area=yes because area:highway=* is not rendered in Carto.

Buildings are sometimes tagged as height=0 to "fix" the rendering in Jawg 3d map tiles[1].

Buildings are sometimes tagged as building:part=yes or building:part=no (which counterintuitively makes it a building:part) to avoid that the building outline is excluded from renderers following the Simple 3D Buildings schema[2][3].


A misunderstanding comes when people say that you shouldn't tag something "for the renderer" even though the tags being used are accurate and not misleading. For example, if a specialist map renders a particular specialist tag (e.g. the details of power plants) then using the tags the renderer understands is a perfectly reasonable thing to do, even if they haven't been formally "approved".

It is also perfectly fine to use various renderings as one of tools to find mistakes in what is mapped. Just remember that it is a tool, not a final and ultimate arbiter of a correct mapping.

Changing tags into a more popular and correct form is also OK. For example changing a lake from landcover=water into natural=water is OK and helpful, even if primarily motivated by "this lake is not rendered on the map".

It is also perfectly fine and normal to be motivated by seeing something displayed and rendered.

Preferring tagging format that is easier to process and understand by tools is also a valid argument (though it does not automatically trump all other ones).


The phrase usually refers to renderers, but it may also apply to routing and geocoding and other uses of the data. Further examples could be conceived for these as well.

For further insight into routing examples, please refer to Tagging for the router.