gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 819 forks source link

Detect and name ambiguous road segments #4741

Open jidanni opened 1 year ago

jidanni commented 1 year ago

What is the name of the little street at https://www.openstreetmap.org/?mlat=42.15307&mlon=-87.82605#map=17/42.15307/-87.82605 ?

Is it

The answer is visible at zoom layers

A similarly sized segment of Avon Road just to the east reveals it name in zoom levels 16, 17, 18, 19, thankfully. But that's because it has been cut into a separate way. The perfect argument for "editing for the renderer," alas.

So a three-way junction, except T junctions, could create an ambiguous segment...

So, special care needs to be added in such cases of rendering ambiguous road segments, to be sure their name gets printed.

imagico commented 1 year ago

There is no simple rule to determine which geometric constellations in combination with what labeling leave residual ambiguities, hence this is no actionable issue even if the tools we have had an option to address this.

Even if you'd imagine methods that could decrease the likeliness of such ambiguities in labeling occurring (disregarding that this is practically not feasible in our setup) - most such methods would result in a higher labeling density. And that would compete with other labels in the style.

If you can point to any other OSM based map styles that handle this better that would be interesting. And i am not talking about handling this specific case better due to different label sizes and spacing used, i am talking about styles that generally work better w.r.t. this kind of problem. Otherwise i would be inclined to close this as wontfix-unfeasible.

jidanni commented 1 year ago

Okay, but I sure hope that's not giving "permanent tacit approval" to "editing for the renderer," especially in cases where even at maximum zoom level the name, though present, is not revealed: https://www.openstreetmap.org/?mlat=42.1419059&mlon=-87.7621009#map=20/42.1419059/-87.7621009

imagico commented 1 year ago

As said: Any concrete suggestion on how to improve that without increasing the label density and any pointers to OSM based map styles which do this better would be welcome.

jidanni commented 1 year ago

Well I'm thinking what would the handmade map people do back in the old days.

Let's face it. Without tricks like these there's no way to make a full map.

The number method sounds easiest to implement. Maybe the hard part is just deciding what needs to get numbered.