Skip to main content

PyGeoprocessing: Geoprocessing routines for GIS

Project description

About PyGeoprocessing

PyGeoprocessing is a Python/Cython based library that provides a set of commonly used raster, vector, and hydrological operations for GIS processing. Similar functionality can be found in ArcGIS/QGIS raster algebra, ArcGIS zonal statistics, and ArcGIS/GRASS/TauDEM hydrological routing routines.

PyGeoprocessing is developed at the Natural Capital Project to create a programmable, open source, and free Python based GIS processing library to support the InVEST toolset. PyGeoprocessing’s design prioritizes computation and memory efficient runtimes, easy installation and cross compatibility with other open source and proprietary software licenses, and a simplified set of orthogonal GIS processing routines that interact with GIS data via filename. Specifically the functionally provided by PyGeoprocessing includes

  • a suite of raster manipulation functions (warp, align, raster calculator, reclassification, distance transform, convolution, and fast iteration)
  • a suite of vector based manipulation function (zonal statistics, rasterization, interpolate points, reprojection, and disjoint polygon sets)
  • a simplified hydrological routing library (D8inf/MFD flow direction, plateau drainage, weighted and unweighted flow accumulation, and weighted and unweighted flow distance)

Installing PyGeoprocessing

$ pip install pygeoprocessing

If you import pygeoprocessing and see a ValueError: numpy.dtype has the wrong size, try recompiling, this is the result of a version compatibility issue with the numpy ABI in the precompiled pygeoprocessing binaries. The solution is to recompile pygeoprocessing on your computer:

$ pip uninstall -y pygeoprocessing
$ pip install pygeoprocessing --no-deps --no-binary :all:


Note the pip-installable requirements in requirements.txt are for best results, but older package versions may also work. If necessary, PyGeoprocessing can be installed without dependencies with pip install --no-deps.

Project details

Release history Release notifications

This version
History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pygeoprocessing-1.2.3-cp27-cp27m-win32.whl (264.3 kB) Copy SHA256 hash SHA256 Wheel cp27 Aug 2, 2018
pygeoprocessing-1.2.3-cp36-cp36m-win_amd64.whl (289.1 kB) Copy SHA256 hash SHA256 Wheel cp36 Aug 2, 2018
pygeoprocessing-1.2.3-py2.7-win32.egg (317.1 kB) Copy SHA256 hash SHA256 Egg 2.7 Aug 2, 2018
pygeoprocessing-1.2.3.tar.gz (487.0 kB) Copy SHA256 hash SHA256 Source None Aug 2, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page