Skip to main content

Reverse geocoding from a shapefile of polygons.

Project description

Reverse geocoding from a shapefile of polygons.

How ?

The ReverseGeolocShapefile class improves the shapefile.Reader class by adding a intersection method to find polygons that intersects with a single point.

I use a simple spatial index that store the bounding box of each polygons. I save these informations into a .sidx.npy file next to the .dbf/.shp files.

Works with Python 3.6+ (I’m using f-string).

Documentation

The intersection method of the ReverseGeolocShapefile class return a list of row index.

Usage

import intersectshape

shp = intersectshape.ReverseGeolocShapefile('/path/of/shapefile.shp')

# You can use all methods of shapefile.Reader object like...
row = shp.record(5)
geo = shp.shape(2)

# Find polygons that intersects a point
x, y = 200, 500  # must be at the same projection system
ids = shp.intersection(x, y)
print(ids)
# return [] or [0, 5, 9, 7] for example.

License

This code are under the GNU GPL v3 licence.

Data of French communal polygons (Geofla shapefile located in the data folder) are under Etalab Open License.

Project details


Download files

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

Source Distribution

intersectshape-0.1.1.tar.gz (15.3 kB view details)

Uploaded Source

File details

Details for the file intersectshape-0.1.1.tar.gz.

File metadata

File hashes

Hashes for intersectshape-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d69677686e4f1e31f26668f36c3762d6a71662830322dbb2e4887133a4900e92
MD5 91b817e379c6f43326e45c4e57523253
BLAKE2b-256 0e6df7341c0da69547e85d80ef3e6a36edc10402d27ede8900b52bd0aad2330e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page