starling_sim.utils.demand

This module contains utils for generating and managing Starling demand.

Module Contents

Functions

demand_from_eqasim(→ geopandas.GeoDataFrame)

Generate a Starling population from an Eqasim population.

default_agent_ids(→ list)

Default function for generating agent ids on a population.

add_starling_demand_attributes(→ pandas.DataFrame)

Add default Starling users attributes: agent type, icon, agent id and mode.

Attributes

STARLING_MINIMUM_COLUMNS

starling_sim.utils.demand.STARLING_MINIMUM_COLUMNS = ['agent_type', 'icon', 'agent_id', 'mode', 'origin_time', 'geometry']
starling_sim.utils.demand.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.

Parameters:
  • eqasim_population – GeoDataFrame describing an Eqasim population

  • sample_rate – fraction of the original population that is kept in the final population

  • sample_seed – seed used for sampling

  • spatial_filter – GeoDataFrame used as spatial filter

Returns:

GeoDataFrame of a Starling population generated from the Eqasim population

starling_sim.utils.demand.default_agent_ids(population: pandas.DataFrame) list

Default function for generating agent ids on a population.

Parameters:

population – population DataFrame on which agent ids are generated

Returns:

list of agent ids

starling_sim.utils.demand.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.

Parameters:
  • population – population DataFrame to enrich

  • agent_id_generator – function that takes the population as parameter and returns an “agent_id” column

Returns:

enriched population DataFrame