Generation and distribution factors
ultimodel.AttractionFactors.AttractionIndex(taz, taz_geo='geometry', taz_id='nuts_id')
Calculate population and industrial areas per TAZ, transform to attraction index
| Parameters: |
|
|---|
population_from_point(pop_nodes, pop_val='VALUE')
Aggregate population per TAZ based on point layer with population density
--> result: self.taz as GeoDataFrame is updated with total population per cell
| Parameters: |
|
|---|
| Returns: |
|
|---|
industry_attributes_from_osm(return_taz=False)
Extract the number and aggregated area of polygons with landuse=industrial in OSM per TAZ
Creates new columns in self.taz: - ind_area_count | number of industrial sites - ind_area_sum | aggregated area of industrial sites
TAZ with new industry column can be returned by setting return_taz=True
| Parameters: |
|
|---|
| Returns: |
|
|---|
industry_attributes_from_gdf(industry_gdf, return_taz=False)
Aggregate total area and count of industrial sites per TAZ based on a GeoDataFrame with industrial areas
--> result: self.taz as GeoDataFrame is updated with industrial area data per cell
Creates new columns in self.taz: - ind_area_count | number of industrial sites - ind_area_sum | aggregated area of industrial sites
| Parameters: |
|
|---|
| Returns: |
|
|---|
attraction_index(scope=None, taz_cn='cntr_code', alpha=1.0)
Create attraction index with Cobb-Douglas transformation
| Parameters: |
|
|---|
| Returns: |
|
|---|
ultimodel.AttractionFactors.BorderCrossingAtts(taz, taz_cn='cntr_code', taz_geo='geometry')
Calculate country attributes like number of border crossing streets, neighboring countries that define the character of border-crossing road traffic
| Parameters: |
|
|---|
get_borderbuffer(buffer=5000)
Create GeoDataFrame with borders, using a defined buffer around these borders (i.e. with a 5000m buffer, there will be Polygons along borders with a width of 5000m)
| Parameters: |
|
|---|
| Returns: |
|
|---|
shared_borders(inplace=False)
Determine the share of land borders of total country border. Islands would have a share of 0, while countries without a cost would land at 1.
--> result: border shares are merged to self.country_layer
| Parameters: |
|
|---|
| Returns: |
|
|---|
border_streets(net, net_type='type', type_filter=None, inplace=None)
Count the number of border crossing streets per country
--> result: number of border crossings is merged to self.country_layer
| Parameters: |
|
|---|
| Returns: |
|
|---|
count_neighbors(inplace=False)
Determine the number of direct neighbor countries (shared border)
--> result: number of neighbors is merged to self.country_layer
| Parameters: |
|
|---|
| Returns: |
|
|---|
pop_area(pop_values=None, pop_cn='country', taz_pop='population', inplace=False)
Determine total population and area im km² per country. Population can be determined by aggregating population per taz or with and external input DataFrame
--> result: population and area are merged to self.country_layer
| Parameters: |
|
|---|
| Returns: |
|
|---|
ultimodel.Matrices.Matrix(conn, zone_col='zone', id_col='con_id', weight_col='weight', x_='x', y_='y', conn_geo='geometry')
Create cost matrices from OSRM
| Parameters: |
|
|---|
osrm_request_nodes(save_np=None)
OSRM Request: extract travel durations and distances from OSM routing
--> result: self.all_mtx as updated npy array with distances and durations between connector nodes
| Parameters: |
|
|---|
| Returns: |
|
|---|
transform_to_taz()
Use connectors weights to generate the mean travel time and distances per taz, based on matrices between connectors
| Returns: |
|
|---|