User:RicoZ/Landcover, vegetation, soil and geology

From OpenStreetMap Wiki
Jump to navigation Jump to search


Refine current landcover tagging in an extensible way to make simple things simple and complicated things possible.

Distinct mappers will have distinct valid "views" of the same area. Where one mapper sees trees, grass and bushes growing among moraine rocks, someone looking down from a mountain or an aircraft will see a forest. This is currently very hard to map - there is either forest or grass or moraines. Even if one decides to map a forest there is no way to map different vegetation levels like shrubs etc.

In addition most mappers are closely familiar only with some aspects and everyone should be encouraged to map those tag/values combinations for an area that he knows well and feels confident. Consider a mushroom searcher; he is little concerned what his area looks viewed from an airplane or in a geologists survey but wants to map the soil horizon and thorny bushes areas. A pilot flying over the area will mostly map landcover:above=* and keep an eye on grassy planes suitable for emergency landings. A birdwatcher may complement the information by providing description of the vegetation:shrub=* and/or vegetation:canopy=* levels. A geologist in the same area will try to map geology:bedrock=* and geology:sediment=*

Lowres imagery and landcover

For many areas only lowres aerial imagery is available, when mapped those typically tend to become large polygons of low accuracy marked with attributes like source=landsat or similar. This creates significant headaches when highres imagery or ground surveys become available. Mappers typically can not fix the complete area mapped by the old lowres polygons because they know only a small part of it and/or the old polygon covers a too large area to fix in a reasonable time. So the only way to improve such areas would be to split the old polygons to exclude the refined area and map the newly surveyed area anew, however that frequently modifies the lowres polygon in such a way that it is no longer easily visible where it it is in fact lowres inaccurate information and where it has been improved. Quite often the lowres polygons get entangled in multipolygons with detailed features which make it extremely hard to improve anything.



Refine landcover=* to

  • landcover:ground=* - visible ground appearance as seen by a standing person
  • landcover:above=* - landscape appearance as seen looking down from a mountain or on good quality satellite/aerial pictures, where most objects like larger trees and small highways would be visible
  • landcover:lowres=* - landscape appearance as seen by lowres satelites

landcover:above, landcover:ground and vegetation/geology/ground levels can be used as more specific "overrides" for old style landcover/natural/landuse. Those are areas, and the different "levels" may have distinct boundaries, for example an area defined by landcover:lowres=* will typically overlap many areas defined by landcover:above=* and landcover:ground=*

Fallback: landcover=*, natural=*, landuse=* if defined.

Except for the legacy, landcover:ground=* is mostly equivalent to landcover=* and its variants (natural, landuse..). Further improvement over the legacy landcover schemes comes with the possibility to use vegetation levels, as well as geology and soil levels as described in the next sections.


Values can be vegetation, ground, bare_rock, shingles, water etc. Where needed values can be multivalued (using ";") with or without percentages (using ":"). Vegetation can be a specific value such as forest or the keyword vegetation which can be refined, similar for geology/soil.

So for a particular example area there could be

Such landcover:* values are complemented by the definition vegetation, vegetation levels, geology and man made structures/landuse where available.

The more specific tag/value combinations override the more general tags.

Water areas should normally be described using established natural=water or waterway=* tags. However in special cases a landcover:*=water:percentage may be preferable : either in the "lowres" layer where water areas are hard to distinguish or in the detailed layers when either above or in ground view there are areas (such as swamps or mangrove forests) where small water areas are interspersed with vegetation or rock patches.

Areas for which only lowres imagery is available should be mapped with landcover:lowres=*. Once high res imagery or ground survey information becomes available for parts of the area those parts can be mapped using landcover:above=* and landcover:ground=* without touching the obsolete landcover:lowres=* polygons.

Data consumers can pick the most precise and fitting data source for their purposes.

Vegetation and levels

  • vegetation=* - dominant visible vegetation pattern visible from above roughly similar to natural/landuse vegetation related values.
  • vegetation:*=* - vegetation levels and various other refinements


Vegetation values can be from most general to most specialized:

  • yes (usually implicit)
  • forest, scrub, grass and other values common for natural/landuse vegetation related flags
  • multivalued, separated by ";", with percentages such as "forest:50;scrub:30;grass:10"

For the previously mentioned example area the fraction defined by vegetation could be vegetation=forest:50;scrub:30;grass:10

More specialized values such as particular plant species should go into vegetation levels and will refine this definition.


Values could be layman terms like broadleaf/coniferous/mixed, some values of trees=* or values such as used in taxon=*, genus=* or species=*. Can be multivalued with percentages such as oak:35,birch:10

Aquatic vegetation

Wetland vegetation

  • Reefs etc ???? Not really vegetation but perhaps might be covered in as similar manner

Indoor and man made terraces vegetation

Use prefix indoor, eg vegetation:indoor:wetland:canopy=*, together with appropriate tags from Simple Indoor Tagging and/or Simple 3D buildings.

Ground and geology

The data consumer

In principle, the more specific tag/value combinations override the general tags.

The data consumer/renderer will pick whatever it can and wants to use. Large scale maps will use landcover:above to render larger areas in light or dark green, grey, brown or yellow. Hiking maps will give a higher priority to rendering of landcover:ground + vegetation:shrub.

Transport or administration overview maps instead may give a higher priority to landuse and various man made tags.

Old natural landcover and landuse tags

Some natural=* combinations like natural=ridge will be unaffected.

Other natural=* combinations that can be better described with landcover:* will be slowly phased out, typically those describing vegetation or rock types. The new tags are more specific easier to combine with other features and it is expected that data consumers will prefer them over the old combinations when both are available.

landuse=* may coexist in many ways with the new landcover tags. For example an area landuse=quarry may include/overlap several areas like landcover:ground=vegetation, landcover:ground=bare_rock or shingles, perhaps some water areas.

Some landuse=* combinations used essentially as synonym for landcover will be phased out where the new tags are more specific.