Zh-hans:面向渲染绘图

From OpenStreetMap Wiki
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

所谓的面向渲染绘图和特别强调的“不要面向渲染绘图”在OSM上都有很长的一段历史。通常强调的是“面向渲染绘图”中的“绘图”二字,因为它不仅仅与标注有关。为了防止表述产生歧义,最接近本原则的含义如下:

不要出于渲染的目的而故意输入错误的数据

我们依然用较为常见的“面向渲染绘图”来称呼这种行为。最佳实践中的原则是避免使用不正确的标签,或以其他方式刻意调整输入的数据以使数据在地图上以特殊的方式被渲染

举个例子,china_population=*便是一种非常广泛的面向渲染绘图的行为。

例子

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.

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 tagging them 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.

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.

通用含义

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

Also, 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.

澄清

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 tag into more popular and correct form is also OK. For example changing 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 that something is displayed and rendered.

中国社区常见的面向渲染绘图

1. 在区域上添加类型名

2. 用barrier=*绘制体育场标线,如:

图中的球场标线为了能在渲染中看到效果,采用了barrier=fence来标注球场标线。球场标线事实存在,但选择这个标签的目的是出于渲染的。不要这样做。(此外,本图中亦出现了在区域上添加类型名的面向渲染绘图的问题。如“篮球场”、“网球”等。)