:py:mod:`starling_sim.utils.demand` =================================== .. py:module:: starling_sim.utils.demand .. autoapi-nested-parse:: This module contains utils for generating and managing Starling demand. Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: starling_sim.utils.demand.demand_from_eqasim starling_sim.utils.demand.default_agent_ids starling_sim.utils.demand.add_starling_demand_attributes Attributes ~~~~~~~~~~ .. autoapisummary:: starling_sim.utils.demand.STARLING_MINIMUM_COLUMNS .. py:data:: STARLING_MINIMUM_COLUMNS :value: ['agent_type', 'icon', 'agent_id', 'mode', 'origin_time', 'geometry'] .. py:function:: demand_from_eqasim(eqasim_population: geopandas.GeoDataFrame, sample_rate: float = None, sample_seed=None, spatial_filter: geopandas.GeoDataFrame = None) -> geopandas.GeoDataFrame Generate a Starling population from an Eqasim population. :param eqasim_population: GeoDataFrame describing an Eqasim population :param sample_rate: fraction of the original population that is kept in the final population :param sample_seed: seed used for sampling :param spatial_filter: GeoDataFrame used as spatial filter :return: GeoDataFrame of a Starling population generated from the Eqasim population .. py:function:: default_agent_ids(population: pandas.DataFrame) -> list Default function for generating agent ids on a population. :param population: population DataFrame on which agent ids are generated :return: list of agent ids .. py:function:: add_starling_demand_attributes(population: pandas.DataFrame, agent_id_generator: callable = default_agent_ids) -> pandas.DataFrame Add default Starling users attributes: agent type, icon, agent id and mode. Caution: this function modifies the original DataFrame. :param population: population DataFrame to enrich :param agent_id_generator: function that takes the population as parameter and returns an "agent_id" column :return: enriched population DataFrame