Openstreetmap-carto: Rikers Island unnamed

Created on 1 Oct 2019  路  6Comments  路  Source: gravitystorm/openstreetmap-carto

Most helpful comment

The text label for City Island (Way 22702286) appears to be blocked by the label for City Island Avenue. Unlike settlements, place=island is rendered in text-points, like most features in amenity-points, so it has lower priority than road and street names.

We could consider moving the place=island text label to be rendered like place names (this is part of option 2 above). This would give island name labels higher priority than most icons and names, but would sometimes lead to unexpected results when a feature is double-tagged. See #3915 which gives junction and bridge names precedence.

or next to it

That's actually possible now that labels on polygons are placed on points created with ST_PointOnSurface prior to rendering. We could consider using text-placements: "E,NE,SE,W,NW,SW"; similar to the current code used to place capital and city labels at low zoom level (though there is a dot and a text "shield" in that case).

All 6 comments

Yes, but one needs to zoom till level 17 before the tiny name appears in the middle of the island.
Compare the North Brother Island nearby.

Also Governors_Island's name is only visible at zoom level 13 and no others.

I believe this is because the same Openstreetmap database object, relation 3955540, has been tagged with both place=island and amenity=prison. Interestingly, the natural=coastline is mapped separately.

Similarly, Governor's Island is double-tagged with leisure=park: https://www.openstreetmap.org/relation/2389631

Since amenity and leisure features are queried earlier than place in project.mml for the text-point layer (based off of amenity-points, the text label for relation 3955540 is based off of amenity=prison which only renders at z17 and higher, like police stations and embassies, which is also the first zoom level where the prison svg icon is shown, for Riker's Island.

(Parks are actually rendered earlier, but for Governor's Island the label is blocked at z14 and higher by other features, mainly https://www.openstreetmap.org/node/4990556284 place=hamlet name=Ligget Terrace - see related issue #3880 for this)

3 solutions to the issue with Riker's Island / Prison:

1) Ignore:

  • consider it incorrect to map the place=island and amenity=prison on the same database element. Mappers should follow One Feature, One OSM Element.
  • However, it's somewhat common to add place=island to other features which have higher-priority text labels: https://overpass-turbo.eu/s/MMd - 668 ways and relations with place=island + amenity, leisure, or tourism for example.

2) Move place=island to higher priority in SQL

  • This would render the text labels at lower zoom levels for larger islands, but then the amenity=prison icon or colored text labels for tourism or natural features would be dropped
  • Probably overall would not be the best solution; most features which are double-tagged with place=island + amenity/leisure/tourism are considered primarily the later feature.

3) Render large amenity=prison sooner

  • This also helps show text labels sooner for larger prison which are not islands
  • We might consider way_pixels in this case, perhaps also for police and embassy
  • Doesn't solve the issues with some other similar features.

While the third option is somewhat specific to this issue, it's the one that will be most helpful without causing too many other problems.

More inconsistencies between City Island and Hart Island zoom levels and fonts.

Anyway, one wishes no matter if an island is in the Canadian north, or urbanized, its name should appear on it, or next to it, in similar fashion, at similar zoom levels.

The text label for City Island (Way 22702286) appears to be blocked by the label for City Island Avenue. Unlike settlements, place=island is rendered in text-points, like most features in amenity-points, so it has lower priority than road and street names.

We could consider moving the place=island text label to be rendered like place names (this is part of option 2 above). This would give island name labels higher priority than most icons and names, but would sometimes lead to unexpected results when a feature is double-tagged. See #3915 which gives junction and bridge names precedence.

or next to it

That's actually possible now that labels on polygons are placed on points created with ST_PointOnSurface prior to rendering. We could consider using text-placements: "E,NE,SE,W,NW,SW"; similar to the current code used to place capital and city labels at low zoom level (though there is a dot and a text "shield" in that case).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

meased picture meased  路  3Comments

manfredbrandl picture manfredbrandl  路  5Comments

lakedistrictOSM picture lakedistrictOSM  路  3Comments

HolgerJeromin picture HolgerJeromin  路  3Comments

dktue picture dktue  路  3Comments