Skip to content
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

natural=mud renders differently in rivers #1547

Closed
malcolmh opened this issue May 14, 2015 · 11 comments
Closed

natural=mud renders differently in rivers #1547

malcolmh opened this issue May 14, 2015 · 11 comments

Comments

@malcolmh
Copy link

The background shading of the mud/tidalflat pattern disappears within waterway=riverbank areas. An example of this is http://www.openstreetmap.org/#map=16/53.7011/-0.4375 where a natural=mud area straddles the boundary between coastline and riverbank.

This issue is similar to #115 (closed as fixed) except that instead of no rendering, we get partial rendering.

@imagico
Copy link
Collaborator

imagico commented May 14, 2015

Indeed. This problem is exactly the same as for all other landcovers, like for example beach/sand. There is no good solution for this without using water polygons for the coastline. Moving individual landcovers (like mud) above the water layer as it had been done before is not a solution IMO since this would be very confusing, small landcover areas like natural=sand within natural=mud previosuly did not show which violated the general principle that all landcover is rendered ordered by way_area.

Ideally i would think all landcovers should not be rendered above water (either ocean and inland) - see also #426 - except for a small subset which actually exists in a tidal/water covered form in reality and which should be rendered in a distinct form, in some cases probably overlay only, when overlapping water.

List of features where this should apply IMO:

  • natural=wetland
  • natural=mud
  • natural=beach
  • natural=shoal
  • natural=reef
  • military=danger_area
  • landuse=cemetery

See also #1473 which is about the opposite side of the same problem

@malcolmh
Copy link
Author

The problem is not in the coastline areas, but in the riverbank areas. The background colour is absent, but not the pattern. Why is this?

@imagico
Copy link
Collaborator

imagico commented May 15, 2015

That is because the water areas (natural=water, waterway=riverbank) are drawn above the landcover (which contains the mud base color) and below the overlay with the wetland pattern. Moving the mud base color to the overlay layer (or a separate layer above water areas) would not be desirable since it would make the mud color (which is semitransparent) interfere with other landcovers.

From my point of view the options to change things are:

  1. make the tidalflat/mud base color opaque and render it above water, this would be similar to as it was before with all the problems - like no other landcover stuff or water within mud areas being rendered and hiding of the coastline.
  2. move the water areas below all landcover which would lead to a lot of problems for example where small water areas are drawn above larger landcovers. Also water lines are currently partly drawn below water areas which would need to be changed causing additional problems.
  3. render water areas within the landcover layer using normal way_area sorting. This could be very confusing though. And same problems with water lines as 2.
  4. render tidalflat/mud like generic wetland again, i.e without base color.
  5. take tidal=yes tags into account by rendering those water areas below the landcover and the rest above. This would have to wait for 3.0.
  6. give up solving this within the style and intersect geometries within SQL. This would be fairly complex to do and have serious performance impacts.

For reference: the current drawing order is:

  • ocean as background
  • coastline land polygons in land color
  • landcover base colors (i.e. landuse, natural and other area tags)
  • waterway line casings (for streams)
  • water areas (natural=water, waterway=riverbank)
  • wetland pattern overlay
  • waterway lines

@malcolmh
Copy link
Author

My preference would be for (5), but whilst we wait for v3.0, opt for (4). Then at least there will be consistency of rendering in both river and sea areas.

@imagico
Copy link
Collaborator

imagico commented May 15, 2015

That would be a reasonable approach - would also like to hear other opinions on the matter though.

My motivation for rendering wetland types was to encourage specific tagging and removing the visual indication for wetland=tidalflat kind of counteracts this. Maybe someone has an idea of how to indicate tidalflat/mud in a variation of the wetland pattern without using a solid color.

@jfd553
Copy link

jfd553 commented May 27, 2015

My preference would be for (5), but whilst waiting for v3.0, I would leave it as it is today because of the richness of the render, even if it causes a problem at river-coastline interface. Furthermore, my preference does not concern only mud but all similar tags used by contributors (sand, pebbles,... even if one could argue they are not really features).

Concerning my preference for option (5), which is related to my experience in modeling topographic features, I would propose (if I may) to eventually bring the concept of intermittent water instead of the concept of tidal environment. Tidal refers to the cycle at which an area is covered by water (twice a day) while the problem appears also in areas where the water cycle is different. For instance, it may affect rivers (flash flood, dried season, ...), lakes (dried season, dam controlled water level,...), all areas that are sometime covered with water because of daily, weekly, monthly, yearly processes - natural or not.

my two cents

@kocio-pl
Copy link
Collaborator

We can use tidal=* from v4.0.0.

@sommerluk
Copy link
Collaborator

Screenshot of http://www.openstreetmap.org/#map=16/53.7011/-0.4375 from the original issue description with current rendering:
screenshot 1

@kocio-pl
Copy link
Collaborator

Anybody willing to prepare a code for it?

@jeisenbe
Copy link
Collaborator

The ocean now rendered above the landcover fill color layer, so can we close this issue, or do we still want to consider rendering a fill color for mud / tidalflats above the water color?

@imagico
Copy link
Collaborator

imagico commented Aug 26, 2019

Yes, this is now solved since the water and ocean layers are now directly following each other.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants