aequilibrae.paths.results#
- class aequilibrae.paths.results.AssignmentResults[source]#
Assignment result holder for a single
TrafficClasswith multiple user classes- get_load_results() DataFrame[source]#
Translates the assignment results from the graph format into the network format
- Returns:
dataset (
pd.DataFrame): Pandas DataFrame data with the traffic class assignment results
- prepare(graph: Graph, matrix: AequilibraeMatrix) None[source]#
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 withmatrix.computational_view(:obj:`list`)
- 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
- class aequilibrae.paths.results.PathResults[source]#
Path computation result holder
>>> from aequilibrae.paths.results import PathResults >>> project = create_example(project_path) >>> project.network.build_graphs() # Mode c is car in this project >>> car_graph = project.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) # Update all the outputs mentioned above for destination 9. Same origin: 1 >>> res.update_trace(9) # clears all computation results >>> res.reset() >>> project.close()
- compute_path(origin: int, destination: int, early_exit: bool = False, a_star: bool = False, heuristic: str | None = None) None[source]#
Computes the path between two nodes in the network.
A* heuristics are currently only valid distance cost fields.
- Arguments:
origin (
int): Origin for the pathdestination (
int): Destination for the pathearly_exit (
bool): Stop constructing the shortest path tree once the destination is found. Doing so may cause subsequent calls toupdate_traceto recompute the tree. Default isFalse.a_star (
bool): Whether or not to use A* over Dijkstra’s algorithm. WhenTrue,early_exitis alwaysTrue. Default isFalse.heuristic (
str): Heuristic to use ifa_staris enabled. Default isNone.
- prepare(graph: Graph) None[source]#
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)
- set_heuristic(heuristic: str) None[source]#
Set the heuristics to be used in A*. Must be one of get_heuristics().
- Arguments:
heuristic (
str): Heuristic to use in A*.
- update_trace(destination: int) None[source]#
Updates the path’s nodes, links, skims and mileposts
If the previously computed path had early_exit enabled, update_trace will check if the destination has already been found, if not the shortest path tree will be recomputed with the early_exit argument passed on.
If the previously computed path had a_star enabled, update_trace always recompute the path.
- Arguments:
destination (
int): ID of the node we are computing the path too
- class aequilibrae.paths.results.SkimResults[source]#
Network skimming result holder.
>>> from aequilibrae.paths.results import SkimResults >>> project = create_example(project_path) >>> project.network.build_graphs() # Mode c is car in this project >>> car_graph = project.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(project_path / "skim_matrices.omx") >>> project.close()
- class aequilibrae.paths.results.TransitAssignmentResults[source]#
Assignment result holder for a single
Transit- get_load_results() DataFrame[source]#
Translates the assignment results from the graph format into the network format
- Returns:
dataset (
pd.DataFrame): DataFrame data with the transit class assignment results
- prepare(graph: TransitGraph, matrix: AequilibraeMatrix) None[source]#
Prepares the object with dimensions corresponding to the assignment matrix and graph objects
- Arguments:
graph (
TransitGraph): Needs to have been set with number of centroidsmatrix (
AequilibraeMatrix): Matrix properly set for computation withmatrix.computational_view(:obj:`list`)
- 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
Modules