-
Notifications
You must be signed in to change notification settings - Fork 822
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
Use a random symbology for forests #1242
Conversation
This adds a random symbology for forests, lightens forests, and unifies natural=wood and landuse=forest rendering. Using http://www.imagico.de/map/jsdotpattern.php a random pattern was generated from the SVG <path d="m 3.5,0 -3.5,3.5 0,0.5 0.5,0 2.5,-2.5 0,2 -3,3 0,0.5 0.5,0 2.5,-2.5 0,5.5 1,0 0,-5.5 2.5,2.5 0.5,0 0,-0.5 -3,-3 0,-2 2.5,2.5 0.5,0 0,-0.5 z" fill="rgb(58,135,39)"/> <path d="m 10.5,0 a 2.5,3 0 0,1 0,6 l 0,-1 a 1.5,2 0 0,0 0,-4 a 1.5,2 0 0,0 0,4 l 0,1 a 2.5,3 0 0,1 0,-6 z" fill="rgb(58,135,39)"/> This was then converted with GIMP into a PNG which Mapnik can use. The forest fill was lightened, but there are now darker symbols on. This necessitated adjusting the text colour for forests, which was done in Lch colour space. The frequent symbols also required some halo adjustments. There are multiple interpretations in use of landuse=forest vs. natural=wood. Rather than attempt to sort this out when the tagging has not settled, the same appearance is used for both. This commit doesn't use different symbologies for different types of forests (mixed/coniferous/broad_leaved/palm) (gravitystorm#822), but that can be considered later. Fixes gravitystorm#938 Fixes forest part of gravitystorm#937 Closes #6
Some more examples |
IMO the "icons" are to turbulent if there are large areas shown. Probably because it is sharper than the old version. |
How would you suggest improving it? |
New icons are too visible for me - comparing to the old ones it is bigger and consists of pair of symbols. I would make it the same size as before and use only one symbol instead of a pair (512x512 box gives us a comfort of using both symbols semi-randomly, we don't have to squeeze them all in every point).
Is there a way to avoid it or we're bound to it by the nature of the overlays? I think that for example glades/clearings should be clean. It is easy to recognize them as part of the forest just because they are completely surrounded by it. Also some residential areas can be placed inside the forest/woods, but if we need to show the trees there, we should just extend the forest area to cover it. |
I might have misunderstood the comment above, but glades/clearings where there aren't trees will be holes in the existing multipolygon (or need fixing). Similarly for residential areas inside such areas. |
Maybe I got it wrong - the icons will be visible only if the other landuse is NOT an inner relation element (forest being the outer one)? I would support it then, since sometimes included landuse is so full of trees, that you can't really say the forest stops on the edge of it, yet it is useful to see this landuse being there. |
First of all the color seems an improvement from the examples shown and unifying it with forest seems a good idea as well. Now the critical remarks:
Generally with regards to landcover overlays (in particular also for wetland) i thought about introducing a lower way_area limit in the range of 10-100 pixel to avoid irritating isolated partial symbols. This of course will lead to problems with fine grained splitting of mapping but i am not sure how much problem this would be in reality. Here my quick try with random symbol selection and triangle shaped conifer symbols: I would also consider making the symbols smaller even if this makes them blurry - at 80 percent size they are still recognizable and the more blurry lines could make them less disturbing. |
The name of the forest is more important than the icons. So i would make the icons much lighter. |
Broadly I think this is a good discussion with plenty of salient points. Many thanks to Paul for the work he has put in so far. I really have only one point to add which is about the choice of a dual tree symbol rather than a single tree. The idea was taken from the Thunderforest Landscape layer, but the principle behind this choice is important. A choice of any single tree symbol as a generic symbol will always be inappropriate somewhere in the world, the current (conifer) symbol is really only appropriate in northern areas (boreo-temparate zones). A broad trawl through a variety of sources failed to find single tree symbols which are not instantly recognisable as either conifer or broad-leaved, so either one has a dual symbol or a mixture of two symbols (as suggested by @imagico). At least for me, one of the ideas of this woodland cartography is to encourage better tagging of forests and woods, either with the currently supported wood tag or the leaf_type tag. I would therefore like the symbolisation to discriminate between undifferentiated woodland and the main types: coniferous, broad-leaved, and mixed. If the symbology of the undifferentiated woodland is less attractive than those tagged with a type, this may result in more attention to this matter by mappers. In this case the paired symbology would be distinct from the random symbology which I would reserve for wood/leaf_type=mixed. I know advocating use of a perhaps sub-optimal symbology as a nudge for better mapping might go against the grain, but there it is. A minor point, I do thing @imagico's triangular conifers work better, not necessarily in their own right, but the in the current version the broad-leaf symbol looks much more stylised than the conifer symbol. Changing to the triangular form reduces that discrepancy. |
I like this very much and think that this is definitely an improvement. I'm also in favour of lightening forest. Some comments/suggestions:
|
I also find it an improvement
|
That is a good point. Still as long as the type is not rendered it is really not necessary to reserve the good looking style for mixed type woodland. When support for differentiating types in rendering is added the unspecified type could be easily downgraded to a less attractive pattern. One option to improve the paired rendering would be to randomly swap the pairs. Triangle vs. branches - i have to admit i am probably somewhat biased in this regard since i am very used to the German tradition of even more abtract open triangle/circle shape rendering. I do not consider this a very important aspect, keeping the connection to the traditional rendering in the OSM-style has advantages too. |
Glades and clearings would not normally be within a forest polygon. |
What about multipolygons? |
ColoursThe colour has not significantly changed from the old wood colour, so basically any issues with
Yes - new forest to scrub distance is insufficient at 5.9. It wasn't great before with old wood/scrub at 7.1. for reference, residential/land is 6.4 and commercial/retail is 7.7. Of course, they both have symbols. I'll take another look at all three colours, as I'd like to have a consistent hue for all three.
About as bad as before. I want to adjust road colours, but not in this PR.
new forest/water contrast is 27.2, which is actually an increase from old wood/water and scrub/water. Darkening the water (or forests) wouldn't increase contrast much - the difference between them comes from the chroma and hue angle. Polygons
Multipolygons do not normally exist in the rendering database but in any case, it remains the same - a clearing within a forest will have had a hole cut out, and that hole is not within the polygon. Regular patterns
Removing the difference between SymbolsThe choice of a dual symbol is quite intentional - I need a symbol that does not imply one type of tree or mixed trees, but an unknown type. Unfortunately, I can find no single icon that does that. Suggestions are of course welcome, but both myself and @SK53 looked for a generic tree symbol and couldn't find one. The triangle symbol is an improvemnt, as it has the same amount of stylization, and also will probably work better at smaller sizes. I will be re-generating with a new symbol, making use of the undocumented symbol list feature to give different left/right pairs. Text
That is basically what it is doing - the colour chosen is a mix of the forest background and white. The name colour could use some adjustment. I'm not particularly sure it's any worse than the old labels or the old park label. More in the next couple of days when I can work on it again |
While I would prefer the randomised mix of symbols, if you want to go with the dual symbol the trees could be slightly shifted vertically against each other, so they do not stand too neatly on the same line. |
I thought that if we're not sure what type of trees are in the forest/woodland, we may make a pair of different trees, but in a V-shaped icon (common roots would suggest ambiguity more than two paralell symbols). But then I thought this may be too complicated (especially because we have limited pixel matrix) and we could make one mixed symbol like that: a triangle based symbol with peak on top, but also with a rounded bottom. |
Thanks for addressing the issues brought up. ColorYour deltaE values are in line with what i would have assumed - other close colors are probably orchard and vineyard. But in practial application differences in brightness are much more important than in tone since output devices, in particular the more crappy ones (laptops, office monitors) are much worse in differentiating color than in differentiating brightness. My suggestion would probably be to lighten the pattern color a bit but to keep the base color as it is for the moment - the number of very similar green tones currently used for area coloring is not really discernable though - this will need to be either extended to brighter colors for the various grass tones or by unifying different types and differentiating only by pattern. SymbolsI am not really convinced that a mixed pattern is not an option as long as the woodland type is not taken into account at all - see my reply to @SK53. The paired pattern works very well as an indicator for missing tags encouraging the mapper to add them but if more precise tagging does not lead to a change in pattern this effect is wasted and counterproductive. The paired trees do look much better with random swapping IMO - if they are put fairly close together so they really function as a single symbol: |
@polarbearing I had already mention to pnorman that offsetting the two icons might enable getting them even closer, but havent yet tried it. @kocio-pl the common root is a great idea, but probably doesnt work at this scale. One other thing I noticed looking at British Ordnance Survey maps is that tree symbols have a 'foot', presumably representing a shadow (from the NW): Again this might be too busy for the scale, but again I think its probably something to note for future use. @imagico I experience a slight optical illusion with the icons appearing to slant away from the triangle (conifer) side so it might need a bit of tweaking. |
This is to be expected with the triangle shape close to something else on one side. But i suppose such effects are much weaker in actual use of the pattern (lower contrast and combined with other elements). But there certainly is room for variation. |
@imagico: Such smaller and more abstract symbols glued together are acceptable for me for a general forest. What I'm also interested in is how will we render each type of forest (especially mixed) in this case - it should be visually more "attractive", to encourage mappers to tag more details. |
Agree with all the above remarks. It needs more subtlety, most likely starting with a lighter color of the symbol (example @nebulon42), and possibly smaller icons, and maybe less dense. The first - not paired - example of randomized symbology of @imagico also seems to hold some promise. |
There are just too many shades of green, and it couldn't be reliably differentiated from all the others before
The tree symbol has been changed and re-generated. grassland is also merged in with grass. It wasn't distinguishable before, and there were just too many shades of green.
As for me, the name name of the forest is hardly visible and the icons are a bit too dark (but at least now they have proper size and shape). |
I think this is an improvement, the changed base color is now a bit closer to the water color again though. I would still lighten the pattern symbols to be somewhat less prominent, maybe in turn use a somewhat denser pattern. This would improve readability of the labels as well. Not too sure about the grass color change - unifying grass and grassland is a good idea - on high zooms grassland could use a pattern for distinction though (but that's for a separate change). Making it less yellow makes it less distinguishable from other greens however. The yellow tone might seem less intuitive in humid regions but it is actually quite fitting in other parts of the world where grassland usally dries up during the dry season. |
and for location provided by @nebulon42 (#1242 (comment)) https://cloud.githubusercontent.com/assets/899988/8937920/ae130a8a-355b-11e5-9eb5-603cd4c6de60.png |
For me this example proves it further that z>=12 is too early: z12 is worse and z=13 is better, but worse than with no pattern, because tracks are too dense. Probably z=14 and z=15 could gain some readability if the pattern was toned down. |
Ok - i have some more options here. First of all i moved away from the tree pair concept. We have seen a lot of variations of this already but it is very strong and possibilities to weaken its appearance while keeping it readable are limited. And ultimately it might make more sense to simply use no pattern at all for woodland of unknown composition - it well communicates something is missing (i.e. supplementary tags). So the following suggestions include different variants for First the simple tree symbols that were already used above in a denser and a coarser arrangement. Color is fairly low contrast similar to the last one @matkoniecz showed. The coarser pattern looks less noisy in the abstract sample of course but keep in mind that with small polygons large symbol distances often do not work well. Second are somewhat more complex tree symbols - the broadleaved one is already used in the swamp pattern. In my opinion these might work better since they are more intuitive especially in cases where the shape is not perfectly clear (due to low contrast or other interfering elements). As a third possibility i tried a pure structure pattern without distinct symbols. This is kind of meant to resemble a view from above. The mixed variant is somewhat difficult to get right of course. Two variants with slightly different settings: The huge advantage of this would be it does not require the symbols to be readable, it works with less contrast between pattern and background color and has less problems with small polygons. But of course it is also less explicit in meaning. And finally a quick glance on the possibility to illustrate leaf_cycle by varying the overlay color. Not sure if this is a good idea but might be worth testing. I won't test all the different variants in actual rendering but you can try out the ones you find promising yourself - here are the pattern images: http://www.imagico.de/files/smixed2_overlay.png http://www.imagico.de/files/cmixed2_overlay.png http://www.imagico.de/files/mixed4_overlay.png |
very nice work Christoph. From the icons I prefer the more complex ones, especially that they are "grounded" by a small piece of soil/cast shadow, this is an important graphical detail the simple symbols are missing. I also like the abstract "top view" a lot from a graphical point of view but I feel that it might suggest more detail than there is actually mapped (especially in the mixed version but also in the others, people might think that these are actual trees rather than just an abstract representation of a kind of tree). |
@imagico: good work, I like the subtle colors and symbols of the latest suggestions, we're finally getting in the direction of something that would not dominate the entire map, but meld-in with the rest. Personally, I am in favour of the simple small symbols and a coarser pattern density, but with the subtle colors you used, the complex symbols aren't that distracting anymore, although I would still recommend the sparse distribution for those symbols. The idea of the "patterns" is a nice one as well, although you may be right, that this is less meaningful. I do think it would be nice to see some real world examples of the use of this pattern though against the true data, instead of the sample squares presented here, to get a more informed opinion about this option. |
Minor comments:
Again I think the Krakow example should be tested with these: I was quite surprised how intrusive the symbology was at that scale, and felt that we had missed capturing something subtle from similar printed maps. |
From your examples - note how on and https://upload.wikimedia.org/wikipedia/commons/6/64/Country-side_around_Troitsk%2C_Moscow.png tree symbols are kept from intersecting paths/roads. (full image - https://camo.githubusercontent.com/e2c3f41b34f67b5f217369ac4b1bb9a07cb3bbfc/687474703a2f2f692e696d6775722e636f6d2f31704f354d4c762e706e67 ) |
@matkoniecz Indeed, but this is not something we can do with the current approach as an overlay. I suspect the OSGB StreetView actually cuts out the green pattern for forests/woods entirely when a path or track is shown, but 1:50k OSGB does not do that http://binged.it/1VUHvdf (and multiple overlays make it fairly difficult to read). |
Thanks for the comments.
Abstract 'german style' triangle/circle symbols are here in two different sizes: The small ones probably need a better contrast to be readable. |
I think this symbols better than others: |
I strongly support dropping pairs. This was more or less my preferred idea (I just wanted the pairs to be used only for unspecified type of forest), thanks for picking it up! I prefer complex tree symbols sparse, because they are easiest to recognize and won't clutter the area. I guess even natural=wood, which is commonly used for smaller tree areas, it would be still usable, however field test would be needed. BTW: I think unification could also include landcover=trees tag, since it's quite popular and we have probably no other neutral way of describing tree areas. Lack of wiki page is easy to fill, I will ask about it on Tagging list. |
sent from a phone
these look like actual trees (surveyed), not merely abstract symbolic fills |
I would not worry about leaf type right now, as that's out of scope of this issue. |
IMO it makes sense to plan ahead and consider the possibilities to show leaf_type and possibly leaf_cycle. As said the idea would be later when leaf_type can be rendered to not render the pattern any more in areas not tagged with leaf_type and until then use the mixed version as temporary pattern. I did not mean to hijack this PR - if you or anyone else want to further evaluate the tree pair concept of a different generic approach that is fine - i just have my doubts this will lead to good results now and the question remains anyway how this can be extended to differentiate leaf_type. |
I think that pairs are slightly uglier than individual tree - and it is not a problem. Once hstore will be available this style may represent forests with missing leaf_type, and forests with supplied leaf_type may use a proper and prettier pattern like proposed in #1242 (comment) |
closing in favour of #1728 |
This adds a random symbology for forests, lightens forests, and unifies natural=wood and landuse=forest rendering.
The colours for
landuse=forest
andnatural=wood
have been unified and slightly lightened.z10
At higher zooms, a randomized symbology has been added, designed to not imply a particular type of forest.
z15
z16
As the new symbols are an overlay, they show even if there is another landcover within the forest.
z15
They are a repeating 512x512 pattern, which is hopefully large enough that the repeating nature of the pattern can't be seen.
z16, original not shown
With woods and forests no longer being primarily one colour, the name text and halo was reworked
z17
Unfortunately I was unable to find a tree symbol that does not imply something about the type of tree, but this does open up the door to using different symbols for different types of forests (#822)
landuse=forest
andnatural=wood
now render the same. For some mappers there was a difference between what they meant - unfortunately the difference varied among mappers, making the two different tags effectively the same globally (#647 (comment)) and the distinction between them useless. This was also not captured in the existing cartography.Fixes #938
Fixes forest part of #937
Closes pnorman#6
Thanks to @SK53 for symbol selection and @imagico for the point generation tool.