gravitystorm / openstreetmap-carto

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

Render reedbed with a non-transparent color #2013

Closed Klaus-Tockloth closed 5 years ago

Klaus-Tockloth commented 8 years ago

An area of reedbed is currently rendered as an overlay with a transparent color. This is imho incorrect because one doesn't see any water.

Example (the brown area in the west and north is reedbed): bildschirmfoto 2016-01-02 um 08 45 23

The current rendering result (https://www.openstreetmap.org/#map=14/54.8719/8.3219):

bildschirmfoto 2016-01-02 um 08 46 34

I recommend to render reedbed this way (example):

bildschirmfoto 2016-01-02 um 08 49 24

Regards Klaus

imagico commented 8 years ago

Currently this style is trying to use pattern only rendering without a fill color for wetlands where the ground is sometimes/partly water covered. This is the case for reed which grows to considerable water depth - see:

https://en.wikipedia.org/wiki/Phragmites

The problem here is more that mapping tends to put the waterline at the outer edge of the reed bed and the actual water line within the reed is not mapped. This is perfectly understandable and also makes sense from a certain perspective but strictly seen there is no convention in OSM mandating that.

More generally color fills are also problematic for wetlands at the moment since they render differently when overlapping with ocean compared to overlapping with natural=water. This is a problem for tidal flats for example. Once the move to water polygons is made (#1982) this could be reconsidered.

dieterdreist commented 8 years ago

sent from a phone

Am 02.01.2016 um 10:34 schrieb Christoph Hormann notifications@github.com:

The problem here is more that mapping tends to put the waterline at the outer edge of the reed bed and the actual water line within the reed is not mapped. This is perfectly understandable and also makes sense from a certain perspective but strictly seen there is no convention in OSM mandating that.

I d suggest to put the waterline at the actual position, so to comprise the reed bed, which not only solves the rendering issue but also is more consistent and closer to reality.

mboeringa commented 8 years ago

I d suggest to put the waterline at the actual position, so to comprise the reed bed, which not only solves the rendering issue but also is more consistent and closer to reality.

Knowing what I know from the pretty common reedbeds here in the Netherlands, this will be nearly impossible. Reed can grow extremely dense both on land and in water (logged) positions. Including the reed bed as part of a water feature will therefore be as many times wrong as it may be right.

In fact, reed used to cover roofs is often collected from fields that may be water logged part of the year, with a soft peaty soil, and may be dry in other parts of the year. Other times, reed is collected in harsh winters, when the soil or water is frozen so its accessible.

geaquinto commented 8 years ago

I've reported a similar issue in #2025.

My suggestion is to keep rendering natural=wetland as a transparent layer with cyan dashes, but render every heavily used wetland=* with an icon and colour combination representative to each type of wetland.

For instance, while wetland=swamp and wetland=marsh have this pattern (unique icons and colours identical to natural=wood and natural=grassland, respectively), wetland=mangrove and wetland=reedbed have only the unique icon. In my opinion, reedbeds should be coloured like natural=scrub or an already existing colour for natural=* with medium density.

matkoniecz commented 8 years ago

I think that primary problem is

The problem here is more that mapping tends to put the waterline at the outer edge of the reed bed and the actual water line within the reed is not mapped.

Overriding water data and always rendering reed bed as on land or on water will worsen display in places with correct data. I think that it would not be desirable.

imagico commented 8 years ago

Thinking about it i would probably support adding a plain color background to all vegetated wetland types (grass for saltmash/reedbed, wood for swamp/mangrove) after #2066 and moving the ocean layers above the landcover base layer.

Pikse commented 6 years ago

Overriding water data and always rendering reed bed as on land or on water will worsen display in places with correct data. I think that it would not be desirable.

I agree, it should be possible to distinguish coastline/waterline inside the redbeed, and transparency allows that. There are different ways to determine coastline. For instance, it may match the zero level of (local) datum. Imported coastline data by national land survey of Estonia at least partly uses this method. Generally, reedbed lies on both sides of this coastline.

kocio-pl commented 6 years ago

Nobody is currently involved in this problem, it's stale for almost 2 years. Would you like to propose a code solving it?

Pikse commented 6 years ago

Nobody is currently involved in this problem, it's stale for almost 2 years. Would you like to propose a code solving it?

My comment was about why it'd be good to keep given style transparent. So if this question is addressed to me then I rather wouldn't propose a code "solving" it.

I found this issue as I was planning to map a large reed area. Now I doubt if I should as actual coastline might be lost because of that later on.

Adamant36 commented 5 years ago

@kocio-pl, do you want to close this issue since it seems mostly resolved?

kocio-pl commented 5 years ago

Well, I don't understand wetlands too much, so it's hard for me to say what state is this problem in.

jeisenbe commented 5 years ago

wetland=mud is rendered with a semi-transparent brown, so that the coastline or edge of the natural=water is still visible.

This has the disadvantage of creating 2 new colors, and could also lead to mixing with other backgrounds, as seen with military areas and mud currently.

Does anyone have thoughts about this?

dieterdreist commented 5 years ago

sent from a phone

On 30. Dec 2018, at 00:49, jeisenbe notifications@github.com wrote:

wetland=mud is rendered with a semi-transparent brown, so that the coastline or edge of the natural=water is still visible.

This has the disadvantage of creating 2 new colors, and could also lead to mixing with other backgrounds, as seen with military areas and mud currently.

Does anyone have thoughts about this?

I would not render “mud” at all, it isn’t on the wetland wikipage, IMHO for a reason: “mud” is odd amongst all those wetland types, it isn’t a type of wetland.

Adamant36 commented 5 years ago

I always thought mud was a wierd tag. Its not really a thing in itself, but the temporary state of something else (dirt). How would someone confirm a muddy area is constantly that way anyway? Unless its the shore of a water body or part of a wetland. In which case it should just be tagged as those things or a shoreline. Personally, I usually just tag them as intermittent ponds.

jeisenbe commented 5 years ago

Sorry, my mistake. We render natural=mud and wetland=tidal_flat in this way, but in landcover it's listed as wetland_mud. I think of the rendering as "mud", as that is the name of the color in landcover.mss

Natural=mud and wetland=tidal_flat are both rendered with the same sort of semi-transparent background fill color: rgba(203,177,154,0.3); // produces #e6dcd1 over @land

On 12/30/18, dieterdreist notifications@github.com wrote:

sent from a phone

On 30. Dec 2018, at 00:49, jeisenbe notifications@github.com wrote:

wetland=mud is rendered with a semi-transparent brown, so that the coastline or edge of the natural=water is still visible.

This has the disadvantage of creating 2 new colors, and could also lead to mixing with other backgrounds, as seen with military areas and mud currently.

Does anyone have thoughts about this?

I would not render “mud” at all, it isn’t on the wetland wikipage, IMHO for a reason: “mud” is odd amongst all those wetland types, it isn’t a type of wetland.

--

You are receiving this because you commented.

Reply to this email directly or view it on GitHub:

https://github.com/gravitystorm/openstreetmap-carto/issues/2013#issuecomment-450529708

imagico commented 5 years ago

Regarding color mixing due to transparency - this was specifically addressed when the original change was made in #1497 by rendering mud/tidalflat before all other landcovers and it was tested back then. If you now get color mixing with other landcovers this is a bug introduced by later changes.

#e6dcd1 was the original mud color before #1497.

jeisenbe commented 5 years ago

@imagico, do you think mangroves and reedbeds could be rendered reasonably well, by using a similar method?

I recall that your earlier recommendation was to switch to water polygons first, and the render the ocean water above the landcover background (without transparency). On Sun, Dec 30, 2018 at 7:20 PM Christoph Hormann notifications@github.com wrote:

Regarding color mixing due to transparency - this was specifically addressed when the original change was made in #1497 https://github.com/gravitystorm/openstreetmap-carto/pull/1497 by rendering mud/tidalflat before all other landcovers and it was tested back then. If you now get color mixing with other landcovers this is a bug introduced by later changes.

e6dcd1 was the original mud color before #1497

https://github.com/gravitystorm/openstreetmap-carto/pull/1497.

You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/2013#issuecomment-450551222, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshFc1DWHFJaKSLy8-canuD0hcHFMUks5u-JOBgaJpZM4G9g-k .

imagico commented 5 years ago

As said before my approach would be to move to water polygons, do the layer re-ordering and start from there. But this style has meanwhile moved into a different direction making this rather difficult.

kocio-pl commented 5 years ago

What is blocking move to water polygons? As far as i'm aware the problem was that somebody had problems with rendering on some setup, but I might confuse something, since I was not directly interested in it.

imagico commented 5 years ago

I have not followed all of the more recent changes but i don't think compatibility with using water polygons has been a consideration any more. Can't say which changes exactly might be a problem here but at least #3065 is not compatible.

kocio-pl commented 5 years ago

Do you think that it's incompatible as an implementation or not doable with water polygons at all (as an idea)?

imagico commented 5 years ago

Regarding #3065 i don't know. In general it seems compatibility with water polygons has not been a consideration for changes during the last 1-2 years so i have no idea what other problems there might be. It could also depend on what kind of layer ordering you ultimately want to have.

kocio-pl commented 5 years ago

Unfortunately I'm not interested in wetlands etc, so can't help much, but it looks like it would need to check what might be conflicting here first. Probably not an easy task.

kocio-pl commented 5 years ago

I have just found again the issue that is blocking water tiles (#1982) in the first place: #2101.

jeisenbe commented 5 years ago

Now the ocean and water areas are rendered above landcover fill, so we can add a color to reedbeds (and mangroves) without problems.

What color should we use? Options would be:

A) Use the same light green used for grass and marshs: @grass: #cdebb0

B) Use brownish-green heath color @heath: #d6d99f

C) B) Use mid-green-gray color of @scrub #c8d7ab

Advantages: 1) Will match well with other green colors, does not require inventing or testing a new color 2) Reeds are sometimes nearly as tall as the shrubs found in scrub

Disadvantages 1) I would rather use @scrub #c8d7ab for mangroves, which are actually shrubs or trees 2) Reeds are slightly shorter than the shrubs found in scrublands, and are related to grasses, not to shrubs which are woody plants.

D) Use the light yellow-green color @campsite: #def6c0

Advantages: 1) Will match well with other green colors, does not require inventing or testing a new color 2) Similar to @grass color used for marshes, but slightly different

Disadvantages: 1) There is no direct similarity between campsites / caravan sites and reedbeds 2) I was thinking of using this color for leisure=golf_course

E) Find a new color, perhaps a shade of mid-green, greenish-brown, yellow-green or blue-green?

Advantages: 1) Would be more distinct from other types of wetland

Disadvantages 1) It's hard to find room for a new color in the greenish color space which isn't too close to another color. Remember when we changed scrub or allotments? That was really difficult

Right now my favorite idea is to use the light yellow-green color of @campsite: #def6c0 for reedbeds

jeisenbe commented 5 years ago

Test images:

  1. current rendering
  2. scrub - #c8d7ab
  3. golf - #b5e3b5
  4. allotments - #c9e1bf
  5. campsite - #def6c0

Current rendering (Italy)

wetland=reedbed around a small reservoir https://www.opensteetmap.org/#map=17/40.71722/16.15983 z17 current z17-tricarico-reedbed-before

Bradano river - reedbed where it enters a lake. https://www.opensteetmap.org/#map=13/40.6261/16.4581

z13 before z13-bradano-reedbed-before

z15 before z15-bradano-reedbed-before

1) Reedbed with scrub color fill - #c8d7ab

z17 scrub color z17-tricarico-reedbed-scrubfill-after

z13 scrub color z13-bradano-reedbed-scrub-fill-after

z15 scrub color z15-bradano-reedbed-scrubfill-after

2) Reedbed golf color fill - #b5e3b5

z17 golf z17-tricarico-reedbed-golf-b5e3b5

z13 golf z13-bradano-reedbed-golf-b5e3b5-after

z15 golf z15-bradano-reedbed-golf-b5e3b5-after

Reedbed allotments fill - #c9e1bf

z17 allotments z17-tricarico-reedbed-allotments-c9e1bf-after

z13 allotments z13-bradano-reedbed-allotments-c9e1bf-after

z15 allotments z15-bradano-reedbed-allotments-c9e1bf-after

Reedbed campsite fill - #def6c0

z17 campsite z17-tricario-reedbed-#def6c0-after

z13 campsite z13-bradano-reedbed-campsite-#def6c0-after

z15 campsite z15-bradano-reedbed-campsite-#def6c0-afer

jeisenbe commented 5 years ago

Tests in Zeeland, the Netherlands https://www.opensteetmap.org/#map=16/51.4527/3.9174

0) Current rendering - z16

z16-reedbed-farm-before

1) Reedbed with scrub color fill - #c8d7ab

z16-reedbed-farm-scrub-fill

2) Reedbed golf color fill - #b5e3b5

z16-reedbed-farm-golf-fill

3) Reedbed allotments fill - #c9e1bf

z16-reedbed-farm-allotments-fill

4) Reedbed campsite fill - #def6c0

z16-reedbed-farms-meadow-campsite-fill

turnsole80 commented 5 years ago

3 for me

jeisenbe commented 5 years ago

As @imagico suggested in #2025 here are test renderings of reedbeds with @grass fill - #cdebb0:

5) Reedbed @grass fill #cdebb0

z18 reedbeds before 18-reedbeds-vs-marshes-before

z18 reedbeds grass color after z18-reedbeds-marshes-grass-color-after

z16 reedbed farm before z16-reedbed-farm-before

z16-reedbeds farm grass color after z16-reedbed-farm-grass-color

jeisenbe commented 5 years ago

Bradano river - reedbed where it enters a lake. https://www.opensteetmap.org/#map=13/40.6261/16.4581

z13 before z13-bradano-reedbed-before

z13 after - grass fill z13-bradano-grass-fill-reedbed

Pikse commented 5 years ago

To be clear, what is the effect of proposed changes on redbeed areas that lie on both sides of the coastline (discussed above)? E.g. is coastline still going to be distinguishable here: https://www.openstreetmap.org/#map=17/58.74029/23.78967?

jeisenbe commented 5 years ago

Water areas and seas are rendered above the landcover fill color, so the background will still be blue for areas of reedbeds over water or outside of the coastline. The coastline will be shown by the line between green and blue.

BertMule commented 1 year ago

Reed can grow extremely dense both on land and in water (logged) positions. Including the reed bed as part of a water feature will therefore be as many times wrong as it may be right.

Currently, if one considers a reed-bed to be in the water, then choosing where to draw the waterline is an unsatisfying choice, because of the rendering.

Either one draws the waterline:

Here is my current example of the latter. https://www.openstreetmap.org/#map=18/53.19064/7.02622

I propose to always give the bed a more solid colour, no matter on which side the shore is. Like any of the greens in the examples above.

imagico commented 1 year ago

This does not look like a comment on the (closed) issue but a new request. As such it seems, however, a duplicate of #3854.

Pikse commented 1 year ago

Either one draws the waterline:

  • On the waterside, because that makes the bed better visible. Though that is not considered to be the shore.
  • On the landside because that is considered the correct shore, but makes the bed 'transparent' and poorly visible.

See above comments that also discuss the third option, i.e. one draws the actual waterline between these two. You normally can't distinguish the actual waterline inside reedbed based on aerial image alone, but sometimes this data is available from open data sources, and the data shouldn't be skewed only because some might think that skewed data looks nicer on a map.

BertMule commented 4 months ago

Apparently the rendering has changed. Currently I see a green base with blue stripes and plants. I see that's by 3807.

There is one problem that I came across: DRY reed-beds. They are explicitly dry, because they are used for harvesting the reeds. For instance: Rengerspole

As far a I know there no good alternative for wetland=reedbed, but this is not what I mean, because of the wet aspect. I considered at least these variations: wetland.

It also creates the problem that paths or tracks drawn through it are badly visible, because of the blue stripes.

I think I will add a separate issue.