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

Borders rework #3716

Closed
wants to merge 3 commits into from
Closed

Borders rework #3716

wants to merge 3 commits into from

Conversation

jeisenbe
Copy link
Collaborator

This supersedes two earlier PRs: #3553 and #3666

Fixes #3489
Closes #3526
Related to #621, #3102, and #3563

Changes proposed in this pull request:

  • Adjust color of admin-boundaries lines based on zoom level, from low saturation (gray) at z5 and below, to full saturation (same as current color) at z8 and above.
  • Desaturate admin-boundaries text slightly to a color with less chroma, to better match the high-zoom border color
  • Use dashes for admin_level=2 borders at low zoom level, same as at mid to high zoom levels
  • Adjust width of borders at each zoom level based on work by @imagico in the alt-colors fork, so that the transitions are smoother; @vholten also had a similar idea.
  • Desaturate country and state labels, and change country labels to bold font, based on previous commit by @kocio-pl and @vholten

Explanation:

Some map users and style maintainers have complained that the current border color is too prominent, especially at low zoom levels.
Several years ago, the z1 to z3 borders were shown in gray, while all other zoom levels were in #ac46ac - this was changed in a PR which I cannot find at this time.
This PR changes the low-zoom borders to use color palette that is much less saturated for z5 and below (#ac46ac +75% of grey = #6b516b), transitioning at z6 to z8 to the current color #ac46ac.
The line thickness is adjusted so that there is a more gradual transition, and the dashes are continued to low zoom levels for admin_level=4 to be consistent.
The labels for admin_level=2 and 4 areas (countries and provinces) are changed to a less saturated color, so country labels font is changed to bold to be more distinctive. The half-character spacing is removed for better rendering with non-Latin scripts.

[The author of this PR would also be happy with gray-green borders as in the German style, but this PR is offered in hopes of achieving consensus.]

Test renderings:

  • I've shown examples with non-Latin scripts first, to confirm that province labels can be distinguished from other place labels, even when the map user does not already know the names of the provinces.

Libya - Before

Libya z5
z5-libya-master

Libya z6
z6-libya-master

Libya z7
z7-tripoli-libya-master

Libya z8
z8-tripoli-libya-master

Libya z9
z9-tripoli-libya-master

Libya - After

z5 Libya - after
z5-libya-grayish-borders

z6 Libya - after
z6-libya-less-gray-borders

z7 Libya - after
z7-Tripoli-libya-after

z8 Libya - after
z8-tripoli-libya-after

z9 Libya - after
z9-tripoli-libya-after

Shikoku, Japan - Before

z5 Shikoku before
z5-shikoku-master

z6 Shikoku before
z6-shikoku-master

z7 Shikoku before
z7-shikoku-master

z8 Shikoku before
z8-shikoku-master

Shikoku - After

z5 Shikoku grayish borders #6b516b
z5-shikoku-grayish-borders

z6 Shikoku grayish #814d81
z6-shikoku-borders

z7 Shikoku grayish #964a96
z7-shikoku-borders

z8 Shikoku Same as current #ac46ac
z8-shikoku-borders

Latvia - before

z5 Latvia before
z5-latvia-master

z6 Lativa before
z6-latvia-master

z7 Lativa before
z7-latvia-master

z8 Lativa before
z8-latvia-master

Latvia - after

z5 Latvia after
z5-latvia-borders-after

z6 Latvia after
z6-latvia-borders-after

z7 Latvia after
z7-latvia-borders-after

z8 Latvia after
z8-latvia-borders-after

Venezuela - Before

z5 Venezuela before
z5-venezuela-master

z6 Venezuela before
z6-venezuela-master

z7 Venezuela before
z7-venezuela-master

z8 Venezuela before
z8-venezuela-master

Venezuela After

z5 Venezuela after
z5-venezuela-after

z6 Venezuela after
z6-venezuela-after

z7 Venezuela after
z7-venezuela-after

z8 Venezuela after
z8-venezuela-after

Border text labels

z11 Latvia before
z11-jelgava-latvia-master

z11 Latvia after
z11-latvia-jelgava-after

z12 Caracas, Venezulea before
z12-venezuela-caracas-master

z12 Caracas after
z12-caracas-venezuela-after

z11 Libya before
z11-tripoli-libya-master

z11 Libya - after
z11-tripoli-libya-after

@kocio-pl kocio-pl mentioned this pull request Mar 13, 2019
@kocio-pl
Copy link
Collaborator

Thanks, I will try to review it soon.

@imagico
Copy link
Collaborator

imagico commented Mar 13, 2019

Most of the comments i made on #3666 apply here too. This change has the advantage of a consistent rendering of boundaries at each individual zoom level but the color relationships would be different for every zoom level which would significantly complicate color design in the future - you could no more design other colors to work harmonically together with the boundary color, you would need to design them to work together with each of the different boundary colors for every zoom level.

@jeisenbe
Copy link
Collaborator Author

jeisenbe commented Mar 13, 2019 via email

@imagico
Copy link
Collaborator

imagico commented Mar 17, 2019

Could you explain what problems exactly this change is supposed to fix specifically by changing the boundary color at z1-z7?

If the purple color is considered disadvantageous the logical step would IMO be to change it universally. If that is considered non-feasible because of other constraints that only exist at the higher zoom levels i don't think selectively re-designing the low zoom levels is the way to go. It would swap one problem (finding a boundary design that works on all zoom levels) with a different one (making any styling decisions in the future that affect both low and high zoom levels) which is more severe than the first. I would rather look into solving the high zoom level constraints in question instead.

My main problems with the purple boundary color are that

  • the color mixing due to semi-transparency creates a large spectrum of mixed colors in combination with different backgrounds, in particular with the various green landcover types, that are frequently confusing and make the colors of the map difficult to read in general.
  • that the use of purple for boundaries blocks a huge part of available color space that could more fittingly be used for other purposes.

Neither of these issues would be fixed by your change.

@jeisenbe
Copy link
Collaborator Author

"Could you explain what problems exactly this change is supposed to fix specifically by changing the boundary color at z1-z7"

It's just a design improvement.

The current color palette at high zoom levels (z1 to z4) is the blue water color, black labels, off-white / light gray land color, and the purple border color (in two versions, mixed with water and mixed with land). The blue and purple alone are a strange combination, at least in Western culture*

At z5 to z7 there are also some very faint shades of green in areas of landcover, red motorways and red-orange trunk roads. The purple still looks out of place compared to the red / green / blue primary colors of the other features, at these zoom levels.

At high zoom levels (>14), the addition of darker landcover colors, and more colors of roads, railways etc. makes the purple a reasonable choice, although it is a quite strong color

"the color mixing due to semi-transparency creates a large spectrum of mixed colors in combination with different backgrounds, in particular with the various green landcover types, that are frequently confusing and make the colors of the map difficult to read in general."

That's true, and you are correct that this PR would not fix that problem.

Overall, I agree that trying a shade of green/gray similar to the Germany or French stylesheet would be superior at mid and high zoom levels, but I thought this idea had been rejected previously.

*[My favorite Papuan shirt has a bright to mid-blue batik background with purple drums and spears, outlined in black and metallic gold].

@imagico
Copy link
Collaborator

imagico commented Mar 22, 2019

The current color palette at high zoom levels (z1 to z4) is the blue water color, black labels, off-white / light gray land color, and the purple border color (in two versions, mixed with water and mixed with land). The blue and purple alone are a strange combination, at least in Western culture*

At z5 to z7 there are also some very faint shades of green in areas of landcover, red motorways and red-orange trunk roads. The purple still looks out of place compared to the red / green / blue primary colors of the other features, at these zoom levels.

So you say at low zoom the purple boundaries look strange/out of place but at high zooms less so because there are more other colors anyway.

I see several problems with that:

  • this does not appear to me to be a sufficiently strong argument to further decouple low and high zoom design (with the mentioned consequences regarding future design choices).
  • as i explained i think the reasons for moving away from purple boundaries at high zoom levels are actually stronger.
  • your motivation for z5 to z7 seems to be specifically to adjust to the faded land cover colors which are a design choice distinctly disliked by some (including me obviously).
  • you would further prejudice future low zoom design to further separate from high zoom level design (see previous point). In most cases future changes would have to make separate design choices for low and high zooms because the context would be fundamentally different.

One question i would like to ask is: Under the assumption that you want a consistent boundary design across all zoom levels what would be the best choice for this - including options that use a different approach than the current plain semitranparent line and including options that might require other design changes to work.

IMO only if you come to the conclusion that the answer to that question is still a bad choice specifically at some zoom levels but not at others you should consider differentiating design between zoom levels.

But i would like to hear other opinions on this matter. My assumption has always been that we aim for design continuity across all zoom levels - both for map the map user and for developers for less complications in design - but there are quite a few map styles out there (one of the most obvious being OpenTopoMap) which make a deliberate choice for a low/high zoom discontinuity.

@jeisenbe
Copy link
Collaborator Author

Closing, it will be easier to continue work on a different PR and separate out the changes.

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