gravitystorm / openstreetmap-carto

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

Move leisure=track #5021

Closed dch0ph closed 20 hours ago

dch0ph commented 1 month ago

Fixes #4726

Changes proposed in this pull request:

Move leisure=track and attraction=water_slide from amenity-line to landcover-line layer

[Also tweak to highway=ford SQL query to simplify hstore query]

Test rendering with links to the example places:

Before

Power line vs. track ordering image

After

image

Unchanged renders for:

Ford as linear way image

attraction=water_slide image

Comments

As a ground-level feature, leisure=track is a very natural fit for early rendering in landcover-line. It's less obvious that water slides should be rendered e.g. before roller-coasters. Perhaps a future optimisation would be to merge many of these layers, so that the layer tag can be properly exploited?

[Note that #4104 proposes moving leisure=track to the roads layer (tricky) or aerialways and attraction=water_slide to waterway-bridges. It would make sense to consider these alternatives.]

imagico commented 3 weeks ago

I have not gotten around reviewing this - but a quick note regarding layering.

As already indicated in #4666 - in case of line features

i see a substantial benefit of including them in the road layers. But i also get that in the current state of the road rendering and our setup in general this is somewhat difficult regarding maintainability of the code.

The cutline layer (immediately after the landcover layers) is very early in the layer stack for both leisure=track and attraction=water_slide. For leisure=track this is consistent with the polygon rendering, but it will lead to various things being rendered above these in a way that is likely weird to mappers. The most natural location as a separate layer would IMO be immediately before the road casing layers. But of course that would open the question if track/pitch polygons should be moved there as well (rooftop pitches anyone?). For attraction=water_slide i would probably see it before aerialways (and waterway-bridges should probably also go before aerialways)

dch0ph commented 2 weeks ago

Yes, it would make sense to do a quick review before incorporating this PR, otherwise we end up playing Whac-a-mole.

But of course that would open the question if track/pitch polygons should be moved there as well

Interesting thought. It would seem illogical to a mapper for leisure=track to move in the layer stack depending whether it was a simple way, or a way with ground width.

leisure=track is probably a special case of being "line like" - you can have other things inside the track in a way you wouldn't expect for say leisure=pitch.

To keep the scope manageable, I'll have a look at "man-made ground-based line-like" things.

dch0ph commented 20 hours ago

Closing this PR as cleaner to create a new one based on discussion in #5041.