gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.53k stars 819 forks source link

Change meadow and grassland rendering #3143

Open Tomasz-W opened 6 years ago

Tomasz-W commented 6 years ago

Currently, this (landuse=grass):

is rendered in the same way as this (landuse=meadow):

or this (natural=grassland):

When grass can reach max. 15-20 cm, meadows and grasslands can reach more than 50 cm. I think they are different levels of landcover, so they should be distinguished on map. For example - you can walk or ride a bike through grass without problem, but is more problematic in a meadow/ grassland, so rendering this features in the same way may be confusing.

My proposition for a start is to use wetland pattern - change it's colour to black, turn 90 degree, and set opacity to 15/25%.

Photoshop mock-up: v2

dieterdreist commented 6 years ago

sent from a phone

On 24. Mar 2018, at 12:09, Tomasz Wójcik notifications@github.com wrote:

Currently, this (landuse=grass):

actually this isn’t the correct application of landuse=grass according to the wiki: https://wiki.openstreetmap.org/wiki/Tag:landuse%3Dgrass

kocio-pl commented 6 years ago

I like this idea. Anybody willing to make the code and test it a bit?

Tomasz-W commented 6 years ago

Another options (click to view full size):

meadow

imagico commented 6 years ago

For reference - the question of differentiating natural=grassland and landuse=meadow was previously discussed in #2433

Tomasz-W commented 6 years ago

@Adamant36

Here is a file with PNG pattern which worked the best set at 10% overlay over landuse=grass colour in my Photoshop tests, but it needs a real test renderings.

meadow

Adamant36 commented 6 years ago

@kocio-pl, is there anything special that has to be done when working with patterns like creating an .md file for it in the generating_patterns folder or something? Or is it pretty similar to working with icons?

Also, I looked through some PR's having to do with patterns, but they all seemed to be related to modifying instead of creating them. So if you can point me to any good PRs or any other resources on using patterns that would be great.

kocio-pl commented 6 years ago

Oh, there's a special tool by @imagico that is used for pattern generation - anyone interested in map patterns should definitely try it:

http://www.imagico.de/map/jsdotpattern.php

Tomasz-W commented 6 years ago

@kocio-pl Should I upload image from above in SVG format? It's just a wetland pattern rotated and recoloured to black, so if it works horizontally, it also should work vertically.

kocio-pl commented 6 years ago

Try to communicate with the people involved in testing rendering what they need, please. I feel overwhelmed with decisions currently, so I try to step back a bit and let people do the work as they like it.

Tomasz-W commented 6 years ago

@Adamant36 In case if you will need also SVG version of pattern, I'm putting Gist link with it:

https://gist.github.com/Tomasz-W/dc2b8fe24c9f50f60b49a40765835d5c

Adamant36 commented 6 years ago

@Tomasz-W OK, thanks. I'll give both a try when I get a chance. It might take a while since I have to poke around the code first and figure out what I'm doing. I don't see why your files wouldn't be good though as long as everything goes OK on the coding end.

meased commented 6 years ago

Definitely play with jsdotpattern. Has the advantage of being able to tune the randomness, density, as well as the dash symbol.

matthijsmelissen commented 6 years ago

I'm not sure if increasing the number of colours or patterns is going to work. We already have a huge number of greens, and I'm not sure if we can add to them while still keeping them recognizable.

jeisenbe commented 6 years ago

landuse=meadow is also used for pastures which are grazed and have low grass. This may be much more common than high grass meadows in some places (eg western USA).

Landuse=meadow can be similar to farmland in usage; it is land used to grow plants used as animal feed, generally.

natural=grassland might have high grass, but it may be low in semi-arid areas or areas with natural grazing animals.

landuse=grass is often used for maintained grass, but not always; it can be grass along railways or highgways that might get quite high and be rarely maintained

So I'm not sure if it makes sense to distinguish between the three tags

Adamant36 commented 6 years ago

@jeisenbe, what do you think about managed/grazing/hey producing grassland being rendered differently from the other two somehow due to it being a subset of farmland/agricultural infrastructure? As opposed to just being a random grassy field somewhere? I think it would help as far as knowing if the fields are passable or private if if nothing else. Plus, human managed versus not. I mentioned it on the Heath issue, but I guess its better answered here.

jeisenbe commented 6 years ago

It would be great if we could show hay meadows and pasture differently.

Unfortunately the tags are not used consistently in the database.

Some places tagged “land use=meadow” are woodland clearings in alpine or wilderness areas, which might be better tagged as wetland=wet_meadow or =marsh. Some areas tagged “grassland” are rangeland used for grazing cattle or sheep.

Armchair mappers have trouble identifying land use vs. natural grassy areas from aerial imagery, and even on survey it can be non-obvious to city folks if that grassy area is pasture grazed by livestock or natural grassland grazed by wildlife.

I’d recommend checking the current use of grassland vs grass vs meadow in your area (California?) to see how is is used in practice.

This may be like wood vs forest; different in theory but not consistent globally On Mon, Sep 17, 2018 at 7:42 AM Adamant36 notifications@github.com wrote:

@jeisenbe https://github.com/jeisenbe, what do you think about managed/grazing/hey producing grassland being rendered differently from the other two somehow due to it being a subset of farmland/agricultural infrastructure? As opposed to just being a random grassy field somewhere? I think it would help as far as knowing if the fields are passable or private if if nothing else. Plus, human managed versus not. I mentioned it on the Heath issue, but I guess its better answered here.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-421846597, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshE8A-ONPUM2W3ugEhgYiwdDkEdcWks5ubtPegaJpZM4S5sgk .

Tomasz-W commented 6 years ago

This may be like wood vs forest; different in theory but not consistent globally

The difference is that managed and unmanaged forest look actually the same. Unmanaged, not cutted grass grows high and allows weed grow, so with the time it becomes meadow. I'm sure there is usually visible difference between these both tags.

jeisenbe commented 6 years ago

But landuse=meadow is used for pasture as well as uncut meadow. In many places landuse=meadow is most likely to be grazed pasture rather than high meadow. And many meadows are grazed after the hay is cut On Mon, Sep 17, 2018 at 4:14 PM Tomasz Wójcik notifications@github.com wrote:

This may be like wood vs forest; different in theory but not consistent globally

The difference is that managed and unmanaged forest look actually the same. Unmanaged, not cutted grass grows high and allows weed grow, so with the time it becomes meadow. I'm sure theres visible difference between them.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-421911007, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshJlCFm-7IbGSAe8ej6FyKg2jYsC0ks5ub0vJgaJpZM4S5sgk .

dieterdreist commented 6 years ago

sent from a phone

On 17. Sep 2018, at 00:42, Adamant36 notifications@github.com wrote:

I think it would help as far as knowing if the fields are passable or private if if nothing else.

you can not see this from the landuse or ownership, at least not generally. E.g. in Germany everybody has the right to access fields and meadows as long as they aren’t fenced and you don’t harm the crops.

Plus, human managed versus not.

+1

dieterdreist commented 6 years ago

sent from a phone

On 17. Sep 2018, at 09:14, Tomasz Wójcik notifications@github.com wrote:

The difference is that managed and unmanaged forest look actually the same.

living in a city? These are quite different and easily recognizable in many/most(?) cases

jeisenbe commented 6 years ago

Oh no, not the landuse=forest vs natural=woodland debate! :-)

Highly managed “tree farms”, where the trees are all the same age and species, and are evenly spaced, are easy to see.

But some areas with trees are used for timber and firewood but allowed to reseed naturally. These woodlands can look natural, but they are used by the local community.

And in North American, areas that now look like untouched wilderness may have been managed by Native Americans by occasional burning. The Yosemite valley looks like a natural meadowland, but the open areas were created in this way

On Mon, Sep 17, 2018 at 4:23 PM dieterdreist notifications@github.com wrote:

sent from a phone

On 17. Sep 2018, at 09:14, Tomasz Wójcik notifications@github.com wrote:

The difference is that managed and unmanaged forest look actually the same.

living in a city? These are quite different and easily recognizable in many/most(?) cases

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-421912899, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshC6N_O0FIPmiPuwCh1Ucf2RhTmfmks5ub038gaJpZM4S5sgk .

jragusa commented 6 years ago

Overall, the question should be: is it important to the visitor to see what is managed or not ? I don't think so. This is also the case on official topographic maps.

Adamant36 commented 6 years ago

@jragusa, I think it would be useful as far as if its managed its an extension of farmland and it would be uuseful to dispay it as much somehow. I think it would help with people tagging it properly at least. Which is a problem as jeisenbe says above. Otherwise, we consolidate all three together under the same color and everyone just tags them randomly at their whim at the time. The wiki etc does set distinctions. To me making grassland under farmland/managed land somehow makes sense as a way to help show that. Im sure theres others l, but we are sort of low on options. I dont think this map is catering to "visitors" of anywhere either. Its catering to mappers to help them improve tagging. Theres a ton places in California where I map that have really scrued up mapping of grassland/meadow/grass/park/scrub/heath/recration ground/whatever other random tag dealing with green things. I make the mistake myself sometimes. We could also go with patterns, but from what I understand that slows the rendering down a lot and isnt as intuitive in some cases.

jragusa commented 6 years ago

In this case, I'm not against to move meadow with farmland if we consider hay as a farming production.

jeisenbe commented 6 years ago

In OSM landuse=meadow is often a type of farmland, but this tag is also used for “natural” meadows in woodlands and mountains. A number of places in the high Sierra Nevada mountains named “X meadow”, and they are protected wilderness areas.

The real-world use of the 3 grassland tags is very mixed up. Hence the decision to render them all the same up till now.

On Tue, Sep 18, 2018 at 5:20 PM Jérémy Ragusa notifications@github.com wrote:

In this case, I'm not against to move meadow with farmland if we consider hay as a farming production.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-422301014, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshNtOxwk7d2-hkeFw4NpYDmKyGTLRks5ucKy9gaJpZM4S5sgk .

Adamant36 commented 6 years ago

Just because they have meadow in the name doesn't necessarily make them meadows. Just like how in northern California there's a lot of waterways containing the name "creek" that are really rivers by the OpenStreetMap standard. In the sierra Nevada specifically a lot of it protected, but there is also a lot that is free roaming cattle areas. Even the protected land because some farmers up there don't have respect for federal land rules. So they let their cows run wild in the national and state parks. Especially on the Nevada side. That being said, I was more talking about fenced in areas, large or small, where the hay is regularly cut down or it is at least obvious that it is at least cattle grazing land. Some of it is close to other farm related things like farmyards also. So it is easier to spot.

From what I understand of your argument, your saying we shouldn't classify meadow as a type of farmland because of how some people map it. I've made the counter argument that the cases where it is not mapped as a farmland subset is essentially miss taging and rendering it as a type of farmland would help deal with that. Personally, I would refer to the wiki on this. It says landuse=meadow is "mainly used for hay (meadow) or for grazing animals (pasture)." Which sounds correct to me. We shouldn't base our rendering on the mappers that choose to use the tag wrong. The "real-world" use can be as mixed up as it wants, but the wiki sounds clear on it. meadow is cultivated (agricultural), grassland is none cultivated (wild), grass is obvious.

Tomasz-W commented 6 years ago

It becomes more a tagging discussion than a rendering one, I propose to wait for test renderings with proposed pattern. Then we decide what it is good for (or not).

dieterdreist commented 6 years ago

2018-09-18 12:35 GMT+02:00 Adamant36 notifications@github.com:

Just because they have meadow in the name doesn't necessarily make them meadows.

+1, even more as for tagging we are not interested in the usage of the English language in different parts of the world, we focus on usage in England.

Tomasz-W commented 5 years ago

Proposed meadow/ grassland rendering: meadow

jeisenbe commented 5 years ago

Heath would need a pattern as well, if we add this, because scrub and woodland have patterns. Heath is dwarf scrub, botanically. On Sun, Nov 18, 2018 at 6:54 PM Tomasz Wójcik notifications@github.com wrote:

Proposed meadow/ grassland rendering: [image: meadow] https://user-images.githubusercontent.com/25656654/48670890-38400280-eb20-11e8-9482-480a8842ba29.jpg

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-439680472, or mute the thread https://github.com/notifications/unsubscribe-auth/AoxshBA7G7HaqhocE13ULYqSt_hXaffTks5uwS5OgaJpZM4S5sgk .

jeisenbe commented 5 years ago

Grass vs Meadow/Pasture vs Grassland

We still need to address the issue raised in #2433

At the time it was said that: "Mapping practice shows no consistent difference between areas mapped as natural=grassland and landuse=meadow. Locally there are sensible uses of these tags for different purposes but globally it is just a huge mess - quite similar to wood/forest. So the decision was to not make this distinction in rendering."

Links to overpass queries around Hamburg, Germany as examples: http://overpass-turbo.eu/s/k0m http://overpass-turbo.eu/s/k0l

The PR #1655 merged the color of meadow and grassland. So currently we render all areas of grass the same.

Has the mapping situation changed in the past 2 years? Can we consistently distinguish grassland from pasture or meadow? Can we distinguish pasture from landuse=grass or village green?

The wiki pages for landuse=grass:

"A tag for a smaller areas of mown and managed grass for example in the middle of a roundabout, verges beside a road or in the middle of a dual-carriageway.

There are presently many instances of landuse=grass used for any grass - for example patches of grass between tracks in railway corridor - within area tagged with landuse=railway. "

So landuse=grass is not necessarily highly managed or mown.


Wiki for landuse=meadow:

"Used to tag an area of land primarily vegetated by grass plus other non-woody plants, mainly used for hay (meadow) or for grazing animals (pasture)."

Note that pasture is tagged the same as meadow.

Cattle in pasture:

Uncut hay meadow, England:

Making hay, England:

Hay bales in a cut meadow / hay field:

Pasture in England:


Wiki for natural=grassland:

"Areas where the vegetation is dominated by grasses (Poaceae) and other herbaceous (non-woody) plants."

Note that the original proposal in 2008 has "Areas where the vegetation is dominated by grasses..." but "Natural areas..." was added from 2011.

Also, from 2015 to June 2018 the page had this section:

_"Idea that wikipedia:Lawns are just "area with managed grass" isn't new. Here is how you can tag it more precisely. It was also noted that decorativeness of the lawns/grass/managed grass is due limited number of species=*.

natural=grassland - "area with grass", required grassland= - optional, same definition operator= - if grass is operated de jure, optional managed= - if grass is physically operated, optional surface= / landcover=* - to describe landcover, optional. If we were re-tagging objects each season, then value of this tag would change most often."_

This suggests a "natural=grassland" can be managed meadow, pasture or recreational grass?

Here are some images from Wikipedia of natural grassland biomes from different parts of the world. There is a large variety in height of the grasses and the presence of shrubs:

Grasslands National Park, Saskatchewan Canada (short-grass prairie / steppe)

Grassland in Spain:

Serengeti savannah, East Africa:

Mongolian Steppe:

American Tallgrass Prairie:

Patagonian grasslands (grazed by cattle)

Highland semi-desert grassland in Antelope Valley, California

Savannah, South Africa:

Grassland in Patagonian desert, Argentina:

Prairie in Alberta, Canada

Bushveld in South Africa (patches of scrub and grassland)

jeisenbe commented 5 years ago

Having said all that, here are some real-world test images with a horizontal dash pattern for grasslands, similar to what was used in the OS map legend. Perhaps this looks better than the vertical dash pattern.

There are also some marshes in these images; even though the pattern is similar in shape, the different color is distinct enough, I think.

Meadow/pasture are not given a pattern, for contrast (Also, I do not think they should be rendered differently than landuse=grass)

  1. Pattern horizontal dash:

z14 pasir-putih-shorter-dashes

z15 siekposi-z15-shorter-dashes

z16 wesaput-z16-shorter-dashes

These test areas were mapped by myself based on survey plus aerial imagery; meadow represents land that is transitioning from farmland back to scrub and the scrub is mainly transitional to forest (or sometimes on poor soil), while the "natural" grasslands are rocky hills where the grass is maintained by occasional burning, rather than grazing. Farmland is mainly sweet potato fields, with some rice, taro and other vegetables.

EDIT: originally posted to wrong thread, sorry

jeisenbe commented 5 years ago
  1. Pattern: This was an example of grassland with a very short vertical dash pattern (light green):

grassland-dashes

Tomasz-W commented 5 years ago

I would have no problem with the same rendering for meadow and grassland, because as they have some differences between each other, thry are also quite similar feature, and we sometimes reuse the same icon/ fill for quite similar objects.

@jeisenbe Can you rotate a pattern from https://github.com/gravitystorm/openstreetmap-carto/issues/3143#issuecomment-441346233 90 degree to make it vertical (as plants grow vertically, not horizontally ;) )? I think it could be even set darker (less transparent) to make it more distinguished from landuse=grass.

jragusa commented 5 years ago

Do not forget that OSM is not only dedicated to mappers but also to a general public. Creating very accurate distinction between such kind of features does not necessary improve the map but can also create confusion due to the great diversity of colours and patterns. Otherwise, vertical pattern is fine.

jeisenbe commented 5 years ago

@jragusa re: "Creating very accurate distinction between such kind of features does not necessary improve the map but can also create confusion due to the great diversity of colours and patterns."

Agreed. If any sort of grass is going to get a pattern, the pattern will need to be subtle and unobtrusive, while also being very intuitive. A tall order! It also should not be easy to confuse with heath, scrub, marsh, bog or other landcover patterns. We'll see if this is possible.

@Tomasz-W, you are right that the pattern ended up a little light, because the original icon was a little too thin. It was meant to be a couple percent darker.

The pattern is a symbolic representation and maps are flat, so horizontal lines can be a valid representation for grasslands. The Ordinance Survey used such a symbol for rough grass; see the recent comment in #780 showing the patterns used on OS maps in the past: https://github.com/gravitystorm/openstreetmap-carto/issues/780#issuecomment-441338856

But here are some tests with the same pattern rotated vertically. Happy birthday! ;-)

(Current master for comparison) Snowdonia National Park, Wales; z14 and z16 snowdonia-z14-master

snowdonia-z16-master

  1. Vertical dash grass with vertical dash heath patterns: z14 z14-vertical-grassd6f1ba-heathd9deb0-vertical z15 z15-vertical-grassd6f1ba-heathd9deb0-vertical z16 z16-vertical-grassd6f1ba-heathd9deb0-vertical Notice how in the first and second pictures it can be difficult to distinguish grassland (with pattern) from meadow (no pattern) where heath is overlapping due to tagging mistakes. Currently heath has no pattern so it is not obvious when an area of heath overlaps an area of natural=grassland or landuse=meadow or landuse=grass.

But with the pattern there is a risk of confusion. It's good for the patterns to show with overlapping landcovers, so mappers will realize there is a problem in the data that needs correcting. Currently this happens when scrub or forest overlaps another landuse; the green or shrub symbols show up on the other color. But those symbols are fairly easy to recognize and they are distinct from one another.

Below I've again shown horizontal dashes for grass and vertical for heath. In this case it is more obvious when the dashes are from different types of grass versus heath overlapping the grass area.

4. Horizontal dash grass, vertical dash heath z14 z14-grassd6f1ba-heathd9deb0-scrubc8d7ab z16 z16-grassd6f1ba-heathd9deb0-scrubc8d7ab

If heath has a more bushy pattern, it is even easier to distinguish heath from grass: 5. Vertical grassland, bushy heath z14-vertical-grassd6f1ba-heathd9deb0-scrubc8d7ab-bushy z15-vertical-grassd6f1ba-heathd9deb0-scrubc8d7ab-bushy z16-vertical-grassd6f1ba-heathd9deb0-scrubc8d7ab-bushy

6. Horizontal grassland, bushy heath z14-grassd6f1ba-heathd9deb0-scrubc8d7ab-bushy z16-grassd6f1ba-heathd9deb0-scrubc8d7ab-bushy

I tried a few patterns for grass that use a less abstract icon, but I don't think these work well with the scrub icon; they are a little too big and too detailed:

7. Mix of two representational "grass" icons. (I've also been trying these icons for the heath pattern): z14 2-grasses-z14 z16 2-grasses-z16

8. Mix of 2 marsh-style icons (similar to those used for current marsh pattern): z14 grass-marsh-z14 z16 grass-marsh-z16

9. Marsh-style icon shrunk to 80%: z14 small-marsh-grass-z14 z16 small-marsh-grass-z16

Perhaps we could try a more abstract icon, with 2 to 4 near-vertical lines in one icon like:
IlI or lI or llIl

I've still not had enough bandwidth to download Inkscape, so I won't be able to make any new svgs for the next couple of weeks.

Tomasz-W commented 5 years ago

@jeisenbe

jeisenbe commented 5 years ago

Looking over all of these options, they all seem to make the map too busy, especially since heath would be getting a pattern at the same time. The more subtle patterns are less irritating, but I can't say that I like any of them.

Since the goal is to distinguish between landuse=grass and natural=grassland (with landuse=meadow combined with one or the other), we could consider using a subtly different shade of green. There are already too many greens, but if we follow the plan in #3517 to combine golf, campsites and leisure, then we would be able to reuse the current campsite / caravan / picnic site color, #def6c0

This color is close to the current grass color, but a little lighter and less saturated, making it a potential choice for natural=grassland. The change would also have the benefit of making grasslands a little closer in lightness to farmland, and farther from scrub and forest. This gives more room for picking a good heath color. However, it would still be close to the current grass, so it would be subtle difference

I might also try all grass in this color, even if we decide not to distinguish landuse=grass from grasslands or meadows, because it works well with the new farmland color.

Left grass #cdebb0; middle campsite #def6c0; right new scrub #c8d7ab; grass-campsite-scrub-colorpicker

Left farmland #eef0d5; middle campsite #def6c0; right park #c8facc; farmland-campsite-park

Left Social Amenities ffffe5 , middle campsite #def6c0; right leisure #defce1 ** social-campsite-leisure-colorpicker

The grayish background in all the images is land-color (the color of untagged land)

Is anyone interested in seeing tests of this idea?

(**I think this is the current leisure color; this is the disadvantage of using "lighten 5%"; is that hsla?)

vincentvd1 commented 3 years ago

That would be this. For now landuse=grass and natural=grassland are the same and landuse=meadow has the same color as the old camping_site.

The golf course, camping and park are still distinguishable because they have different symbols and outlines.

For natural=grassland you could make a grass symbol and give it the same color as either grass or meadow.

Maybe the meadow can be a tiny shade darker but other then that it seems fine to me.

Z18 vivaldi_Dnwl0p4mAI

Z15 vivaldi_PhOUBMY6Iw

Z17, camp_site with new color vivaldi_7D3o0NUmUr