https://github.com/ernestilchenko/plot-finder
Find and analyze Polish land parcels — nearby schools, shops, transport, parks, air quality, sunlight. Export to JSON, interactive HTML map or static PNG.
https://github.com/ernestilchenko/plot-finder
geospatial- gugik land-parcel openstreetmap osrm poland pydantic python uldk
Last synced: 1 day ago
JSON representation
Find and analyze Polish land parcels — nearby schools, shops, transport, parks, air quality, sunlight. Export to JSON, interactive HTML map or static PNG.
- Host: GitHub
- URL: https://github.com/ernestilchenko/plot-finder
- Owner: ernestilchenko
- License: mit
- Created: 2026-02-18T21:08:34.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-14T15:12:49.000Z (3 months ago)
- Last Synced: 2026-03-26T12:44:42.158Z (3 months ago)
- Topics: geospatial-, gugik, land-parcel, openstreetmap, osrm, poland, pydantic, python, uldk
- Language: Python
- Homepage:
- Size: 1.42 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# plot-finder






> Python library to find Polish land parcels and analyze their surroundings.
Query the [ULDK (GUGiK)](https://uldk.gugik.gov.pl/) API to get parcel data by TERYT ID or coordinates, then analyze nearby infrastructure using OpenStreetMap.

## Installation
```bash
pip install plot-finder # base
pip install plot-finder[viz] # + interactive maps & PNG export
pip install plot-finder[ai] # + AI-powered analysis (OpenAI)
```
**Requirements:** Python 3.10+ | `pydantic` `httpx` `shapely` `pyproj`
## Quick Start
```python
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()
# Visualization (pip install plot-finder[viz])
from plot_finder.visualizer import PlotVisualizer
viz = PlotVisualizer(report)
viz.save("map.html") # interactive map
viz.save("map.png") # static image
```
## CLI
```bash
plot-finder analyze 141201_1.0001.6509 --radius 2000
plot-finder analyze 141201_1.0001.6509 --json
plot-finder search --address "Warszawa, Marszalkowska 1"
plot-finder elevation 141201_1.0001.6509
plot-finder climate 141201_1.0001.6509
plot-finder sunlight 141201_1.0001.6509
plot-finder noise 141201_1.0001.6509
plot-finder risks 141201_1.0001.6509
plot-finder places 141201_1.0001.6509 --category education
```
## Documentation
Full documentation: [ernestilchenko.github.io/plot-finder](https://ernestilchenko.github.io/plot-finder/)
## License
MIT — use it however you want.