Landuse mapping in OpenStreetMap – Mapping Styles and Age of Data

Michael Reichert
State of the Map Europe 2024, Łodz

## Content * Motivation * Tagging * Coverage and overlapping polygons * Multipolygon relationen * Glued vs. unglued polygons * Data age * Technical details

Motivation

Define Land Use …

landuse = * waterway = * natural = * military = *

Außer:

landuse =
winter_sports

natural = bay, strait, mountain_range, crater_rim, peninsula, valley, plain, fishing_bank, flat, isthmus

military = danger_area, nuclear_explosion_site, office

Auch:

amenity = police, fire_station, prison, nursing_home,

tourism = camp_site, caravan_site, zoo, theme_park

man_made = wastewater_plant, water_works

leisure = playground, dog_park, sports_centre, water_park, golf_course, stadium, ice_rink

## Feature Classes ![Distribution of feature classes](plots/feature_classes_with_overlaps.svg)
## Overlapping Landuse Polygons ![Distribution of feature classes](plots/overlaps_matrix.svg)
## Feature Classes ![Distribution of feature classes](plots/feature_classes_without_overlaps.svg)

Multipolygons (Introduction)

simple way

Way 1: landuse=forest

Multipolygons (Introduction)

Multipolygon relatin with one inner ring

Relation 1: type=multipolygon + landuse=forest
Way 1: no tags
Way 2: any tags

Multipolygons (Introduction)

Multipolygon-Relation mit zwei inneren Ringen

Relation 1: type=multipolygon + landuse=forest
Way 1: no tags
Way 2: any tags
Way 3: any tags

Multipolygons (Introduction)

Multipolygon-Relation mit zwei äußeren Ways

Relation 1: type=multipolygon + landuse=forest
Way 1: any tags, e.g. highway=primary
Way 2: any tags, e.g. highway=track

## Proportion of Multipolygons (Number of Objects) ![Plot simple polygons vs. multipolygons](plots/multipolygons_vs_simple_polygons_bar.svg)

Unnecessary Multipolygons (Definition)

## Unnecessary Multipolygons per Cell ![plot histogramm multipolygonitis per cell](plots/multipolygonitis_histogram.svg)

Unnecessary Multipolygons per Cell

Separation of Roads and Landuse

Landuse Connected with Roads

Landuse Separated from Roads

Landuse Separated from Roads

Roads Sharing Nodes with Landuse

"glued" roads releative to road network length

How Old Are Our Forests?

Screenshot JOSM of a forest from 2008

Forest near Eiterfeld (Hesse, Germany) from 2008 (likely mapped with Yahoo or Landsat imagery)

## How to Determine the Age of a Way? History is difficult to process: * splitting of ways * relations: changes to the list of members * mechanical edits on tags * adding a single nodes → Solution: Timestamp of the nodes (latest version)
## Median Age of the Nodes of Landuse Polygons ![plot histogramm median of node age of the polygons](plots/polygon_median_age_histogram.svg)
## Median Age of the Nodes of Landuse Polygons per Grid Cell ![plot histogramm node age](plots/node_median_age_histogram_municipality.svg)
## Median Age of the Nodes of Landuse Polygons per Country ![plot histogramm node age](plots/node_median_age_scatter_by_country.svg)

Where are the old polygons?

Median age of landuse nodes per cell

## Technical details * Data import: Osm2pgsql, flex output, custom configuration, slim tables (for nodes!) * Processing: PostgreSQL and some Python (via Jupyter Notebook) * Plots: Matplotlib * Maps: Shortbread, Versatiles Neutrino, Martin, Maplibre GL JS https://github.com/nakaner/landuse-analysis
## Questions? Michael Reichert osm-ml@michreichert.de Slides: https://michreichert.de/projects/land-analysis-talk-eu License of the data: ODbL 1.0, anything else: CC-BY 4.0