reVeal.overlay.calc_area_apportioned_sum#

calc_area_apportioned_sum(zones_df, dset_src, attribute, where=None, **kwargs)[source]#

Calculate the area-apportioned sum of the specified attribute for input features intersecting each zone in input zones dataframe. Area-apportioning for each feature works by determining the proportion of each feature intersecting a given zone, as a function of its intersecting area divided by the its total area. The attribute value of the feature is then multiplied by this proportion to “apportion” the value to the zone. The apportioned values for all features intersecting each zone are then summed.

Parameters:
  • zones_df (geopandas.GeoDataFrame) – Input zones dataframe, to which results will be aggregated. This function assumes that the index of zones_df is unique for each feature. If this is not the case, unexpected results may occur.

  • dset_src (str) – Path to input vector dataset with geometries to be included in calculating coverage percents. Expected to a be a Polygon or MultiPolygon input, though this is not checked. Results for Points/MultiPoints and LineStrings/MultiLineStrings will be returned as all zeros since those features have zero area. Must be in the same CRS as the zones_df.

  • attribute (str) – Name of attribute in dset_src to use for calculating area-weighted average.

  • where (str, optional) – Optional query string to apply to the input dset_src to subset the features included in the results. Should follow the format expr defined in pandas.DataFrame.query.

  • **kwargs – Arbitrary keyword arguments. Not used, but allows passing extra parameters.

Returns:

pandas.DataFrame – Returns a pandas DataFrame with a “value” column, representing the area-apportioned sum of attribute values of features in each zone. The index from the input zones_df is also included.