-
Notifications
You must be signed in to change notification settings - Fork 819
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
Labels for territories (municipalities, etc...) #4004
Comments
While it's true that only countries and provinces/states get a central text label, all administrative boundaries from We have discussed showing them sooner for See related discussion in #310 ("Render "admin_level=6" ways at zoom levels 9 and 10"), #3698 ("Consider rendering admin_level=5 administrative boundaries from z9, maybe z8"), #3678 (Very small administrative boundary borders should not be shown) and PR #3677 ("Show administrative boundary text labels from z11 to z16 based on admin_level"). Are the important municipalities in your area tagged as Unfortunately we cannot perfectly optimize the rendering for all places, but we try to get a reasonable compromise which works both at high and low lattitudes (which have different scales in the Mercator projection), and rural areas versus cities. |
In Spain I suggest: |
The concept of importance is subjective: different map users have different ideas of what is important to them. Since Openstreetmap is a large community from many different cultures, what we map is based on what can be seen learned by surveying a place in person: https://wiki.openstreetmap.org/wiki/How_We_Map and https://wiki.openstreetmap.org/wiki/Verifiability The name of a hamlet or village can be confirmed to be true, and the approximate location can be determined, by visiting it in person. In contrast, surveying municipal bondaries and even the boundaries of provinces is often not possible, so this data is usually imported from government sources. Nonetheless we do display these boundaries as lines with labels. |
While displaying a central name label for some admin_level=5 and =6 features, like an Indonesia Kabupaten, an American county or a Provincia de España, may work, it will not work well at higher admin levels. In particular, the center of a admin_level=8 and higher is rarely significant to general map users. If we tried to display the name of a municipality at it's center, this would be a somewhat arbitrary location which is picked by the rendering software. When the name of the municipality is the same as the name of a place=town or place=city, this can lead to 2 confusing labels with the same name. For example, "Los Angeles" is a county, a muncipality and a place - but only the place=city node is located near the center of downtown. If we labeled the county or municipality near the geometric center, this would be out in the mountains in the first case, and up in the hills in the second. This problem is common for any town or city that is constrained by mountains or a water body on one side: e.g. A Coruña, Pontevedra, Barcelona, Miami, etc. I would be interested in seeing a rendering of central name labels for admin_level=5 and admin_level=6 features, and perhaps admin_level=7. This should be checked in several different countries, and in sparsely-populated as well as densely-populated areas. But I already suspect that admin_leve=8 and higher will not be appropriate for that style of rendering. It might also be possible to further adjust the initial zoom levels when the text labels along the linear borders are shown. In PR #3677 there were already some changes made, but it's possible they could go another zoom level or two earlier, especially the lower admin_level values. |
Actually I think you make a very good point. Label repetition is no good, yet we could format entities and territories differently, just like with the tiny labels next to the borders: the Noto Serif Italic font at 50% opacity would work wonderfully and could be bigger than the entities labels. Anyway we could use a node with role=label in boundary relations to put the center text label only when we really think it is necesary, instead of an automatic default for all cases. That way we can also focus where to put the label so that the map doesn't become messy. Is that reasonable? |
we could use a node with role=label in boundary relations to put the center text label only when we really think it is necesary
This would be asking mappers to hand-place our labels for us. This is
not a good idea, because it is making mappers do extra work, while
adding non-truthful data.
In general, the goals of this style include avoiding rendering
features in ways that would encourage "mapping for the renderer"
rather than mapping reality.
|
And some tag like label=center/empty_space/voronoi? That wouldn't require extra work or tagging for the renderer, yet it would enable an auto-label where the mappers can verify the territory name (signposts, etc...). |
Also, place=civil_parish can be interpreted as place=suburb, where the territory emanetes from the node, instead of being enclosed by a boundary. |
I'm OK with whatever decision gets made, but thought that I'd comment that it may be different in different parts of the world. In the US:
In New York State:
So here, the right cutoff is probably level 6 (counties are good things to have central labels) or level 7 (central labels on townships would be fine, but ones on cities would be dodgy); level 8 is almost certainly too fine a division for this treatment in a general-purpose map. (It might be useful in a political map, but that's out of scope here.) |
Ok, maybe we can achieve a consensus here: place=civil_parish should render similar to place=suburb. But as they are different kinds of places, we shouldn't map the civil parishes as suburbs as that would be "mapping for the renderer". So I would encourage some developer to code a label for place=civil_parish similar to place=suburb (or even better with the Noto Serif Italic font like in the first screenshot). That way the renderer includes an important tag in spread out high density rural areas. |
You may think that those words have an obvious meaning, but to me they are confusing. In the US, the only place where I've seen the word 'parish' used for a civil subdivision is in Louisiana. A 'parish' there is functionally equivalent to a 'county' in most other states; they are major ( For further complication, a couple of the New England states have counties only as traditional borders or as jurisdictional boundaries for the judicial branch of government, while all executive and legislative functions have devolved upon the townships. In effect, in these places, the next I don't insist on seeing labels for these. I wouldn't be upset if they got ST_PointOnSurface labels, and equally I wouldn't be upset if they didn't. If I want a political map, I can render it myself. |
I agree with this. All I would do is adapt the font to another one that looks better with the osm carto style! |
See #3678 (comment) - I attempted to implement this, but realized the admin boundaries would need to be entirely reworked, even for admin_level=5 and admin_level=6 central text labels. We currently only render admin_level=5 and admin_level=6 from z11. At this point, the average sized area admin_level=5 area is already >1400x1400 pixels at the equator, far too large for a central text label to be intelligible. Even a median-sized area will be over 600,000 square pixels at the equator on z11, too big. And admin_level=6 areas are 1/4 the size, both mean and median area, so the average area will still be too large at the equator and median-sized areas at high lattitudes will be too large at z11. So to implement this idea, we would need to render these admin_levels sooner, as suggested in #3698 and #310 - at z8 or z9 for admin=6level 5 and z9 or z10 for admin_level=6. This requires re-thinking the line rendering to make it less obtrusive, yet still provide a clear distinction between each admin_level value. |
I've implemented a central text labels for the |
Expected behavior
So I would like to address a huge elephant in the room and its that the stantdard OSM map renderer doesn't label territories below admin_level=4. This is quite a problem where I live, as the population is very spread out, so territories are more important than hamlets for understanding where you are.
We have also very defined submunicipality territories (place=civil_parish - admin_level=9) that help understand the map. Municipalities are also very important.
I suggest adding these labels in Noto Serif Italic font, a little bigger than labels for villages and towns, and 50% opacity, and only over a certain zoom level.
Actual behavior
There's no labels for territories below admin_level=4.
Links and screenshots illustrating the problem
https://www.openstreetmap.org/#map=15/43.3035/-8.5361
The text was updated successfully, but these errors were encountered: