plot-finder¶
Python library to find Polish land parcels and analyze their surroundings.
Query the ULDK (GUGiK) API to get parcel data by TERYT ID or coordinates, then analyze nearby infrastructure using OpenStreetMap.
Installation¶
Requirements: Python 3.10+ | pydantic httpx shapely pyproj
Quick Start¶
from plot_finder import Plot, PlotAnalyzer, PlotReporter
# Find a parcel
plot = Plot(plot_id="141201_1.0001.6509")
print(plot.voivodeship) # mazowieckie
print(plot.centroid) # (x, y)
# Analyze surroundings
analyzer = PlotAnalyzer(plot, radius=3000)
for place in analyzer.education():
print(f"{place.name} — {place.distance_m}m")
# Full report
report = PlotReporter(analyzer).report()
report.model_dump_json()
Async API
Visualization
What's Inside¶
| Module | Description |
|---|---|
| Plot | Find parcels by TERYT ID, address, or coordinates |
| PlotAnalyzer | Analyze surroundings — education, shops, transport, etc. |
| Async API | Async versions with concurrent HTTP (~5x faster) |
| Climate | Temperature, precipitation, wind, frost/hot days |
| Air Quality | Air pollution data (OpenWeatherMap) |
| Sunlight | Sunrise, sunset, daylight hours, seasonal data |
| Noise | Noise levels from GDDKiA maps & OSM estimation |
| Risks | Flood, seismic, soil, landslide, noise, mining risks |
| MPZP | Local spatial development plan from Geoportal |
| SUIKZP | Study of conditions and directions of spatial development |
| POG | General Municipal Plan (zones, building parameters) |
| GUGiK | Spatial data services from GUGiK integration portal |
| PlotReporter | Full structured report in one call |
| PlotVisualizer | Interactive HTML maps & static PNG images |
| PlotAI | AI-powered analysis (OpenAI) |
License¶
MIT — use it however you want.