Package for geospatial kernel density estimation (KDE).
Project description
GeoKDE
Package for geospatial kernel density estimation (KDE).
Written in Python 3.10.11 (though compatible with 3.10.11+), GeoKDE depends on the following:
geopandas
numpy
(itself a dependency ofgeopandas
)
Examples
Perform KDE on a GeoJSON of point geometries and write the result to a GeoTIFF raster file with rasterio
:
gdf = geopandas.read_file("vector_points.geojson")
kde_array, array_bounds = geokde.kde(gdf, 1, 0.1)
transform = rasterio.transform.from_bounds(
*array_bounds,
kde_array.shape[1],
kde_array.shape[0],
)
with rasterio.open(
fp="raster.tif",
mode="w",
driver="GTiff",
width=kde_array.shape[1],
height=kde_array.shape[0],
count=1,
crs=gdf.crs,
transform=transform,
dtype=kde_array.dtype,
nodata=0.0,
) as dst:
dst.write(kde_array, 1)
Roadmap
- Add more kernels.
- Finish tests - coverage is >=95% for _utils.py and geokde.py as is.
- Implement other methods of distance measurement, e.g. haversine, Manhattan.
- Investigate alternatives to iterating over points.
- Enable use of single radius and weight values without filling array of the same length as the points GeoDataFrame/GeoSeries. Results in marginal speed up but the current approach may become an issue with very large point datasets.
- Integrate mypy in pre-commit, possibly also linter and formatter though flake8 and black used locally.
Contributions
Feel free to raise any issues, especially bugs and feature requests!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
geokde-0.1.2.tar.gz
(5.6 kB
view hashes)
Built Distribution
geokde-0.1.2-py3-none-any.whl
(7.1 kB
view hashes)