Open jeisenbe opened 5 years ago
I agree the color could be darkened a tad. I dont think reusing an old color from another landuse should be the solution though. Otherwise, why did we change the landuse away from that color in the first place? In other words, the same issues would then exist for the new landuse that prompted us to change it in the first place.
Second, if you desaturated the yellow to much, then your essentially conseding that your arguement against using light yellow/tan colors for retail/commercial is void. Since they would be very similar. Its just something to think about.
Third, orange has already been singled out as not a good color due to being close to red/emergency (or it would risk being to close to gastronomy orange). So thats not an option either.
So I think the best option is just adjusting the already existing yellow color slightly. Otherwise its uselessly over complicating things and using colors that have already been discounted in other issues.
All of the five options above are more saturated than the current color, except for option 4 The second and third options are "less saturated" in relation to option 1 only; sorry for any confusion this caused.
Here are some test images I made with option 3 above:
#f5f3c6
- Lch(95,23,106)
@jeisenbe, its alright. Thanks for the test renderings. I like the direction.
After looking around a little pitches could benefit from being a little less blue. Although that's probably better for another issue.
The current beach color is a little too saturated and orange, next to the developed landuse colors. Here is a slightly less saturated option 6, #f9efbc
. Compared to the current sociental_amenities color this would be 5 points darker, 13 points more chroma or saturation, and 9 points different in hue (towards orange, away from green)
#f9efbc
- Lch(94,26,100)
z13
z14
z16
#b5e3b5
LCH(86,29,143), instead of LCH(85,22,168). This would need further adjustment but might be an improvement in its own right, as @Adamant36 suggested above.z13 z14 z16 z15
How is the last one any different then any of the colors proposed by @Tomasz-W in the retail PR that you were against? Because it would make a good retail color. I still think it should be a yellow off shade like #f9efbc. If we made the last one the retail color (and @Tomasz-W's current retail pick the commercial color) I think that would work good.
Do me a favor and test here or a very similar place how I just said if you can please.
Re: 4. old farmland color but less saturated: #f8ecdd - LCH(94,9,80) I previously wrote:
"Perhaps the saturation is too low now, however."
I forgot to check this color against bare_ground color; it's too close because of the low saturation. Bare_ground is 92,6,74. So the former farmland color, Lch(94,13,80), is different enough from bare_ground, but #f8ecdd - LCH(94,9,80) - is too close.
Sorry about that. It can be difficult to remember all of the different landcover colors that might conflict with a new option; bare ground is not very similar to yellow or the current color, but it is quite close to some other options.
So check this out, retail (your current last color), commercial (Tomasz-W's retail color), social amenity #f9efbc (the yellow color above). z16 z17 z18 But alas, retail is still not very noticeable at higher zoom levels, but I still think its a good direction to go in (retail/commercial/social amenities as some kind of peach/yellow/skin color shade). It looks nice. The social amenity color looks good with parks to, but I don't think anything more toned down (like your last color) would.
IMHO, Z18 above looks way better compared to the current colors at z18. Current colors Z18 with colors above
@jeisenbe, as a side this, what do you think about the idea of blending colors grey down to z13 instead of z12? I think it would solve a lot of these problems with colors being to close to the ground color. Since they are only to close at a few zoom levels and we shouldn't have to discount them because of that if they perfectly fine otherwise. We shouldn't not use those colors above when they look good just because they don't work at z13. Its not like the current retail color does anyway.
I'm perfectly willing to put these landuse color issues on hold for now and open a new for it if need be. I don't think we will be able to decide on good, or any, colors otherwise.
Boundaries are discussed, thus this will address #3519
@kocio-pl, what do you think about blending things to grey down to z13? I think it would solve some of the problems with picking colors. Especially here and in the retail issue. Since most of the colors work fine except at z13 and you can't normally make out specific landuse at that level whatever the color is. I don't think just relying on borders is a good solution either. I can think of examples where they don't help at all.
I don't follow this discussion, but that's at least new and interesting idea to consider. However I guess until the release I will try rather to focus on easier problems.
@kocio-pl, OK. I'll save it for after the next release.
Do me a favor and test here or a very similar place how I just said if you can please.
Here's a test with 6. #f9efbc - Lch(94,26,100) for societal_amenities in the centre of Redding, California, as requested. https://www.openstreetmap.org/#map=16/40.5840/-122.3907 z15 Current After - f9efbc
z16 Current After - f9efbc
z17 Current After - f9efbc
Remember that option 6. requires changing the beach rendering as well.
Here's option 3. #f5f3c6 - Lch(95,23,106) - for comparison z15 z16 z17
(OT: The biggest issue with the rendering for Redding is that all those parking lots block much of the the landcover color, and because parking is so close to land-color it almost looks like most of the area is untagged.
I'd suggest building more housing on all that parking, to improve the map. ;-) )
Yeah dude, especially California. We love our parking lots that are six times bigger then the store the parking is for.
I wish they would reuse the parking for housing here. The parking is always empty anyway. Thats actually one of my main gripes about the area. Im always ranting to people about how its a massive miss use of space. Or at least use some of it for public spaces. Good luck getting any of that off the ground with the local planning department. Unfortunately We're one of the last holdouts of the outdated American suburb model. The down towns and afordable housing can rot for all they care as long as they have their nice mansions in the rich areas. Gggrrr.
Im sure you know all about that though since you use to live around here. But it still feels good to go off about it sometimes. Its one the reasons I got into OSM in the first place. An interest in urban planning wtc.
Your in Indonesia now I take it?
Thanks for the tests. I'll probably wait until the next update and see if I can get the grey thing off the ground before dealing with landuse color anymore. I feel like we are at a dead on it. Not so much here, but especially with retail/commercial.
Kahului, Hawaii: https://www.openstreetmap.org/#map=13/20.9042/-156.4423
z13 Current master:
z13 Societal_amenities in #f5f3c6
z13 Societal_amenities in#f9efbc
Belfast, N. Ireland: https://www.openstreetmap.org/#map=13/54.5975/-5.9104 z13 Current z14 Current
Option 3: z13 Societal_amenities in #f5f3c6
z13
z14
Option 6: z13 Societal_amenities in #f9efbc
z13
z14
Derry, N. Ireland: https://www.openstreetmap.org/#map=13/54.9936/-7.3074 z13 Current z14 Current
Option 3: z13 Societal_amenities in #f5f3c6
z13
z14
Option 6: z13 Societal_amenities in #f9efbc
z13
z14
I still think #f9efbc
- Lch(94,26,100) would work well as a new societal-amenities color, if we don't want to consider going back to #fbecd7
- Lch(94,12,80).
Since this would be very similar to the current @beach
- #fff1ba
Lch(95,29,97), the color of beaches could be changed to match @sand
- #f5e9c6
Lch(92,19,95). It's not clear why beaches require a separate color. The difference between sand beaches and coarse beaches (eg shingle, gravel, shells, pebbles) is currently shown with a different pattern.
Here are some comparisons of beaches in southern Italy, before and after:
Sira Resort, before After
Before After
Before After
For better understanding - beaches are a geomorphological land form at coasts formed by waves. The tag natural=beach is used fairly consistently for this (plus for artificial beaches of course). natural=sand is orthogonal to this and while not used as consistently as natural=beach for what it is meant for it is quite consistently not used for beaches. This is one of the few bright spots in physical geography OSM tagging where a non-obvious differentiation is relatively consistently applied globally. And in coastal settings differentiating between wave formed beaches and wind formed coastal dunes is both well verifiable locally and meaningful. Unifying would be counterproductive and highly confusing.
I had hoped that using a different pattern for natural=beach and natural=sand would be sufficient. This is also the way that scree and shingle are distinguished.
For those following along*: natural=scree and natural=shingle use the same background color as natural=bare_rock, but with different patterns. Scree is usually found on hill and mountain slopes, and consists of rough, broken stones: from pebble to small boulder size. Shingle is similar in size, but the stones and cobbles are rounded due to the action of water; usually this will be found along rivers, though there are also shingle "beaches" along lakes and seas. So this is rather analogous to the difference between sand dunes and sand beaches, though a beach can also have larger mineral particles such as pebbles, and this is already shown with a different pattern.
The current beach color is also used for shoals, which are areas in the sea that may be exposed at low tide and covered at high tide, and can have a varying surface from silt and sand to cobblestones (but not solid rock or coral: this would be a natural=reef)
Right now, natural=beach/shoal use a bright shade of yellow, #fff1ba
Lch(95,29,97) which has a delta Δ: 10.4 with@sand
and Δ: 23.7 with @bare_ground
[screen, shingle]. There is normally no pattern, unless there is a surface tag. In this case natural=beach with surface=sand uses the same pattern as sand, and surface=gravel, pebbles, shingle, shells etc. are shown with the beach_coarse.png
pattern.
*[I'm sure @imagico knows these details already]
So one simple option would be to remove the pattern for natural=beach with surface=sand.
This would then show a clear distinction between inland dunes tagged with natural=sand and natural=beach, even if the landcover is sand for both. The disadvantage would be that tagging surface=sand would no longer make a difference. However, most beaches in the world currently lack a surface tag and our rendering of surface=sand does not seem to have been a strong encouragement for adding the tag.
Another option would be to create a separate pattern for natural=sand. Right now the pattern is symbols/beach.png
- rather misleading. There is an open issue requesting rendering of natural=dune; this would also be a chance to make a distinctive pattern for dunes, if we want to even more clearly show a difference, without creating yet another background color.
Having said that, if it is necessary to use 2 separate colors for beach/shoal vs sand, we could use #fbecd7
. This has these deltas:
Δ: 7.1 from @bare_ground
#eee5dc
Δ: 7.4 @sand
#f5e9c6
Δ: 9.5 from @farmyard
#f5dcba
which are the 3 closest colors, I believe.
Since the current @sand
#f5e9c6
has a delta of 13.4 with @bare_ground
, it would probably make more sense to switch @sand
to #fbecd7
and use #f5e9c6
for beach.
This creates these earth-tone colors for non-vegetated areas:
@mud:
#e6dcd1
- Lch(88, 7, 107) - over @land-color
@bare_ground:
#eee5dc
- Lch(91, 6, 74)
@sand:
#fbecd7
- Lch(94, 12, 82)
@beach:
#f5e9c6
- Lch(92, 19, 95)
@farmyard:
#f5dcba
- Lch(89, 20, 80)
Compare to:
*@societal-amenties:
#fceebc
- Lch(94, 26, 96) - *new color; slightly adjusted to be less similar to secondary-fill
@secondary-fill:
#f7fabf
- Lch(97, 30, 110)
@primary-fill:
#fcd6a4
- Lch(88, 30, 78)
@commercial:
#f2dad9
- Lch(89, 8.5, 25)
@garages:
#dfddce
- Lch(88, 8, 104)
@building-fill:
#d9d0c9
- Lch(84, 5, 70)
@construction:
#c7c7b4
- Lch(80, 10, 109)
Link to color values with deltas: http://davidjohnstone.net/pages/lch-lab-colour-gradient-picker#e6dcd1,eee5dc,fbecd7,f5e9c6,f5dcba,fceebc,f7fabf,fcd6a4,f2dad9,d9d0c9,dfddce,c7c7b4
Since the current @sand #f5e9c6 has a delta of 13.4 with @bare_ground, it would probably make more sense to switch @sand to #fbecd7 and use #f5e9c6 for beach.
Well, sometimes things make sense but don't look so good. It turns out that beach as #fbecd7 and use #f5e9c6 for sand looks better.
Here's some test images in Northern Ireland with a beach
near sand
and bare_ground (rocks on the jetties): https://www.openstreetmap.org/#map=15/55.1680/-6.7696
Before (sand #f5e9c6
, beach #fff1ba
)
sand #fbecd7
and #f5e9c6
beach
beach #fbecd7
and sand #f5e9c6
beach and sand both #f5e9c6
- no pattern on beach with surface=sand
I think you are focusing too much on one-dimensional color distances here. Color space is three dimensional and so is color perception. DeltaE values will be able to give you an idea how well two colors are distinguishable in isolation. But in reality pairs of colors do not occur in isolation in most cases - there are usually other colors around and these relate in three dimensions.
Some time ago i said that this style has reached the end of the line in terms of area colors and i would meanwhile say it has gone beyond that (by in some cases more or less overloading colors for several unrelated purposes). And the lack of any universally agreed on principles for color choices does not make this any easier. Yes, in principle you can still try to squeeze in a color here and there but in most cases this will not improve the map.
It is good that you try to look at the big picture but without overall design principles as guidance this is probably fairly hopeless.
I had hoped that using a different pattern for natural=beach and natural=sand would be sufficient. This is also the way that scree and shingle are distinguished.
Scree and shingle are currently rendered identically.
Note rendering natural=sand with a pattern was a relatively recent and isolated change. Design choices for natural=beach and natural=scree/shingle were both done with sand being rendered in plain color.
Lately I've been thinking all "human" landuses should be the same color. Its a superficial distinction that know one really cares about or gets the difference on anyway and it just over complicates things. Everyone just tags everything as large residential areas at this point. I barely ever see retail, commercial, societal, and residential areas individually micro-mapped. The boundaries and landuse areas can be seen with borders. I think that's enough.
I think a better route then this would be to choose a single color for all of them that would work well with the major/minor/type building coloring scheme that is currently being proposed. Most things are mixed use these days and it matters more what the specific building is. Not what "landuse" it is. How many shopping centers out there have commercial buildings along with the retail ones? or how many commercial districts have a restaurant or thrift shop hidden in a small building somewhere in the middle of it? I rather be able to tell those things.
Scree and shingle are currently rendered identically.
You are correct, I was wrong in thinking they had a different pattern. They are distinguished from natural=bare_rock by pattern, but not from each other. I think they should get a subtly different rendering, since they are clearly different features, just like beaches vs sand.
Some time ago i said that this style has reached the end of the line in terms of area colors and i would meanwhile say it has gone beyond that (by in some cases more or less overloading colors for several unrelated purposes)
That's why I suggested using the same color, but a distinct pattern, for natural=and and natural=beach; this would reduce the number of earth-tone colors by one.
The other suggestions do not increase the number of landcover colors, but move currently used colors to different features: the beach color will instead be used for societal-amenities.
*(#fbecd7
was recently used for the societal-amenities color, and before that was used for farmland)
I think you are focusing too much on one-dimensional color distances here...
Is there a better way to measure this?
I'm planning to show test images as well
Groes Las, Wales z16
Natural=beach with natural=sand (dunes) inland
https://www.openstreetmap.org/#map=16/52.8470/-4.1137
Before (sand #f5e9c6
, beach #fff1ba
)
After (beach #fbecd7
, sand #f5e9c6
)
Morfa Dyffryn, Wales https://www.openstreetmap.org/#map=16/51.5645/-4.0547 Natural=beach with natural=sand Before After
Pwlldu Bay, Wales https://www.openstreetmap.org/#map=16/51.5645/-4.0547 Natural=beach with surface=sand (center), coarse surface (north), and untagged (east and west) Before After
Traeth Penrhos, Wales Here the sand has been tagged on the ocean side of the natural=beach, oddly. https://www.openstreetmap.org/#map=15/53.1458/-4.3936 Before After
Talacre, Wales The northwest sandbank in the sea is tagged natural=beach, the bank on the northeast is natural=sand. The main beach is natural=beach, with natural=sand dunes inland. https://www.openstreetmap.org/#map=13/53.3607/-3.3359 Before After
These test images show societal-amenities (schools, universities, hospitals) with the suggested new color; the first tow also have beaches and sand dunes.
Burry Port, Wales
Sand in the southwest corner, beach in the south and southeast, two schools.
https://www.openstreetmap.org/#map=15/51.6817/-4.2493
Before (sand #f5e9c6
, beach #fff1ba
, societal-amenities #ffffe5
)
After (sand #f5e9c6
, beach #fbecd7
, societal-amenities #fceebc
)
Harlech, Wales
School, dunes and beach
Before #ffffe5
After #fceebc
Llandaff, University https://www.openstreetmap.org/#map=15/51.4953/-3.2081 Before After
Cardiff https://www.openstreetmap.org/#map=13/51.4901/-3.1603.png Before After
Newport https://www.openstreetmap.org/#map= Before After
I've been thinking all "human" landuses should be the same color
Including schools, hospitals, police stations... military areas?
I think that's a reasonable idea for low and mid zoom levels.
But at high zoom levels we should try to show the major types, so that mappers will know if they've tagged an area correctly. The current transition at z12 to z13 is fine.
The contrast between strong yellow for schools and green pitches, which are usually there too, looks bad for me.
But what's a "social amenity" anyway?
Is is a category we introduced here in carto to make the discussion about a set of particular amenities easier. Thus it does not describe one tag and is not intended to.
Hospitals are mostly offices
Hospitals typically take in-patients, so it is mostly bedrooms.
Its not like colleges and police stations can't have icons.
Police does have an icon. Educational institutions could have one, if #3284 gets solved. We do not know yet how to deal with icons when the label has flexible font size.
I think you are focusing too much on one-dimensional color distances here...
Is there a better way to measure this?
No, color physiology is not something you can cast into simple quantitative measurements.
Back in the days we had in #2462 discussed various more specific methods of assessing color relationships which however were not ultimately adopted as rules for this style so color choices do not generally follow these rules:
Is is a category we introduced here in carto to make the discussion about a set of particular amenities easier. Thus it does not describe one tag and is not intended to.
Yeah that's exactly my point. That's why it can be any color, another color, no color, multiple colors, or whatever. Because its not one particular thing and can be whatever we want it to be.
Hospitals typically take in-patients, so it is mostly bedrooms.
The specific buildings or sections at the hospitals that take in patents do. I don't know how it is in Europe, but in America its as much about out patient services, counseling, cancer screening, physical therapy, end of life planning etc as anything.
if #3284 gets solved
I'm aware of #3284. That's where my whole "we should use our time on more important issues then debating the benefits of %1 change in LCH on something that's already adequate" or whatever, comes in. Issue's like that aren't ever going to be closed otherwise. There will always ways to tweak the colors on things and people will always have issues with the current colors. Especially considering there's no design goals at the moment. In most of these cases @jeisenbe is just debating things with himself 99% of the time anyway. Not to say he shouldn't test things or its not valuable, just that a "work on bugs (or whatever) until design goals get decided on" approach might be better.
Anyway, that's just my opinion.
Back in the days we had in #2462 discussed various more specific methods of assessing color relationships which however were not ultimately adopted as rules for this style so color choices do not generally follow these rules:
I’ve read thru #2462 and your alt-colors cartography guidelines.
But I may have missed the section about “more specific methods of assessing color relationships”?
The relevant section of guidelines for this issue (societal-amenities color):
Colors
It looks like these parts of the guidelines were agreed upon by all the maintainers who commented in #2462
I’ve tried to follow these while designing the new color. The current color is too “strong” because it is very light, thus the contrast is too high with buildings, roads and pitches and the color does not fit in with developed landuses such as residential and retail.
So I’ve been trying to find a color that has a more similar lightness and chroma to the other landuse colors for areas of similar size, eg retail, commercial, farmyards, allotments, industrial.
I’ve also tried to keep the hue fairly similar to the current and older colors, since it is better to avoid large changes without consulting the broader OSM community (also mentioned in guidelines).
Are there other principles that should be considered for this issue?
The contrast between strong yellow for schools and green pitches, which are usually there too, looks bad for me.
That's unfortunate. I thought that #fceebc
looked fine with pitches. Perhaps the pitch color needs to be changed to be less blue, if even yellow is too much contrast with the current medium blue-green pitch fill? I've been considering trying the current @golf
color for pitches.
The other option that I previously tested was 3) #f5f3c6
- this is mustard-yellow with a touch of green; the same hue as the current societal-amenities color. So it may look nicer next to blue-green tones.
3) #f5f3c6
- Lch(95,23,106)
secondary-fill
and sand
: delta to sand is 6.6, and it's 8.0 to secondary-fillz13
z14
z16
z18
More examples with this color #f5f3c6
:
https://github.com/gravitystorm/openstreetmap-carto/issues/3607#issuecomment-450452286
https://github.com/gravitystorm/openstreetmap-carto/issues/3607#issuecomment-450539337
Yes, this one is strong, but plays nice with pitches.
#f5f3c6
Lch(95,23,106) isn't ideal, because like the old societal-amenities color it is slightly greenish, which makes it somewhat similar to farmland and heath, and we've been trying to keep shades of green and yellow-green for vegetation-related areas.
It's a little too close to @secondary-fill
and @sand
as well, though I think this is not very likely to cause confusion. Overall it is an improvement on the current color, but not a perfect solution.
A shade with a more yellow-orange hue, like #fceebc
, would be preferable, both to distinguish it from vegetation and from secondary-fill (though this then requires changing @beach
, and perhaps we need to change @pitch
to be less blue).
But here are some more examples with f5f3c6
, with a weaker outline color and adjusted text color:
The rules i linked to are methods of assessing the suitability of colors, not for how to pick the colors in the first place.
The most significant rule is usually the rule of similarities: The difference in rendering between different types of features should foremost be based on their difference in meaning and purpose for the target map users.
What you can do is evaluating various ideas and past choices regarding how they fare w.r.t. these rules - and this can give you a better idea if and why some of these work better than others.
But always keep in mind that for how colors work in maps there are many more factors that play a role - in particular since the map user does and needs to recognize structures in the map that go beyond individual features
@jeisenbe, what about something like #e5e5d7? It looks kind of sophisticated and good next to parks/parks. Although grass mapped on top of it looks a tad saturated, but it can be tweaked.
#e5e5d7
is quite close to landuse=garages #dfddce
(deltaE is 2.9),
and also close to bare_ground #eee5dc
(delta 4.2), mud (delta 4.6)
and transportation-area #e9e7e2
(delta 4.9)
On 3/5/19, Adamant36 notifications@github.com wrote:
@jeisenbe, what about something like #e5e5d7? It looks kind of sophisticated and good next to parks/parks. Although grass mapped on top of it looks a tad saturated, but it can be tweaked.
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/gravitystorm/openstreetmap-carto/issues/3607#issuecomment-469623135
#e5e5d7
is quite close to......
Different enough though maybe. Its not like some things don't look similar. Context matters also. I don't people are going to confuse a school ground for mud. Its not like you can't tweak it either. I at least know yellow and orange doesn't work. I s;pent a few hours trying to find something on the yellow/orange that didn't look horrible or stand out to much. I couldn't find anything. So I think another color is needed.
Btw, it looks much lighter as a dot then it actually is as areas. It doesn't look anything like bare ground in actual usage. Even if the "deltas" are close. I don't really care if they share some abstract value in common. Its more important they don't look similar.
New idea: try @societal_amenities
in #f5e9c6
and change natural=sand
to @bare_ground
- #eee5dc
to match scree, shingle and bare_rock.
I tested the new option (using the current @sand
color), but #f5e9c6
is not as perfect as I hoped. It's a bit similar to beaches, shingle and similar areas, so it's not a clear improvement over the previously tested colors (and it still requires changing the @sand
color):
(Note beach near southeast corner for comparison)
My preference would still be for #fceebc
(which requires changing the beach color), but @kocio-pl did not like the way it looks next to pitches:
I would be willing to try changing the color of pitches to be less blue (like @golf?), which might help with this impression, but since I don't notice the problem myself, this makes it hard to design a solution.
#f5f3c6
is the third option. The hue is closer to green than I would like (it's similar to farmland, though not as light, and somewhat similar to allotments, heath, and camp_site), but the lower lightness is an improvement from the current @societal-amenities
color.
Background
#eef0d5
- Lch(94,14,112), a moderately light, slightly-greenish yellow#fbecd7
- Lch(94,12,80), as suggested by @imagico#ffffe5
- Lch(99,13,109)Expected behavior
Actual behavior
Possible solutions
Options I've considered:
slightly darker yellow, such as
#f8f7c1
LCH(96,27,107)Less saturated, a touch greener
#f6f7c7
Lch(96,24,109)Less saturated, a touch lighter:
#f5f3c6
LCH(95,23,106)Similar to old farmland color but less saturated:
#f8ecdd
- LCH(94,9,80)Current beach color
#fff1ba
LCH(95,29,97)These should all be tested at z13 to z17, including areas near:
Screenshots illustrating the problem
Current
#ffffe5
Lch(99,13,109) Singapore National University http://openstreetmap.org/#map=13/1.3052/103.8312 z13 z14 z16http://openstreetmap.org/#map=16/1.3014/103.7845 z15
http://openstreetmap.org/#map=18/1.30184/103.78648 z18
Kahului, Maui Hawaii http://openstreetmap.org/#map=13/20.8829/-156.4679 z13
z14