CLI tool to query noise levels for any German address from the UBA Lärmkartierung (German Federal Environment Agency noise map).
Returns day (Lden) and night (Lnight) noise levels across road, rail, air, and industrial sources.
No install needed — use the web version at https://wusche1.github.io/noise-map-api/
Supports single address lookups and CSV batch processing directly in the browser.
- Python 3.9+
- Poetry
poetry installpython -m noise_map.cli "Alexanderplatz 1, Berlin"Found: Berolinahaus, 1, Alexanderplatz, Mitte, Berlin, 10178, Deutschland
Coordinates: 52.521506, 13.412381
Source Day Night
---------------------------------------------------------
Road (major roads) 55-59 dB(A) -
Road (urban) 55-59 dB(A) -
Rail (major lines) 60-64 dB(A) 50-54 dB(A)
Rail (urban) 60-64 dB(A) 50-54 dB(A)
Air (major airports) - -
Air (urban) - -
Industry (urban) - -
Prepare a CSV with an address column (semicolon-separated):
address
Alexanderplatz 1, Berlin
Hauptbahnhof, MünchenThen run:
python -m noise_map.cli --batch input.csv output.csvIf the address column has a different name:
python -m noise_map.cli --batch input.csv output.csv --col AdresseOutput is a semicolon-separated CSV (opens directly in German Excel) with all noise levels. Processes ~1 address/second due to geocoding rate limits.
pytest tests/- Geocodes the address to coordinates using OpenStreetMap/Nominatim
- Reprojects to EPSG:3857 (Web Mercator)
- Queries the UBA ArcGIS MapServer REST API for all noise layers in parallel
- Returns the noise level classification per source (road, rail, air, industry — day & night)