PyGeoprocessing, an open source high performance geoprocessing and hydrological routing API
PyGeoprocessing is an open source, free, high performance, memory efficient set of geoprocessing routines developed natively in Python. It includes: a programmable raster stack calculator that handles common GIS routines such as interpolation, masking by shapefile, vector processing, and more; a set of shapefile aggregation and processing routines that handle overlapping polygon features by solving a maximal subset problem; a linear time and space efficient distance transform function; and a set of d-infinity hydrological routing routines including flow direction, flow accumulation, average downstream distance, plateau resolution, and a programmable upstream and downstream flow integrator. The functionality offered in PyGeoprocessing can be found to some degree in existing GIS platforms including ArcGIS, QGIS, TauDEM, GRASS, and others, but have been designed from the ground up with memory efficiency, computational efficiency, ease of integration into a Python programming pipeline, and distribution as a part of a wider project as primary features of the library. The purpose of this presentation is to introduce PyGeoprocessing to the FOSS4G community in hopes of further collaborations and integrations with open source GIS software.