GeoUtils is a Python package for scalable, composable and accessible geospatial analysis.

Important

GeoUtils v0.3 introduces Xarray/GeoPandas accessors and finalizes Dask support for all raster and point cloud operations (with benchmarking)! GPU support is planned as we refine the API before a v1.0.

GeoUtils is built on top of core geospatial packages (Rasterio, Shapely, PyProj) and numerical packages (NumPy, SciPy, Numba) to provide higher-level tools for raster, vector and point cloud objects, from transformations (e.g., reprojection, polygonization, point gridding) to geostatistics (e.g., variography, random fields, kriging), and much more.

It adds scalable implementation respecting lazy and chunked execution (Dask, multiprocessing) for all raster and point cloud operations and some vector operations, and is composable by exposing customizable methods and backends that can be reused across operations. It also provides accessors to naturally extend existing Python data structures (Xarray, GeoPandas).

Finally, it strives to make quantitative analysis accessible through an intuitive API, similar in spirit to GDAL’s overhauled CLI, while accounting implicitly for geospatial intricacies (nodata values, projections, pixel interpretation).

If you are looking to port your GDAL or QGIS workflow in Python while supporting large datasets, GeoUtils is made for you!


Where to start?#

About GeoUtils

Learn more about why we developed GeoUtils.

About GeoUtils
Quick start

Run a short example of the package functionalities.

Quick start
Features

Dive into the full documentation.

Fundamentals

Looking to learn a specific feature by running an example? Jump straight into our example galleries on Input/output, Handling and Analysis.

See also

If you are DEM-enthusiastic, check-out our sister package xDEM for digital elevation models.


Table of contents#

Indices and tables#