Zonal Statistics

New in version 0.7.0.

This module supports you in computing statistics over spatial zones. A typical application would be to compute mean areal precipitation for a catchment by using precipitation estimates from a radar grid in polar coordinates or from precipitation estimates in a Cartesian grid.

The general usage is similar to the ipol and adjustment modules:

You have to create an instance of a class (derived from ZonalDataBase) by using the spatial information of your source and target objects (e.g. radar bins and catchment polygons). The Zonal Data within this object can be saved as an ESRI Shapefile.

This object is then called with another class to compute zonal statistics for your target objects by calling the class instance with an array of values (one for each source object).

Typically, creating the instance of the ZonalData class will be computationally expensive, but only has to be done once (as long as the geometries do not change).

Calling the objects with actual data, however, will be very fast.


Right now we only support a limited set of 2-dimensional zonal statistics. In the future, we plan to extend this to three dimensions.

DataSource DataSource class for handling ogr/gdal vector data
ZonalDataBase The base class for managing 2-dimensional zonal data for target polygons from source points or polygons.
ZonalDataPoint ZonalData object for source points
ZonalDataPoly ZonalData object for source polygons
ZonalStatsBase Base class for all 2-dimensional zonal statistics.
GridCellsToPoly Compute weighted average for target polygons based on areal weights.
GridPointsToPoly Compute zonal average from all points in or close to the target polygon.
mask_from_bbox Return 2-d index array based on spatial selection from a bounding box.
get_bbox Return bbox dictionary that represents the extent of the points.
grid_centers_to_vertices Produces array of vertices from grid’s center point coordinates.
get_clip_mask Returns boolean mask of points (coords) located inside polygon clippoly