aequilibrae.paths.results package#

Submodules#

aequilibrae.paths.results.assignment_results module#

class aequilibrae.paths.results.assignment_results.NetworkGraphIndices(network_ab_idx: <built-in function array>, network_ba_idx: <built-in function array>, graph_ab_idx: <built-in function array>, graph_ba_idx: <built-in function array>)#

Bases: object

network_ab_idx: numpy.array#
network_ba_idx: numpy.array#
graph_ab_idx: numpy.array#
graph_ba_idx: numpy.array#
class aequilibrae.paths.results.assignment_results.AssignmentResults#

Bases: object

Assignment result holder for a single TrafficClass with multiple user classes

prepare(graph: aequilibrae.paths.graph.Graph, matrix: aequilibrae.matrix.aequilibrae_matrix.AequilibraeMatrix) None#

Prepares the object with dimensions corresponding to the assignment matrix and graph objects

Arguments

graph (Graph): Needs to have been set with number of centroids and list of skims (if any)

matrix (AequilibraeMatrix): Matrix properly set for computation with

matrix.computational_view(list)

reset() None#

Resets object to prepared and pre-computation state

total_flows() None#

Totals all link flows for this class into a single link load

Results are placed into total_link_loads class member

set_cores(cores: int) None#

Sets number of cores (threads) to be used in computation

Value of zero sets number of threads to all available in the system, while negative values indicate the number of threads to be left out of the computational effort.

Resulting number of cores will be adjusted to a minimum of zero or the maximum available in the system if the inputs result in values outside those limits

Arguments

cores (int): Number of cores to be used in computation

get_graph_to_network_mapping()#
get_load_results() aequilibrae.matrix.aequilibrae_data.AequilibraeData#

Translates the assignment results from the graph format into the network format

Returns

dataset (AequilibraeData): AequilibraE data with the traffic class assignment results

get_sl_results() aequilibrae.matrix.aequilibrae_data.AequilibraeData#
save_to_disk(file_name=None, output='loads') None#

Function to write to disk all outputs computed during assignment.

Deprecated since version 0.7.0.

Arguments

file_name (str): Name of the file, with extension. Valid extensions are: [‘aed’, ‘csv’, ‘sqlite’] output (str, optional): Type of output (‘loads’, ‘path_file’). Defaults to ‘loads’

aequilibrae.paths.results.path_results module#

class aequilibrae.paths.results.path_results.PathResults#

Bases: object

Path computation result holder

>>> from aequilibrae import Project
>>> from aequilibrae.paths.results import PathResults

>>> proj = Project.from_path("/tmp/test_project")
>>> proj.network.build_graphs()

# Mode c is car in this project
>>> car_graph = proj.network.graphs['c']

# minimize distance
>>> car_graph.set_graph('distance')

# If you want to compute skims
# It does increase path computation time substantially
>>> car_graph.set_skimming(['distance', 'free_flow_time'])

>>> res = PathResults()
>>> res.prepare(car_graph)
>>> res.compute_path(1, 17)

# res.milepost contains the milepost corresponding to each node along the path
# res.path_nodes contains the sequence of nodes that form the path
# res.path  contains the sequence of links that form the path
# res.path_link_directions contains the link directions corresponding to the above links
# res.skims contain all skims requested when preparing the graph

# Update all the outputs mentioned above for destination 9. Same origin: 1
>>> res.update_trace(9)

# clears all computation results
>>> res.reset()
compute_path(origin: int, destination: int) None#

Computes the path between two nodes in the network

Arguments

origin (int): Origin for the path

destination (int): Destination for the path

prepare(graph: aequilibrae.paths.graph.Graph) None#

Prepares the object with dimensions corresponding to the graph object

Arguments

graph (Graph): Needs to have been set with number of centroids and list of skims (if any)

reset() None#

Resets object to prepared and pre-computation state

update_trace(destination: int) None#

Updates the path’s nodes, links, skims and mileposts

It does not re-compute the path tree, so it saves most of the computation time

Arguments

destination (int): ID of the node we are computing the path too

aequilibrae.paths.results.skim_results module#

class aequilibrae.paths.results.skim_results.SkimResults#

Bases: object

Network skimming result holder.

>>> from aequilibrae import Project
>>> from aequilibrae.paths.results import SkimResults

>>> proj = Project.from_path("/tmp/test_project")
>>> proj.network.build_graphs()

# Mode c is car in this project
>>> car_graph = proj.network.graphs['c']

# minimize travel time
>>> car_graph.set_graph('free_flow_time')

# Skims travel time and distance
>>> car_graph.set_skimming(['free_flow_time', 'distance'])

>>> res = SkimResults()
>>> res.prepare(car_graph)

>>> res.skims.export('/tmp/test_project/matrix.aem')
prepare(graph: aequilibrae.paths.graph.Graph)#

Prepares the object with dimensions corresponding to the graph objects

Arguments

graph (Graph): Needs to have been set with number of centroids and list of skims (if any)

set_cores(cores: int) None#

Sets number of cores (threads) to be used in computation

Value of zero sets number of threads to all available in the system, while negative values indicate the number of threads to be left out of the computational effort.

Resulting number of cores will be adjusted to a minimum of zero or the maximum available in the system if the inputs result in values outside those limits

Arguments

cores (int): Number of cores to be used in computation

Module contents#