Source code for ra2ce.analysis.damages.shape_to_integrate_object.to_Integrate_shaper_protocol

from typing import Any, Protocol, runtime_checkable

import geopandas as gpd

from ra2ce.analysis.analysis_config_data.enums.damage_curve_enum import DamageCurveEnum


[docs] @runtime_checkable class ToIntegrateShaperProtocol(Protocol): """ Protocol for shaping hazard data into objects suitable for risk integration. Attributes: gdf (GeoDataFrame): Input GeoDataFrame containing hazard data. """ gdf: gpd.GeoDataFrame
[docs] def get_return_periods(self) -> list: """ Get the names of the columns containing damage data. Returns: list[float]: Column names corresponding to calculated damages. """
[docs] def shape_to_integrate_object( self, return_periods: list ) -> dict[str : gpd.GeoDataFrame]: """ Create objects for integration based on damage curves and return periods. Args: return_periods: List of return periods to extract and prepare. Returns: dict[str, GeoDataFrame]: A dictionary mapping each vulnerability curve name to a GeoDataFrame containing the relevant columns for risk calculation. """