Skip to main content

plot-finder

Python License Pydantic

Python library to find land parcels across Europe — Poland, France, Spain, Netherlands, Switzerland, Estonia, Cyprus, Lithuania, Latvia, Portugal, Slovenia, Italy and Germany — by id, address or coordinates.

Geometry is returned in EPSG:4326 by default (set srid= for another CRS).

One Plot class. country is required and selects the cadastre; the country-specific attributes come from a matching class in plot_finder.countries.

Installation

pip install plot-finder

Poland 🇵🇱

from plot_finder import Plot

plot = Plot(country="PL", plot_id="141201_1.0001.6509")
plot = Plot(country="PL", x=639231, y=486743)                  # EPSG:2180
plot = Plot(country="PL", address="Warszawa, Marszalkowska 1")

print(plot.voivodeship, plot.commune, plot.area)

Attributes: voivodeship, county, commune, region, parcel

France 🇫🇷

from plot_finder import Plot

plot = Plot(country="FR", plot_id="33063000KE0078")
plot = Plot(country="FR", x=-0.5792, y=44.8378)                # lon/lat, EPSG:4326
plot = Plot(country="FR", address="30 Rue Sainte-Catherine, Bordeaux")

print(plot.department, plot.commune, plot.area)

Attributes: department, insee, commune, section, numero

Spain 🇪🇸

from plot_finder import Plot

plot = Plot(country="ES", plot_id="0749407VK4704H")       # cadastral reference
plot = Plot(country="ES", x=-3.6999, y=40.4211)           # lon/lat, EPSG:4326
plot = Plot(country="ES", address="Calle de Alcalá 1, Madrid")

print(plot.province, plot.municipality, plot.area)

Attributes: province, municipality

Netherlands 🇳🇱

from plot_finder import Plot

plot = Plot(country="NL", plot_id="AKM01 K 3785")     # cadastral designation
plot = Plot(country="NL", x=4.6255, y=52.1987)        # lon/lat, EPSG:4326
plot = Plot(country="NL", address="Dam 1, Amsterdam")

print(plot.municipality, plot.section, plot.area)

Attributes: municipality, section, parcel_number

Switzerland 🇨🇭

from plot_finder import Plot

plot = Plot(country="CH", plot_id="CH119192997709")   # EGRID
plot = Plot(country="CH", x=8.5417, y=47.3769)        # lon/lat, EPSG:4326
plot = Plot(country="CH", address="Bundesplatz 3, Bern")

print(plot.canton, plot.municipality, plot.area)

Attributes: canton, municipality, egrid, parcel_number

Estonia 🇪🇪

from plot_finder import Plot

plot = Plot(country="EE", plot_id="78401:114:0086")   # katastritunnus
plot = Plot(country="EE", x=24.7536, y=59.437)        # lon/lat, EPSG:4326
plot = Plot(country="EE", address="Viru väljak 4, Tallinn")

print(plot.county, plot.municipality, plot.area)

Attributes: county, municipality, settlement

Cyprus 🇨🇾

from plot_finder import Plot

plot = Plot(country="CY", plot_id="1000-21/450301-1-1-290")   # cadastral reference
plot = Plot(country="CY", x=33.3396, y=35.1787)               # lon/lat, EPSG:4326
plot = Plot(country="CY", address="Nicosia, Cyprus")

print(plot.district_code, plot.parcel_number, plot.area)

Attributes: district_code, sheet, plan, parcel_number

Lithuania 🇱🇹

from plot_finder import Plot

plot = Plot(country="LT", plot_id="0101/0041:0121")   # kadastro numeris
plot = Plot(country="LT", x=25.27904, y=54.68449)     # lon/lat, EPSG:4326
plot = Plot(country="LT", address="Gedimino pr. 1, Vilnius")

print(plot.cadastral_zone, plot.purpose, plot.area)

Attributes: cadastral_zone, municipality_code, purpose

Latvia 🇱🇻

from plot_finder import Plot

plot = Plot(country="LV", plot_id="01000540120")   # kadastra apzīmējums
plot = Plot(country="LV", x=24.0917, y=56.9276)    # lon/lat, EPSG:4326
plot = Plot(country="LV", address="Rīga, Latvia")

print(plot.territory_code, plot.parcel_number, plot.area)

Attributes: territory_code, group_code, parcel_number

Portugal 🇵🇹

from plot_finder import Plot

plot = Plot(country="PT", plot_id="AAA000825807")   # NIC
plot = Plot(country="PT", x=-7.7079, y=40.4210)     # lon/lat, EPSG:4326

print(plot.municipality, plot.parish, plot.area)

Attributes: municipality, parish, district_codepartial coverage (no big cities/north).

Slovenia 🇸🇮

from plot_finder import Plot

plot = Plot(country="SI", plot_id="1725-3283/1")   # KO code + parcel number
plot = Plot(country="SI", x=14.50582, y=46.05144)  # lon/lat, EPSG:4326

print(plot.ko_name, plot.municipality, plot.area)

Attributes: ko_code, ko_name, municipality, parcel_number

Italy 🇮🇹

from plot_finder import Plot

plot = Plot(country="IT", x=12.4922, y=41.8902)   # lon/lat, EPSG:4326
plot = Plot(country="IT", address="Piazzale degli Uffizi, Firenze")

print(plot.comune_code, plot.foglio, plot.particella, plot.area)

Attributes: comune_code, foglio, particellacoordinates/address only (no id lookup); excludes Trento & Bolzano.

Germany 🇩🇪

from plot_finder import Plot

plot = Plot(country="DE", x=6.9583, y=50.9413)   # lon/lat, EPSG:4326
plot = Plot(country="DE", address="Domkloster 4, Köln")

print(plot.land, plot.gemarkung, plot.parcel_number, plot.area)

Attributes: land, gemarkung, flur, parcel_numbercoordinates/address only; 10 of 16 states (free ALKIS).

Documentation

Full docs: ernestilchenko.github.io/plot-finder

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plot_finder-1.9.0.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plot_finder-1.9.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file plot_finder-1.9.0.tar.gz.

File metadata

  • Download URL: plot_finder-1.9.0.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for plot_finder-1.9.0.tar.gz
Algorithm Hash digest
SHA256 9bda3ff1ce1e8e2b22cdb34a42f8fd31bc23bb2d3b99effdc51a13fac3793d40
MD5 318fdb30df69067d12ca9fc28c08ccad
BLAKE2b-256 23482cb3a46f7ab80ff0f0973f183f5a73d5dae9e5bc56f56c77a1aff3deee51

See more details on using hashes here.

File details

Details for the file plot_finder-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: plot_finder-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for plot_finder-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05f51389a9cba60344bed3011198292f6cf02e4bb1f213cd8ba371f6ce1fe1f2
MD5 d8ba8eac0621b22531d3b9b246e7d119
BLAKE2b-256 c2354f7e399c0116d64621da17aaefed0e6c1b8bf37b1e49d29270e68597e2f8

See more details on using hashes here.

Release history Release notifications | RSS feed

1.11.0

2 files

1.10.0

2 files

1.9.1

2 files

This release

1.9.0 This release

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.3.0

2 files

1.2.0

2 files

1.0.0

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page