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

Adjust width of hedge & citywall rendering from z15 to z19 and add z20, change hedge to @forest #3847

Merged
merged 4 commits into from
Sep 20, 2019

Conversation

jeisenbe
Copy link
Collaborator

@jeisenbe jeisenbe commented Aug 24, 2019

Adjust width of hedge & citywall rendering from z15 to z19 and add z20, change hedge to @forest

Fixes #3845
Related to #3747

Changes proposed in this pull request:

  • Adjust hedge and citywall width from z15 to z19, so that hedges and citywalls have the same width and the width changes by small steps, increasing by no more than 50% between zoom levels.
  • Slightly adjust hedge color to match @forest
  • Add rendering rule for barrier=hedge and barrier=city_wall / historic=citywalls at z20 with slightly greater width.

Explanation

Background:

  • Current citywalls (tagged either as barrier=city_wall or historic=citywalls) are rendered from z15, while hedges only render from z16.
  • However, at z16 citywalls are only 1.5 pixels wide, while hedges begin at 3 pixels wide.
  • At z17 citywalls are rendered wider, 3px, matching hedges. The width does not change again at higher zoom levels. This jump is 100%, which makes it appear to match the change in scale.
  • This means that hedges are wider than treerows (2.5px) at z16, but narrower at all other zoom levels (treerows are 5px at z17, and 10px at z18)
  • The citywall tags are used for all sorts of mainly historic fortification walls, not only city walls, also comprising walls of castles, towns, village forts, and so on, based on a review of uses in Luxembourg. These walls can be as narrow as 1 meter in some cases, though they are also sometimes wider, and usually are tall enough to be visually significant. Most of these features are near towns, cities or villages, though some castles and forts are in rural areas.
  • Hedges have varying width, but most are 1m wide or more, putting them in the same range as citywalls. They are more often rural features, though also found in cities.
  • Some rendering rules were just added for roads at z20, but there are none for barriers yet.
  • Hedges are currently rendered in #aed1a0 - Lch 80,29,135, while forest/wood is #add19e - Lch 80,30,135 - this difference is not perceptible.

Changes

  • Citywall width is adjusted to start at 1.0 pixel wide at z15, increasing to 1.5 at z16 (same as current), 2.0 at z17, 3.0 at z18 (same as current), 4.0 at z19 and 5.0 at z20. This leads to consistent small steps, none of which are more than 50%, so there is no risk in interpreting this as representing a real width.
  • Hedges start at 1.5px at z16, and increase by the same steps to 5.0 at z20. This means hedges are narrow than current rendering at z16 and z17, same at z18, and wider at z19 and z20.
  • Now hedges are clearly narrower than treerows at all widths (though treerows need further improvements)
  • Hedges now use @forest color for simplicity. I attempted changing them to @scrub, since they are often shorter than trees, to provide more contrast with tree rows, but this color does not have sufficient contrast with some landcovers fill colors. It might be possible to consider something like the darker color used for the scrub pattern (rather than the fill), in another PR
  • The width is now adjusted slightly between z19 and z20. This is only a 25% increase; we could consider going to 6 pixels wide at z20 for a 50% increase, but I believe other changes are needed to the style at that zoom level first (many other narrow line features should be widened at z20 as well).

Test rendering with links to the example places:

Luxembourg City

z15 before
z15-luxembourg-citywall-before
z15 after
z15-luxembourg-citywalls-after3

z16 before
z16-luxembourg-park-citywalls-before
z16 after (nearly the same; small hedge is different only)
z16-luxembourg-park-after3

z17 before
z17-luxembourg-park-citywalls-before
z17 after
z17-luxembourg-park-after3

z18 before
z18-luxembourg-park-citywalls-before
z18 after (unchanged)
z18-luxembourg-park-after3

z19 before
z19-luxembourg-park-citywalls-before
z19 after
z19-luxembourg-park-after3

z20 before
z20-luxembourg-park-citywalls-before
z20 after
z20-luxembourg-park-citywalls-after3

Hedge vs treerow

z16 before
z16-hedge-vs-treerow-before
z16 after
z16-hedge-vs-treerow-after3

z17 before
z17-hedge-vs-treerow-before
z17 after
z17-hedge-vs-treerow-after3

z18 before
z18-hedge-vs-treerow-before
z18 after (unchanged except hedge color - not really visible)
z18-hedge-vs-treerow-after3

z19 before
z19-hedge-vs-treerow-before
z19 after
z19-hedge-vs-treerow-after3

z20 hedges after
z20-hedge-place-des-martyrs-after3

Render hedge thinner at z16 and z17, thicker at z19. Render citywalls slightly thinner at z15, same at z16 and z18, thicker at z17 and z19, compared to previous: 1.0px at z15 to 4px at z19.
The current hedge color was only 1 point saturation less than forest color; lightness and hue were identical.
@jeisenbe
Copy link
Collaborator Author

jeisenbe commented Aug 24, 2019

Mersch, Luxembourg - citywalls (old town fort/castle)

https://www.openstreetmap.org/#map=16/49.7510/6.1055
z15 Before
z15-mersch-citywalls-before
z15 after
z15-mersch-citywalls-after3

z16 unchanged
z16-mersch-citywalls-after3

z17 before
z17-mersch-before-wall-treerow
z17 after
z17-mersch-citywall-after3

z18 before
z18-mersch-citywall-before
z18 after (unchanged)
z18-mersch-citywalls-after3

z19 before
z19-mersch-before
z19 after
z19-mersch-citywalls-after3

z20 AFTER
z20-mersch-citywalls-after3

@jeisenbe
Copy link
Collaborator Author

Hedges, near Flamengos village, Azores islands
z16 before
z16-flamengos-north-hedges-before
z16 after
z16-flamengos-north-after2

z17 before
z17-flamengos-north-hedges-before
z17 after

z17-flamengos-north-after2

...

z19 before
z19-flamengos-north-hedges-before
z19 after
z19-flamengos-north-hedges-after2

landcover.mss Outdated Show resolved Hide resolved
@jeisenbe
Copy link
Collaborator Author

I've pushed a new commit which adds a color variable @hedge: @forest; as suggested by @HolgerJeromin above

@kocio-pl
Copy link
Collaborator

@jeisenbe Could you also split this PR into simple subjects? If not 3 separate tickets, at least citywalls in one PR and hedge in a second one, please.

Another issue: when taking screenshots, could you please make them with the same view window? Some effects are so subtle, that I make image flipping to see the change, but when they are different size, I can't even spot the problem...

@jeisenbe
Copy link
Collaborator Author

jeisenbe commented Aug 29, 2019

I wanted to include the 2 features in 1 PR, because the new widths are the same at each zoom level, so I though it was good to consider the changes together. And the color change for hedges is very minor, so not worth discussing separately.

But if you will review 2 separate PRs, I would be happy to split this one. ;-)

Some effects are so subtle, that I make image flipping to see the change

Some of the images above are the same before and after. ;-) I'm sneaky like that. Citywalls are unchanged at z16 and z18. Hedges are unchanged at z18, so z18 is the same in the before and after images, except for an imperceptible change in the color of hedges:
#aed1a0 before Lch 80,29,135
#add19e after - Lch 80,30,135 (@forest)

I used to export the images from Kosmtik so that they would be aligned before/after, but @pnorman mentioned that it's better to take screenshots since exporting small chunks leads to difference in the rendering, especially label placement. Unfortunately this means the before and after image are not perfectly aligned. I'm not sure if there is an easy solution?

@matkoniecz
Copy link
Contributor

I'm not sure if there is an easy solution?

There are screenshot tools allowing to redo screenshot of exactly the same part of the screen. I am using Shutter (on Linux) that has looped arrow icon on top left of interface allowing to do this.

Copy link
Collaborator

@pnorman pnorman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically this looks fine, but I haven't run it myself, and don't have an opinion on the cartographic changes since I don't deal with city walls much.

Copy link
Collaborator

@imagico imagico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works fine and is a good improvement on the line width stepping IMO.

@jeisenbe
Copy link
Collaborator Author

Thanks. I'll merge this in a couple of days if there are no other comments or objections.

@jeisenbe jeisenbe merged commit 5f069c5 into gravitystorm:master Sep 20, 2019
@jeisenbe jeisenbe deleted the hedge-citywall-width branch September 20, 2019 04:12
jeisenbe added a commit to jeisenbe/openstreetmap-carto that referenced this pull request Sep 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Width of tree_row is less than barrier=hedge at z16
6 participants