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

Create darker river-color for river & canal areas and ditch, drain, stream, canal & river lines #3930

Merged
merged 2 commits into from
Oct 25, 2019

Conversation

jeisenbe
Copy link
Collaborator

@jeisenbe jeisenbe commented Oct 10, 2019

Fixes #3896
Related to #3895 and #1781
Required for #3926

Changes proposed in this pull request:

  • The color of river, canal, ditch and drain lines is changed to #8fcadd (Lch78,21,227) to be more visible over forest and other dark polygon fills.
  • The color of river and canal areas is changed to match. This also improves mapper feedback about tagging of water areas

Explanation:

-Narrow river areas and lines are difficult to see on woodland areas and some other dark landcovers currently. This is particularly visible at mid and lower zoom levels.

  • Most mid-scale paper maps use a much darker and more saturated blue for river lines to make it easier to visually follow these linear features. The openstreetmap.de rendering currently does this as well. But currently all rivers and streams are rendered the same as water areas in this style.
  • Since rivers lines and areas sometimes overlap (when the area is nearly the same width as the line), the linear and area rendering needs to be the same color to prevent visual artifacts.
  • Using a different color for waterway=riverbank and water=river areas also provides feedback when rivers are not properly tagged, or when the transition from river to lake or sea is at the wrong location.
  • In this PR, the color and pattern of intermittent river areas has not yet been adjusted. This will be done in the next PR, since it may require rethinking the pattern rather than just changing the color.

Test renderings

Skjolden, Norway

https://www.openstreetmap.org/#map=13/61.5033/7.6847
Before z13
z13-skjolden-before-13-61 5033-7 6847

After
z13-skjolden-river-color

Sogndal, Norway

https://www.openstreetmap.org/#map=15/61.2285/7.1051
Before z15
z15-sogndal-before

After
z15-sogndal-lowcontrast

The color of river, canal, ditch and drain lines is changed to #8fcadd to be more visible over forest and other dark landcovers
The color of river and canal areas is changed to match. This also improves mapper feedback about tagging of water areas
@jeisenbe jeisenbe added the water label Oct 10, 2019
@jeisenbe
Copy link
Collaborator Author

Årdalstangen, Norway
https://www.openstreetmap.org/#map=14/61.2393/7.7130

  • Ocean lower left, lake upper right

z14 before
z14-ardalstangen-before-small

z14 after
z14-ardalstangen-river-color-small

Førde, Norway
https://www.openstreetmap.org/#map=13/61.4441/5.8803
z13 before
z13-forde-before-se

z13 after
z13-forde-se-river-color

z15 before
z15-forde-nw-before

z15 after
z15-forde-river-color

@jeisenbe
Copy link
Collaborator Author

Bremerhaven
https://www.openstreetmap.org/#map=14/53.5468/8.5955

  • Shows ditch, river, dock and coastline.

z14 before
z14-bremerhaven-before

z14 after
z14-bremerhaven-river-color

@imagico
Copy link
Collaborator

imagico commented Oct 10, 2019

Note this significantly interferes with implementing #3854 so we should make a choice of either first implementing water color differentiations or first implementing #3854. Mixing the two things would complicate making changes.

I am open to either variant.

I have not tested it yet but do i read the code right that you differentiate rivers and non-rivers but only if they are non-intermittent? That might be a bit confusing for the map user.

@jeisenbe
Copy link
Collaborator Author

do i read the code right that you differentiate rivers and non-rivers but only if they are non-intermittent?

Only the areas are not yet distinguished, the linear renderings all use the new river-color.

I was too lazy to make and test a new file for intermittent river areas so I just kept symbols/intermittent_water.png for now. I think the current intermittent water pattern does not work for rivers, so we need another PR to fix that, rather than just updating the file with the new river-color.

@jeisenbe
Copy link
Collaborator Author

Note this significantly interferes with implementing #3854 so we should make a choice of either first implementing water color differentiations or first implementing #3854

I'd be happy to do either order, but #3854 is more work, while this PR seems to have a good chance of being accepted soon.

Also I thought it would be easier to settle on the new water colors before trying to adjust the rendering of intertidal features.

@imagico
Copy link
Collaborator

imagico commented Oct 10, 2019

I'd be happy to do either order, but #3854 is more work, while this PR seems to have a good chance of being accepted soon.

Yes, i understand. But then we should afterwards come to a consensus on the other water colors (ocean/lakes) before going to implement #3854 because otherwise we would first need to implement #3854 with a two color scheme for water and then possibly upgrade it to a three color scheme which is a lot more work.

@imagico
Copy link
Collaborator

imagico commented Oct 10, 2019

In reference to #3926 (comment) - in case you are not aware, this is how your above samples look like to me in the browser:

screenshot

@jeisenbe
Copy link
Collaborator Author

Crazy, that's quite different that what I'm seeing. The ocean color is #A8D3DE in both the original images according to the color picker in Terminal. Perhaps this happed because the "before" pictures are screenshots from a 1.0 opacity overlay of the current rendering, and the "after" are exports from Kosmtik? I'll avoid doing this in the future (I'll lose this nice fiberoptic connection in a few days anyway, so it's back to rendering everything instead of downloading tiles)

@jeisenbe
Copy link
Collaborator Author

We could still do part of #3854: the re-layering and use of comp-op: dst-out, which would fix #3883 and related issues while making it possible to fix other issues like #3102 and #3926.

Then there could be a second PR to adjust the rendering of all the features over water and remove the mud transparence once the new colors are settled.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 10, 2019

The fundamental problem I have with this solution is still the same - the inner water borders are sharp.

The rendering color shift is what I get when using Chromium/Chrome, it is known issue with this browser. That's why I also tried to export from Kosmtik.

@jeisenbe
Copy link
Collaborator Author

the inner water borders are sharp.

I'm happy to fix this for the ocean/river border with #3926, but that's only possible after we start using the darker river color. Recall that in the past we only had the outline for land polygons from z0 to z7 because at mid and high zoom levels there was a strong line across the river/coastline transit. To avoid that, we have to change the river color first.

@kocio-pl
Copy link
Collaborator

I have to recall this when I have a bigger bit of conciousness, at the moment I don't remember this problem.

But this means that I'm looking for gradient border on inland waters first. Since riverbeds are usually constructed with multiple polygons it does not seem reasonable to use border around them, but for the rest of the inland water it sounds OK for me. Of course any other idea might work too.

@jeisenbe
Copy link
Collaborator Author

gradient border on inland waters first

As you mention, this isn't feasible for rivers since they are always made of multiple polygons. It would also show rendering artifacts with lakes which are mapped as more than one polygon. That practice is still somewhat common, especially in areas with many interconnected lakes, so I do not believe it is a good idea.

The plan is that there will be only half as much contrast between rivers and lakes as between oceans and rivers, so I don't see a problem here:

z14 after this PR
z14-ardalstangen-river-color-small
(Lake is upper right)

z15 with 3 water colors (first tests)
z15-ardalstangen-altcolors

  • I think the lake-river transition looks fine.

z15 lower contrast 3 colors
z15-ardalstangen-lowcontrast

  • Lake-river transition is almost too subtle here

@kocio-pl
Copy link
Collaborator

Try z19, please, and without bridge near the junction, this would be much more reliable test of this effect.

@jeisenbe
Copy link
Collaborator Author

I've already done a couple tests on z17 (just in the higher-contrast 3 color style):

z17 Afon rhythallt river-lake transition before

z17-afon-rhythallt-river-lake-before

z17 high-contrast 3-color
z17-afon-rhythallt-river-lake-after

z17 Sure river-lake border before

z17-sure-border-before

z17 after (high-contrast 3-color)
z17-sure-border-rivercolor-after

@jeisenbe
Copy link
Collaborator Author

https://www.openstreetmap.org/#map=19/53.04425/8.87248
Lower contrast 3 colors
z19-river-lake-low-contrast

Higher contrast 3 colors
z19-river-lake-higher-contrast

@jeisenbe
Copy link
Collaborator Author

It's difficult to find places without a bridge, dam, weir or lock:

https://www.openstreetmap.org/#map=19/53.03678/8.87313
Lower contrast
z19-canal-lake-lower-contrast

Higher contrast
z19-canal-lake-higher-contrast

@jeisenbe
Copy link
Collaborator Author

https://www.openstreetmap.de/karte.html?zoom=16&lat=12.52105&lon=104.38533&layers=B000TF

Mapped badly: the river-lake transition is a few hundred meter out in the lake. We should not use poor data for testing

https://www.openstreetmap.de/karte.html?zoom=17&lat=-31.63332&lon=-60.67576&layers=B000TF

Incomplete: the wide part of lake is tagged like a river, but the narrow part is tagged like natural=water only, so it looks backwards currently (screenshot from openstreetmap.de):
laguna-setubal

https://www.openstreetmap.de/karte.html?zoom=18&lat=52.61599&lon=13.20916&layers=B000TF
This one is mapped fine. I don't have this data downloaded, but here's the screenshot from the link:
havel-german

@kocio-pl
Copy link
Collaborator

I have general question regarding water data in general, since you were making these comments in different cases lately - how do you know it's really badly mapped?

And the second one - if we use different colors for water, aren't you afraid people will start moving inner water borders so they look nicer (real mapping for rendering), especially to make the border small and unintrusive?

This does not mean I would be against lower contrast with gradient, I just like to be sure we know what we're choosing and what are the downsides of the choice.

@jeisenbe
Copy link
Collaborator Author

how do you know it's really badly mapped?

Re: lake-river transition: a river has flowing water, a lake doesn't. The boundary between this two should not be out in the middle of the lake.

This is how the riverbank in first example is currently mapped:

https://www.openstreetmap.org/relation/1348576#map=14/12.5875/104.4208
delta-riverbank

The line goes around a peninsula and along the edge of the marshes. I suspect this was mapped coarsely originally, and has now been improved somewhat but still needs more work. This way still goes around the entire 100km long river: https://www.openstreetmap.org/way/378290382#map=12/12.5671/104.5050

aren't you afraid people will start moving inner water borders so they look nicer?

In some cases they will need to be moved because the current data is not accurate, and often that will improve the rendering. But most of the current data is quite good. It's the less accurate examples that stand out.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 10, 2019

Thanks for the answer, but this is not exactly what really interests me. Maybe I will rephrase it: what is the source of your knowledge about water borders? Is it because they look bad or something else?

It is also a question for @imagico: do you believe these borders need to be fixed and why? How do you know where is their (exact, I guess?) location?

@imagico
Copy link
Collaborator

imagico commented Oct 10, 2019

The taggings the different colors depict indicate different ecological and physical waterbody types. In this case riverine systems where gravity induced water flow is the dominating water movement and standing waterbodies with usually some form of stratification and/or free circulation induced by wind. These are typically locally observable properties (you can see the water flow) and the incentive for mappers to obtain an optically pleasant map rendering will usually align with what is physically accurate - in other words: The physically correct delineation of the flowing and standing water domains tends to also be the most agreeable and intuitive in map display.

As said before this is essentially no different than other classifications that are being made in OSM - like natural=wood vs. natural=scrub or landuse=industrial vs. landuse=commercial.

(i kind of thought we had already settled this since you agreed that in principle the differentiation of different waterbody classes is something you support in #3895 (comment))

@kocio-pl
Copy link
Collaborator

You're right, I don't withdraw my agreement in any way. I just wanted to ask about your take about some examples illustrating real life problems, which can be interesting to extrapolate on many others similar cases, like this:

https://www.openstreetmap.de/karte.html?zoom=16&lat=12.52105&lon=104.38533&layers=B000TF

Mapped badly: the river-lake transition is a few hundred meter out in the lake. We should not use poor data for testing

When talking about moving/standing water border it seems that this is more correct in most of the cases, since I suspect water still moves there:

  • Do you agree this particular example can be a tagging problem?
  • What speed limit would you take as this kind of a border?
  • How would you expect the people should measure it?
  • Are you not afraid that people will start "aligning" the borders so they make the smallest possible visual verge, without even taking water speed into account?
  • Any other possible problems that come to your mind?

@imagico
Copy link
Collaborator

imagico commented Oct 10, 2019

Your questions are mostly related to tagging and mapping, not to rendering so i am reluctant to start a discussion about these here. The idea of differentiated water rendering is based on what is currently tagged and mapped - which as i mentioned before i think is done quite consistently. Same as for natural=wood and natural=scrub or landuse=industrial and landuse=commercial.

Are you not afraid that people will start "aligning" the borders so they make the smallest possible visual verge, without even taking water speed into account?

Apart from as indicated this not being about water speed but about the ecological and physical characteristics of the waterbody - No. Mappers as explained do differentiate the different waterbody classes and globally seen they do it quite well (in case of the ocean/coastline i would even say extremely well). There is IMO no reason to assume they'd stop doing that because OSM-Carto starts acknowledging their work in rendering. It is not that the colors suggested are so different that mappers are likely to have strong preferences and for example think: This color is not suited for a lake so i am going to re-tag it as waterway=riverbank. If a mapper tags a lake natural=water+water=lake and a river flowing into it natural=water+water=river they would not be surprised if that difference in tagging is visible in rendering in the form of differently colored polygon fills and would likely not be inclined to change the tagging or the mapped geometries.

For mappers who don't care and just tag any waterbody with some tag to make it blue the best we can hope for is that the differentiated rendering encourages them to inform themselves on accurate tagging and encourages them to use it.

@kocio-pl
Copy link
Collaborator

OK, thanks for responding anyway, I'm not too much into discussing it, rather asking about your position on (inevitable, as always in the real world) problems. My impression is that you don't worry, whatever mappers will do with it, you trust them when it comes to position of water borders. It is essentially on a par with my general laissez-faire attitude, so I don't complain, I'm just surprised that you don't see any potential data problems as usual. Nothing to discuss, though. I just confirmed that you're comfortable with all the consequences and the given example does not bother you.

I'd like to ask something else (if you're interested in explaining a bit more) - I'm just curious, they are "consistent" with what and "excellent" measured how exactly? I mean, how do you personally evaluate the quality of water borders? What benchmarks do you use, not being able to see the water yourself in most of the cases? Are satellite images of special use here, for example, when the definition you gave is so complex?

@jeisenbe, I'd like to hear your position on the data errors and possibility that people might start relocating borders just to make them small and what is your reference to say if data are bad (sorry for repeating the question, I'm just still interested in hearing that)?

@imagico
Copy link
Collaborator

imagico commented Oct 11, 2019

Consistent means consistent use of tags by mappers as it has been discussed in a lot of cases in case of feature additions in this style. If different mappers use the same tag in the same way according to the same understanding what it means and the same view of the geographic reality that is consistent use.

The ocean/coastline mapping being quite excellent in its consistency is owed to the fact that there are a lot of people performing routine quality checks on coastline mapping and because the coastline data is one of the few feature types in OSM that is routinely processed on a global level. You can see that by comparing it to other data sources. That there are a few cases world wide with really blatant inconsistencies does not diminish that significantly.

My view of the likely effects of differentiated rendering of different waterbody classes is not a laissez-faire attitude, it is based on what can be expected from the experiences we made with various other cases of providing visual feedback to mappers. And the idea of providing positive feedback on mapping consistently performed by mappers already to a large extent is part of the primary goals of this style. Should this expectation be disappointed and the data quality degrade as a result of our rendering decision we could and should of course revisit that decision.

@kocio-pl
Copy link
Collaborator

@jeisenbe I'm puzzled, why have you merged this code? I thought I made it crystal clear that it's not ready quite early with #3930 (comment):

The fundamental problem I have with this solution is still the same - the inner water borders are sharp.

and they still are.

@jeisenbe
Copy link
Collaborator Author

It would be helpful in the future to formally request specific changes if there are objections to a PR.

The linked comment was made 15 days ago. I responded to it #3930 (comment) -

"I'm happy to fix this for the ocean/river border with #3926, but that's only possible after we start using the darker river color. Recall that in the past we only had the outline for land polygons from z0 to z7 because at mid and high zoom levels there was a strong line across the river/coastline transit. To avoid that, we have to change the river color first." (emphasis added)

It's not possible to make the coastline linear gradient unless we first change the river-color. Since it is recommended to make small PRs, I could not include that change in this PR, since major layering changes are required.

4 days ago, I commented #3930 (comment) "Both @kocio-pl and @imagico have commented on this PR in generally positive ways, but it's not yet approved. Any chance of a formal review this week?" - which described my understanding of the situation. There was no response requesting any changes except for imagico's request to change the intermittent water pattern, so I thought that meant there was consensus.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 26, 2019

Sorry, I try to make formal requests most of the time, but I don't want to make more tension when discussing then necessary. And I thought in this case you know what I accept and what I don't, which appears was not true.

I don't understand where did you find me commenting this in a positive way? In my opinion this was a critical review all the time. The only positive thing I remember was in response to "since you agreed that in principle the differentiation of different waterbody classes" - and yes, I still support this principle (you're right, we got the consensus here), but not this implementation, you have probably mixed these things. My approval is conditional and relies on the soft border rendering. This condition is roughly OK for ocean and seas, so I approved that, but for inland waters the border is still sharp, so I'm still against.

OK, back to the current point. My concerns about people moving lines to just look smaller are further amplified by your responses - Christoph gave no clear rules and only rejected one (speed of the water), and you mentioned only high water level, which is about water/land, not how deep river goes into the lake for example and what shape does it make, so you gave no easy tools for people willing to verify borders, which is bad. So it becomes more important that people don't see artificial strong lines if they decide the line should be long. They should be not pushed by visual solution which is suitable only for small borders (and even then it's inferior).

I propose to revert this code and make a new release (4.24.1 or 4.25.0), which could be deployed any time, so we could get back to the work with inland waters implementation.

The possible solutions I see are:

The first one is technically more complex, but it allows making soft borders and is vector friendly (it does not rely on any special, innovative rendering features) and is fallback friendly too (if it breaks, we simply get the hard borders).

The second one needs some more testing around the world and does not have to stay forever, once we have the proper solution.

@jeisenbe
Copy link
Collaborator Author

Thank you for suggesting specific changes, this is helpful

making preprocessed data for joinings between the inland waters

In the past the use of preprocessed data has been rejected by @pnorman and others, because it increases the complexity of maintaining, using and adapting this style. (However, this is only really necessary to show an outline around river areas, not for the ocean or lakes.)

making all the inland waters the same darker color, so we could deploy #3895 soon

This is certainly possible as an intermediate step, but I don't understand which problem it will solve?

I still support this principle (you're right, we got the consensus here), but not this implementation

The implementation is simple: water=river, water=canal and waterway=riverbank areas as well as waterway=* lines are changed to #8fcadd. No objection has been presented to this change, either to the color chosen or the features chosen.

The objection appears to be to releasing v4.24.0 before other PRs were made and accepted?

I has been said that it is better if a PR changes one thing at a time, rather than changing many features all at once - I have made this mistake before, and am trying to improve.

It would be hard to continue development if a large number of changes have to be accepted all in the span of one release. Many of the maintainers do not have time to review multiple PRs.

In the past we have usually made incremental changes over several releases, even when the individual changes do not make an improvement.

For example, the ST_PointOnSurface PRs have resulted in worse label placement in some cases, but they will eventually allow vector tiles so we have been willing to accept this.

@kocio-pl
Copy link
Collaborator

This is certainly possible as an intermediate step, but I don't understand which problem it will solve?

It will allow us to show ocean/inland border the way we have agreed, exactly.

The implementation is simple: (...) No objection has been presented to this change, either to the color chosen or the features chosen.

Of course, the objection has been raised exactly about the fact that it's too simple, not to any part of this change. It's just lacking an important part. Please, let's focus on it.

The objection appears to be to releasing v4.24.0 before other PRs were made and accepted?

My objection is that this change is not agreed upon, it has nothing to do with other PRs.

I has been said that it is better if a PR changes one thing at a time, rather than changing many features all at once - I have made this mistake before, and am trying to improve.

I appreciate that and I'm happy with how do you handle such things now - thank you, Joseph. Oceans PR just depends on this code and that's fine, it's better than one big chunk.

For example, the ST_PointOnSurface PRs have resulted in worse label placement in some cases, but they will eventually allow vector tiles so we have been willing to accept this.

But we have fully agreed on that and such decisions are made on a case by case basis. not as a general rule. My reason was that vector tiles is a big, long and complicated goal, which has the potential to resolve many of our disputes (what color should it be? how many icons we can show? from what zoom level?) and fix some serious problems (rendering names in different languages). It was worth to make such compromise, even if I don't like the current rendering of labels. But if they would go outside the boundaries, like it was before, I would be against instant changes and would concentrate on fixing rendering first.

With this change it's much simpler and I don't fear it will take years to resolve, like the vector case, so I think it is not worth pushing such raw changes on a fast path. Why do you think we need to hurry up with this?

@jeisenbe
Copy link
Collaborator Author

This is certainly possible as an intermediate step, but I don't understand which problem it will solve?

It will allow us to show ocean/inland border the way we have agreed, exactly.

I don't understand. If you mean that we should add the gradient line around the coastline, it's not necessary to change the color of lakes to do that.

(It might actually be possible to do a gradient line for lakes right now, though I'm concerned it may cause problems at some rare places where 2 lakes are connected without a river in between)

The implementation is simple: (...) No objection has been presented to this change, either to the color chosen or the features chosen.

Of course, the objection has been raised exactly about the fact that it's too simple, not to any part of this change. It's just lacking an important part. Please, let's focus on it.
Oceans PR just depends on this code and that's fine, it's better than one big chunk.

I don't understand this part. Do you mean the PR to render oceans in a slightly lighter color, which I've previously suggested? Or the relayering in #3854? Or the coastline gradient?

I would like to know what you are requesting as a next step.

@kocio-pl
Copy link
Collaborator

(It might actually be possible to do a gradient line for lakes right now, though I'm concerned it may cause problems at some rare places where 2 lakes are connected without a river in between)

I'm also very concerned about this. That's the only reason why I don't want to merge ocean PR right now.

I don't understand this part. Do you mean the PR to render oceans in a slightly lighter color, which I've previously suggested? Or the relayering in #3854? Or the coastline gradient?

I mean missing a gradient on the water borders. In a case of this PR, only internal waters.

I would like to know what you are requesting as a next step.

I have proposed how to resolve the problem of sharp water borders - if you don't like to involve preprocessing, then making all the internal waters dark is what can be done, so I would go with that.

@jeisenbe
Copy link
Collaborator Author

So you are saying that you are more concerned about where lakes meet rivers, rather than at the coastline? I did not get that from the previous discussion.

So far there has only been 2 examples shown where the transition between a lake and a river would look unusually: that was the large lake in Cambodia where the river area had been mapped coarsely with a single, large outline originally, and then later was made into a multipolygon, but the transition between the lake and river wasn't fixed when the rest of the area of updated (probably with better aerial imagery). There was also an areas where the lake and river were not tagged properly yet - see #3930 (comment) -

There are going to be some examples of missing tags which are shown by this change, as with any time that we render a new feature.

I do not believe there is a valid issue with showing a difference between the colors of lakes and rivers, and more than in showing a difference between heath and scrub areas.

This style should represent accurately the geometries in the database.

Adding a gradient around the coastline is something that could help distinguish the location of the coastline, but it's not necessary around lakes, and even for the coastline it's a "nice to have" feature.

@jeisenbe
Copy link
Collaborator Author

Do you think this PR should be reverted?

@imagico
Copy link
Collaborator

imagico commented Oct 26, 2019

My view here is that I think @jeisenbe did nothing wrong in his principal approach and that both me and @jeisenbe have to some extent misunderstood the comments by @kocio-pl - which was probably at least partly because they were somewhat unclear and contradicting (at least from my point of view)

@kocio-pl - the way i read your comments now it seems you kind of say you support differentiating different classes of waterbodies but you don't want this difference to actually be explicitly visible. This seems a contradiction to me. What i think would make the situation much clearer is if you either

  • state clearly that you currently see no way to differentiate different classes of waterbodies in a way you find suitable for this style or
  • make a specific suggestion how to differentiate different classes of waterbodies.

Either of these would give a positive perspective on how to move forward.

As far as reverting the change is concerned - i am probably not the right person to decide this. But i am kind of with @jeisenbe here that this change is the logical first step for any design strategy towards differentiating different classes of waterbodies - you cannot differentiate without differentiating after all. In other words: Reverting this change would not actually solve the problem of us needing to come to an agreement on the actual design decision.

@kocio-pl
Copy link
Collaborator

Do you think this PR should be reverted?

Yes, nothing new from #3930 (comment). I see no reason for the rest of the code to not be deployed soon, while we keep discussing inland waters.

This style should represent accurately the geometries in the database.

I think you're oversimplifying the problem. Real geometry of the database is sometimes hidden - deliberately, I suppose.

For example we hide waterways under water areas (the intermittent case is an exception here). Also when I suggested outline for the lakes, we would see the actual geometry of all the parts used there, but this was exactly why you rejected this idea.

you support differentiating different classes of waterbodies but you don't want this difference to actually be explicitly visible

I think you're getting me right, but where do you see the contradiction in these claims? It's similar to "I like this color, but not so strong (explicit)".

state clearly that you currently see no way to differentiate different classes of waterbodies in a way you find suitable for this style or

I don't understand what do you miss from my propositions. In my opinion the code from this PR does the good job with showing different classes of waterbodies, but it also does the bad job of suggesting the solid difference, which is just an artifact. What I want is to keep the good things while not introducing bad things.

make a specific suggestion how to differentiate different classes of waterbodies.

Making all the inland water darker fulfills this requirement and this is what I proposed lately as an alternative take, which also fulfills my requirements.

Adding a gradient around the coastline is something that could help distinguish the location of the coastline, but it's not necessary around lakes, and even for the coastline it's a "nice to have" feature.

For me adding a gradient for the coastline is a minimal solution that made me accept this code, as long as there is no hard water border, which is my primary concern. The fact that it tunes the coastline rendering back to the previous state is a nice to have feature for me.


I hoped you all understand that and I wont have to repeat what is the fundamental problem in every comment, but it looks like I have to repeat it.

So please make a very simple test - just check if any given solution shows the soft water borders or not, and you instantly know whether this moves the proposition forward (or not).

jeisenbe added a commit to jeisenbe/openstreetmap-carto that referenced this pull request Oct 27, 2019
Reverts PR gravitystorm#3930 which changed river color to #8fcadd for waterways and river, canal areas
@jeisenbe
Copy link
Collaborator Author

I've opened #3955 which would revert this PR.

@jeisenbe
Copy link
Collaborator Author

jeisenbe commented Oct 27, 2019

This style should represent accurately the geometries in the database.

I think you're oversimplifying the problem. Real geometry of the database is sometimes hidden - deliberately, I suppose.

For example we hide waterways under water areas (the intermittent case is an exception here).

We can not show everything in the database. When there are 2 features in the same place, we can only shown one of them at a time. With waterway line in water areas, the mapper feedback would be best if we put the line on top, but this would violate map users expectations, and would encourage mappers to incorrectly delete the water lines after mapping water areas to get a "proper" rendering.

Also when I suggested outline for the lakes, we would see the actual geometry of all the parts used there, but this was exactly why you rejected this idea.

I think this is a misunderstanding of the history. I mentioned the outline to try to compromise and meet the request to not have a "sharp" meeting between river-color and lake areas, but I mentioned that sometimes it might show a line between two adjacent lakes, and this was rejected:

"@jeisebe: It might actually be possible to do a gradient line for lakes right now, though I'm concerned it may cause problems at some rare places where 2 lakes are connected without a river in between."
@kocio-pl "I'm also very concerned about this. That's the only reason why I don't want to merge ocean PR right now."

It would be ok to show a line between lakes in theory: since we render a text label for each lake mappers already have an incentive to map lakes as one polygon or closed way. I don't think they would remap them due to our adding an outline. But I did not mention this option before because I do not think it is necessary to show an outline for lakes.

We should not show a line between different river polygons, because rivers are properly mapped as a large number of separate areas. A single huge polygon, extending for 1000's of kilometers in the case of the Danube or Mekong, would be hard to maintain and hard to use, so mappers rightly have chosen to map rivers areas as many smaller segments (just as the waterway is broken up in 10 to 20 kilometer pieces). The proper expectation of mappers is that this will be rendered as one continuous feature.

you support differentiating different classes of waterbodies but you don't want this difference to actually be explicitly visible
I think you're getting me right, but where do you see the contradiction in these claims? It's similar to "I like this color, but not so strong (explicit)".

I find the frequent request to use visually weaker colors is a frequent problem in reviews here. See the issue #3647 for examples of many times when contrast has been reduced, sometimes so that two different colors cannot be clearly distinguished.

Features should be shown clearly. It should not be required to have "fuzzy" borders between two areas.

If we accept this for water bodies, doesn't that mean that we should also make fuzzy boundaries between all natural vegetation areas, like grass, heath, scrub, woodland? This actually look "fuzzy" on aerial imagery. We don't do this, because we are representing information in a vector database, which stores everything as straight lines between nodes.

Similarly, it would be more realistic to represent rivers and streams as curving lines, like on opentopomap and other styles. But we do not do this, because mappers should be able to see the actual geometry as clearly as possible.

make a specific suggestion how to differentiate different classes of waterbodies.

Making all the inland water darker fulfills this requirement and this is what I proposed lately as an alternative take, which also fulfills my requirements.

That would be rejecting @river-color, and only changing the ocean-color.

While that is better than nothing, it would not help improve mapping of rivers, and it would make the lakes darker than necessary.

This is based on rejecting a release which shows a pixel of water-color next to a pixel of ocean-color or river-color.

I don't believe this is a valid argument. From what I can see, there has not been an argument presented to explain why it would cause problems for map users or mappers (the openstreetmap.de style is already using a similar rendering without problems). I think this objection is probably based on a subjective, cultural-determined or perhaps individual view of how things should look.

Please take a look at #3951 - consensus-based decision making will not work if our decisions are based on tastes or preferences. It will also not work if maintainers veto changes which are not exactly what they prefer.

@imagico
Copy link
Collaborator

imagico commented Oct 28, 2019

you support differentiating different classes of waterbodies but you don't want this difference to actually be explicitly visible

I think you're getting me right, but where do you see the contradiction in these claims? It's similar to "I like this color, but not so strong (explicit)".

As i said elsewhere i think attempts to create a compromise between showing something and not showing something will always result in bad map design.

Since you - even on specific inquiry - do not make any suggestion how you think different classes of waterbodies can be differentiated without the difference being visible (think of the example i gave for comparison: You want to differentiate natural=wood and natural=scrub but don't want the difference to be visible) i can at this point interpret your answer only that you don't see a way to differentiate in a way that you would find acceptable. Postulating the existence of some hypothetical possibility to differentiate without actually showing the difference does not change that - what you postulate seems physically impossible, at least doing it in a way that is compatible to our documented goals of creating a well readable map and providing constructive mapper feedback. If you disagree please show us how you think this can be done.

And as @jeisenbe said - so far your rejection of a visible differentiation seems based exclusively on a subjective dislike for it - you have so far not presented any arguments and reasoning why you think this would be problematic w.r.t. any of the goals of this style.

jeisenbe added a commit that referenced this pull request Oct 28, 2019
Reverts PR #3930 which changed river color to #8fcadd for waterways and river, canal areas due to lack of consensus
@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 28, 2019

Well, I think we could simplify a problem then for a start: please provide an objective proof for 3-color water solution - not 2 and not any other number of classes. It seems to be missing in the initial proposition and it looks to me like a very subjective choice.

@imagico
Copy link
Collaborator

imagico commented Oct 28, 2019

You seem to be taking a very destructive approach to this now, we have discussed the reasoning for this change at length and you (at least seemed to) have agreed that differentiating different classes of waterbodies is a good idea. @jeisenbe has - largely based on your request - split this into small step-by-step changes and now you are demanding proof for something (not sure for what but apparently not for anything specifically about this change).

If you want to question and argue with the reasons for differentiating different types of waterbodies or for this change here in isolation that is fine with me. But i would ask you to read about the arguments that have been made for this in the past discussion and start from there instead of re-iterating the discussion yet again from the beginning. @jeisenbe has showed and explained in detail the advantages of using different colors, we also have patiently answered a lot of questions raised by you so far. I think it is a reasonable request for you now to present a constructive approach making specific suggestions how to proceed from here and how to address the various issues this change tries to address if you disagree with the approach taken.

@kocio-pl
Copy link
Collaborator

kocio-pl commented Oct 28, 2019

I have proposed 3 different solutions and 2 of them preserve original 3-color proposition, I think this is quite a lot of constructive feedback. Rejecting them does not seem like a constructive step. Consensus means all the sides trying to reach it - so now it's your turn, I guess.

I agree with the general differentiation and this can be easily done with 2 colors (ocean and inland waters). I think any number of colors and any other choice by definition is subjective and I don't know why you treat objectivity as a new rule, but if you can prove me wrong and show me that 3 is not the subjective number, that would make finding a technical solution easier.

@jeisenbe
Copy link
Collaborator Author

3 different solutions and 2 of them preserves original 3-color proposition

Would it be possible to explain the steps that would be part of each of those solutions? I'm a little confused about the next step to take, and how many steps need to be included in 1 PR.

(Please, let's discuss at #3895 or #3896 - not in this closed PR where the comments will get hidden)

@kocio-pl
Copy link
Collaborator

Sure, I will do it soon there.
EOF

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

Successfully merging this pull request may close these issues.

Rivers and canal lines and areas should be darker than other water areas
3 participants