gravitystorm / openstreetmap-carto

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

Add rendering for deforestation areas (man_made=clearcut) #4159

Closed GunSmoker closed 4 years ago

GunSmoker commented 4 years ago

Currently man_made=clearcut is not shown.

For example, OsmAnd renders these areas as stumps/stubs. See attached image.

Screenshot_2020-06-10-16-20-24

Adding natural=scrub is an option when deforestation area starts to regrow, but it looks wrong when such area has only grass and stumps.

DSC01036

GunSmoker commented 4 years ago

There is a similar issue: #2531 (landuse=logging) - was closed because scope is too broad and unclear.

imagico commented 4 years ago

man_made=clearcut - 14k uses, 50% of them in combination with natural=scrub.

The tag is conceptionally problematic because it documents a historic event (the cutting) and not the present state. I think we should encourage mappers to document the present day situation by showing tagging of such.

GunSmoker commented 4 years ago

@imagico What would be the tags for "present day situation" for the image above?

jeisenbe commented 4 years ago

What would be the tags for "present day situation" for the image above?

The photograph looks like a grassy field, so it might be landuse=meadow or landuse=grass, though without local knowledge or other information about the area it is hard to be certain. Areas covered by grass might also be a natural=wetland + wetland=marsh or wetland=wet_meadow.

jeisenbe commented 4 years ago

As mentioned, rendering man_made=clearcut as anything other than a hole in the woodland is a problem, because a clearcut can be bare soil (uncommonly), or more often an area with new vegetation such as grass or shrubs, and eventually most clearcuts are replanted and will grow back into secondary woodland. A 10 year old man_made=clearcut could already have 5 meter tall trees in some climates, though it would likely remain distinguishable from the taller surrounding trees. Each of these options is currently rendered differently, when more specific tags like natural=scrub or landuse=meadow are used.

GunSmoker commented 4 years ago

@jeisenbe May be you are right, but since it is deforestated area - it is not exactly grass field. It is full of stumps and ditches.

GunSmoker commented 4 years ago

@jeisenbe I don't quite understand why this could be a problem. If area have clearcut + scrub - draw it as scrub. If area have clearcut + meadow - draw it as meadow. If area have clearcut only - don't draw empty space, draw clearcut.

jeisenbe commented 4 years ago

If area have clearcut + scrub - draw it as scrub. If area have clearcut + meadow - draw it as meadow. If area have clearcut only - don't draw empty space, draw clearcut.

This is possible only if the two tags man_made=clearcut and natural=scrub or landuse=meadow are applied to the same way or relation in the OpenStreetMap database. Then we could only render man_made=clearcut if there were no other tag.

However, it's perfectly reasonable to use 2 different database objects to represent the case where a clearcut, covered in scrub, is adjacent to a larger area of scrub, for example, or where a clearcut is partially covered by grass and partially covered by scrub.

In that case it becomes difficult for this style to provide a consistent rendering. Normally the smallest area is rendered last, but this causes inconsistent results when areas overlap. That means that the case of a man_made=clearcut with 2 smaller grass and scrub areas inside would have those small areas render, but the case of the larger scrub area which also includes the clearcut would be underneath.

Using an pattern overlay would lead to 2 conflicting patterns in the case of scrub or woodland (which also have a pattern). There isn't a good cartographic solution which is technically feasible, as far as I know.

GunSmoker commented 4 years ago

@jeisenbe I am not familiar on how this work technically. But it isn't it the same issue with scrubs in forests? Or swamps inside scrubs/forests? After all, if there is a conflict, nothing stops one from fixing it or creating a different layout?

Is there a way to check how much man_made=clearcut overlaps with other areas?

Adamant36 commented 4 years ago

Is there a way to check how much man_made=clearcut overlaps with other areas?

I'm not sure if it's exactly what your looking for, but you can do an OverPassTurbo query to find objects that are inside of other objects. The first tag is the larger area and the rest is the tag for the smaller area inside of it.

http://overpass-turbo.eu/s/V3r

matkoniecz commented 4 years ago

Case such as https://user-images.githubusercontent.com/3242603/84273617-8d46cd80-ab37-11ea-97eb-3ec88d9f9cc0.JPG can be mapped by editing forest area to not include it.

Mapping it would not take more effort than mapping man_made=clearcut.

A 10 year old man_made=clearcut could already have 5 meter tall trees in some climates, though it would likely remain distinguishable from the taller surrounding trees.

+1

If you want to map that forest was cut down and is not existing in this area? Edit forest area to exclude this.

Adding natural=scrub is an option when deforestation area starts to regrow

Is later an option.

matkoniecz commented 4 years ago

But it isn't it the same issue with scrubs in forests?

I such cases scrubs are usually not mapped.

Or swamps inside scrubs/forests?

This is solved by wetland styling selected in way that works well when overlaid on typical surroundings.

Adamant36 commented 4 years ago

Adding natural=scrub is an option when deforestation area starts to regrow

Isn't there sort of a difference traditionally between a scrub plant and a tree planting that is in the process of growing? I would imagine they are technically different things and I wonder how someone could tell them apart from a satellite photo alone.

matkoniecz commented 4 years ago

It is not a very big issue, as (at least in some climates) initially it will be combination of small trees and scrub plants.

I wonder how someone could tell them apart from a satellite photo alone.

Yes, mapping solely from aerials/satellite images has its limitations.

GunSmoker commented 4 years ago

@matkoniecz Perhaps, I was not clear. man_made=clearcut is already excluded.

The issue is that blank space does not represent what is there, while stumps pattern (as is in OsmAnd app) is a clear indication what you can expect from this area: it is not a clearing in the forest.

GunSmoker commented 4 years ago

BTW,

A 10 year old man_made=clearcut could already have 5 meter tall trees in some climates, though it would likely remain distinguishable from the taller surrounding trees.

Many of landuse=farmland in my area are natural=scrub already (e.g. abandoned). However, it does not mean that I should map unmapped farmland as scrub, thinking "oh, it will probably be scrub here in 10 years or so anyway". WHEN farmland becames scrub - only then can one edit tags to reflect that.

It is the same for natural=scrub growing into natural=wood. You map area as natural=scrub, and if/when it grows into forest - only then you change tags to natural=wood.

Why it should not be the same for clearcut? Yes, it MAY be forest in 15 years, but it also may be not. If man_made=clearcut will grow into something different - then change the tags for this area. But if it did not grow - leave tags out, let it render as clearcut.

matkoniecz commented 4 years ago

while stumps pattern (as is in OsmAnd app) is a clear indication what you can expect from this area: it is not a clearing in the forest.

The problem is that clearcut may be field of stumps, but it may be also a construction site, field, scrubs, small trees etc

see https://wiki.openstreetmap.org/wiki/Tag:man_made%3Dclearcut

former landuse=forest or natural=wood areas, where most or all trees are uniformly cut down (...) If there is vegetation present, add a suitable tag such as natural=scrub for bushes, shrubs and very small trees (transitional scrub) or landuse=meadow for grasses and herbs (transitional meadow). See vegetation for more options.

(if real usage is different the this page should be changed)


However, it does not mean that I should map unmapped farmland as scrub, thinking "oh, it will probably be scrub here in 10 years or so anyway". WHEN farmland becames scrub - only then can one edit tags to reflect that.

Yes, we tag what currently exists.

GunSmoker commented 4 years ago

@matkoniecz Why is this a problem? AFAIK, OSM follows "map what's on the ground" principle, and you should not map historic events and historic features. Which means if clearcut is occupied with something else - you should map this "something" instead.

jeisenbe commented 4 years ago

If clearcut is occupied with something else - you should map this "something" instead.

Right. You can map the grass or shrubs with an appropriate tag. There might be a few months (especially if the clear-cut happens before winter or before dry season) when there is no vegetation, but generally within 9 to 12 months there will be grass or small bushes growing.

I don't think rendering the presence of tree stumps is relevant for a general-use map audience.

jeisenbe commented 4 years ago

Note that landuse=logging is a more common tag for areas where trees have been cut (though ti is somewhat less specific in theory): https://wiki.openstreetmap.org/wiki/Tag:landuse%3Dlogging

Since neither man_made=clearcut or landuse=logging are clearly established as the preferred tag, and the actual vegetation of the area can be mapped with landuse=meadow or natural=scrub (or natural=heath), I recommend closing this issue for now.

In the future if one of the two tags man_made=clearcut or landuse=logging become well-defined and clearly established, we might consider this issue again, though I'm inclined to think that this information is not relevant for a general-use map based on the current mapping practices.

GunSmoker commented 4 years ago

OK, but I just want to note that rendering clearcuts as suggested above does not create any issues in OsmAnd.