Proposal talk:China population
Alternatives to regional key definitions
By 快乐的老鼠宝宝's own admission, this key is tagging for the renderer: specifically, a workaround for the behavior of openstreetmap-carto. That project's cartographic decisions should not unduly influence tagging conventions. This particular workaround is particularly ironic because it actually assumes that a renderer considers population=* for the purpose of ranking and sizing place labels. In fact, this is not the case for some popular OSM-based renderers including Mapbox Streets. But the population=* key is used for other things besides labeling, such as ranking search results. Eschewing this key in favor of a more obscure, counterintuitive china_population=* key ensures that mainland China will have poorer software support than other regions.
Despite its prominent place on osm.org, osm-carto does not hold a monopoly on rendering OSM data. There are many things in osm-carto that make it a poor map of the United States, from its plain rendering of highway shields to its lack of support for expressway=*. That's why some Americans are developing a separate style for the United States, rather than contorting well-established tag definitions. Similarly, the Indian community created their own renderer to better support that country's many languages and depict borders according to Indian laws. But neither community found it necessary to void a well-established tag to accomplish these goals.
The mainland Chinese community may find it desirable to similarly develop a local renderer that ignores population=* in favor of china_class=* or border_type=*. This could also be an opportunity to optimize for other Chinese cartographic conventions, such as choosing better fonts and more recognizable POI symbols. It could even depict the PRC's international boundary disputes differently than a global renderer, which would remove one potential source of discomfort for Chinese contributors.
– Minh Nguyễn 💬 21:00, 6 September 2021 (UTC)
place is for population centers
I think the real cause of the rendering problem is that each prefectural-level municipality (地级市) and county-level municipality (县级市) has been mapped as both a boundary=administrative relation and a place=city POI. It's reasonable for a renderer to size place=city labels based on population, but only if we can be sure that every place=city represents a large population center and its surrounding urbanized area. This definition of a city is applicable in the UK (where these tags originated) and some other countries. But if I correctly understand this helpful diary post, in mainland China, this would correspond to an urban area (城 or 城市 or 市区), not an official municipality (市 or 都市).
China is not alone in using the word "city" differently than the traditional Western European notion. However, mappers in other countries chose to use the place=* tags consistently with global norms, avoiding the need to fork the population=* tag. For example, some U.S. states allow "cities" to be extremely small: South Park View, Kentucky, is officially a city, but it has a population of just three people, so we've tagged it as place=neighbourhood. Other states allow "cities" to encompass vast rural or wilderness areas: the eastern half of the City of New Orleans is a sparsely populated swamp, but the city node only refers to the urban western half.
The legal status only matters for border_type=* or china_class=*, not place=*. This is especially evident in Vietnam. As in China, Vietnamese municipalities are space-filling and can include both urban and rural areas. There are also small population centers such as villages (làng) that have no formal government but are still mapped as place=* POIs in OSM. (Coincidentally, the Vietnamese Wikipedia is currently debating how to translate county-level municipalities into Vietnamese, because Vietnamese speakers tend to equate thị 市 with thành phố 城庯.)
In my opinion, every place=city node in China should ideally correspond to the location of the urban city center, and its population=* should include only the urban population, if known. The boundary relation's population=* can include the whole municipality's population, but rest assured that no renderer would use that to size labels. osm-carto already labels boundary relations with a special label in the centroid, so there's no need to map the municipality's centroid as a POI. [1] If there is a population center that has a name but no separate government, it should have a place=* POI but no boundary relation. If we map Chinese cities this way, I suspect that the labeling problem in osm-carto would be less severe.
– Minh Nguyễn 💬 21:55, 6 September 2021 (UTC)
- If these areas are re-tagged, it might be a good opportunity to consider using place:CN=* instead of china_class=*. That would follow the naming convention of the comparable place:PH=* and prevent future collision with different tags that require a China-specific variant. The values used in china_class=* can stay the same I think. It would act as a useful marker for how far along the conversion is too (i.e., everything with place:CN=* is then known to be done). --JeroenHoek (talk) 16:24, 8 September 2021 (UTC)
Tag reparation
After the rejected proposal I have repaired 185 population tags in changeset 111043870. --501ghost (talk) 22:38, 10 September 2021 (UTC)
What we will do next
中国OSM社区宣布,我们正式放弃这一通过china_population对人口数据的修改来获得正确渲染的方法。 我们接下来将持续致力于和OSMCarto进行沟通以及搭建中文社区的瓦片服务上。 此外,对china_class的重新命名,我们亦将重新提上议程。 感谢每一位提出合理建议的Mapper。
China OSM community announced that we have finally abandoned this method of modifying population data through china_population to obtain correct rendering. We will continue to work on communicating with OSM-Carto and try to build a tile services. In addition, the renaming of china_class will also be put on the agenda again. Thanks for everyone that give a operable advice.
-- 本Tag的提出者及社区代表
-- Representative for China local community in this proposal
-- 快乐的老鼠宝宝 (talk) 08:24, 12 September 2021 (UTC)