Noise
Estimate noise levels at the plot location using official GDDKiA strategic noise maps, with OpenStreetMap fallback estimation.
Usage
from plot_finder import Plot, PlotAnalyzer
plot = Plot(plot_id="141201_1.0001.6509")
analyzer = PlotAnalyzer(plot)
noise = analyzer.noise()
print(noise.noise_level_db) # 52.0
print(noise.quality) # "Niski"
print(noise.level) # "low"
print(noise.color) # "lightgreen"
print(noise.data_source) # "GDDKiA" or "OpenStreetMap (szacunkowy)"
for src in noise.sources:
print(f"{src.type}: {src.name} — {src.distance_km} km, {src.impact_db} dB")
How It Works
- GDDKiA WMS — queries the official strategic noise map (LDWN indicator) from Geoportal. Tries the voivodeship-specific layer first, then falls back to major voivodeships.
- OSM fallback — if no GDDKiA data is available, estimates noise based on distance to motorways, railways, airports, and industrial zones from OpenStreetMap.
Noise Model
| Field |
Type |
Description |
noise_level_db |
float |
Estimated noise level in decibels |
quality |
str |
Polish quality label (Bardzo niski / Niski / Umiarkowany / Wysoki / Bardzo wysoki) |
level |
str |
English level key (very_low / low / moderate / high / very_high) |
description |
str |
Polish description |
color |
str |
Indicator color (green / lightgreen / yellow / orange / red) |
sources |
list[NoiseSource] |
Detected noise sources |
data_source |
str |
Data origin (GDDKiA or OpenStreetMap) |
NoiseSource Model
| Field |
Type |
Description |
type |
str |
Source type (e.g. Autostrada, Linia kolejowa) |
name |
str |
Source name from map data |
distance_km |
float |
Distance from plot in km |
impact_db |
float |
Estimated noise impact in dB |
lat |
float |
Latitude |
lon |
float |
Longitude |
Noise Levels
| Range |
Quality |
Level |
Color |
| < 45 dB |
Bardzo niski |
very_low |
green |
| 45–55 dB |
Niski |
low |
lightgreen |
| 55–65 dB |
Umiarkowany |
moderate |
yellow |
| 65–75 dB |
Wysoki |
high |
orange |
| > 75 dB |
Bardzo wysoki |
very_high |
red |