Calculate zonal statistics
Zonal statistics includin 'mean', 'max', 'min', 'sum', 'std', 'var', 'count' can be easily calculated using the AnalysisArea.zonal_stats method.
Here are is an example over the administrative units of Benin.
from hip.analysis.aoi import AnalysisArea
_DATES = "2020-01-01/2021-01-10"
iso3 = "BEN"
area = AnalysisArea.from_admin_boundaries(iso3=iso3, admin_level=1, datetime_range=_DATES)
Here we calculate mean and variance dekadal rainfall estimates by admin area.
admin_rfh = area.zonal_stats(['CHIRPS','RFH_DEKAD'], stats=['mean','var'])
admin_rfh.head()
The method defaults to using the admin boundaries used to create the AnalysisArea object. However, custom boundaries can also be provided, both in the form of a GeoPandas DataFrame or an Xarray DataArray. See method reference for more details