ae_wrapper#
collections#
- class AssignmentResultCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, passenger_flow: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, cargo_flow: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, congested_time: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, delay_factor: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, volume_to_capacity: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, passenger_car_unit: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None)#
Bases:
object- cargo_flow: ndarray#
- congested_time: ndarray#
- delay_factor: ndarray#
- ids: ndarray#
- passenger_car_unit: ndarray#
- passenger_flow: ndarray#
- volume_to_capacity: ndarray#
- class GraphPath(nodes: numpy.ndarray, links: numpy.ndarray, path_results: aequilibrae.paths.results.path_results.PathResults)#
Bases:
object- links: ndarray#
- nodes: ndarray#
- path_results: PathResults#
- class LinkCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, from_nodes: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, to_nodes: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, directions: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, max_speeds: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, capacities: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, geometries: Optional[movici_simulation_core.core.arrays.TrackedCSRArray] = None)#
Bases:
object- capacities: ndarray#
- directions: ndarray#
- from_nodes: ndarray#
- geometries: Optional[TrackedCSRArray]#
- ids: ndarray#
- max_speeds: ndarray#
- to_nodes: ndarray#
- class NodeCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, is_centroids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, geometries: Union[List[List[float]], List[numpy.ndarray], numpy.ndarray, NoneType] = None)#
Bases:
object- geometries: Optional[Union[List[List[float]], List[ndarray], ndarray]]#
- ids: ndarray#
- is_centroids: ndarray#
id_generator#
- class IdGenerator#
Bases:
objectSince aequilibrae has a fixed structure for ids we have to be able to convert between our ids and aequilibrae ids
- get_new_ids(original_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
- query_new_ids(original_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
- query_original_ids(new_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
patches#
- class AequilibraeMatrix#
Bases:
AequilibraeMatrix- close()#
Removes matrix from memory and flushes all data to disk, or closes the OMX file if that is the case
- get_matrix(core: str, copy=True)#
Returns the data for a matrix core
- Args:
core (
str): name of the matrix core to be returnedcopy (
bool, optional): return a copy of the data. Defaults to False
- Returns:
object (
np.ndarray): NumPy array
point_generator#
- class PointGenerator(increment: float = 0.001)#
Bases:
objectSince aequilibrae can’t work with overlapping points we have to be able to generate unique points
- add_point(point: Union[Tuple[float, float], List[float], ndarray]) None#
- add_points(points: Union[List[Union[Tuple[float, float], List[float], ndarray]], ndarray]) None#
- generate_and_add(reference_point: Union[Tuple[float, float], List[float], ndarray]) ndarray#
- property point_count: int#
project#
- class AssignmentParameters(volume_delay_function: str = 'BPR', vdf_alpha: float = 0.64, vdf_beta: float = 4.0, cargo_pcu: float = 1.9, algorithm: str = 'bfw', max_iter: int = 1000, rgap_target: float = 0.001)#
Bases:
object- algorithm: str = 'bfw'#
- cargo_pcu: float = 1.9#
- max_iter: int = 1000#
- rgap_target: float = 0.001#
- vdf_alpha: float = 0.64#
- vdf_beta: float = 4.0#
- volume_delay_function: str = 'BPR'#
- class ProjectWrapper(project_path: Optional[Union[str, Path]] = None, project_name: Optional[str] = None, delete_on_close: bool = True)#
Bases:
objectThis class wraps Aequilibrae methods with sensible methods and bugfixes
- add_column(column_name: str, values: Optional[Sequence] = None) None#
- add_links(links: LinkCollection, raise_on_geometry_mismatch: bool = True) None#
- add_nodes(nodes: NodeCollection) None#
- assign_traffic(od_matrix_passenger: ndarray, od_matrix_cargo: ndarray, parameters: Optional[AssignmentParameters] = None) AssignmentResultCollection#
- build_graph(cost_field: str, block_centroid_flows: bool = True) Graph#
- calculate_free_flow_times() ndarray#
Aequilibrae calculates distances automatically but does not compute free flow time, so we have to calculate them manually
- close() None#
- convert_od_matrix(od_matrix: ndarray, matrix_name: str) AequilibraeMatrix#
- get_links() LinkCollection#
- get_nodes() NodeCollection#
- get_shortest_path(from_node: int, to_node: int, path_results: Optional[PathResults] = None) Optional[GraphPath]#
- transformer = <Unknown Transformer: unknown> Description: unavailable until proj_trans is called Area of Use: - undefined#
- update_column(column_name: str, values: Sequence) None#
Module contents#
- class AssignmentParameters(volume_delay_function: str = 'BPR', vdf_alpha: float = 0.64, vdf_beta: float = 4.0, cargo_pcu: float = 1.9, algorithm: str = 'bfw', max_iter: int = 1000, rgap_target: float = 0.001)#
Bases:
object- algorithm: str = 'bfw'#
- cargo_pcu: float = 1.9#
- max_iter: int = 1000#
- rgap_target: float = 0.001#
- vdf_alpha: float = 0.64#
- vdf_beta: float = 4.0#
- volume_delay_function: str = 'BPR'#
- class AssignmentResultCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, passenger_flow: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, cargo_flow: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, congested_time: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, delay_factor: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, volume_to_capacity: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, passenger_car_unit: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None)#
Bases:
object- cargo_flow: ndarray#
- congested_time: ndarray#
- delay_factor: ndarray#
- ids: ndarray#
- passenger_car_unit: ndarray#
- passenger_flow: ndarray#
- volume_to_capacity: ndarray#
- class GraphPath(nodes: numpy.ndarray, links: numpy.ndarray, path_results: aequilibrae.paths.results.path_results.PathResults)#
Bases:
object- links: ndarray#
- nodes: ndarray#
- path_results: PathResults#
- class IdGenerator#
Bases:
objectSince aequilibrae has a fixed structure for ids we have to be able to convert between our ids and aequilibrae ids
- get_new_ids(original_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
- query_new_ids(original_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
- query_original_ids(new_ids: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) ndarray#
- class LinkCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, from_nodes: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, to_nodes: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, directions: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, max_speeds: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, capacities: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, geometries: Optional[movici_simulation_core.core.arrays.TrackedCSRArray] = None)#
Bases:
object- capacities: ndarray#
- directions: ndarray#
- from_nodes: ndarray#
- geometries: Optional[TrackedCSRArray]#
- ids: ndarray#
- max_speeds: ndarray#
- to_nodes: ndarray#
- class NodeCollection(ids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, is_centroids: Union[numpy.__array_like._SupportsArray[numpy.dtype], numpy.__nested_sequence._NestedSequence[numpy.__array_like._SupportsArray[numpy.dtype]], bool, int, float, complex, str, bytes, numpy.__nested_sequence._NestedSequence[Union[bool, int, float, complex, str, bytes]], NoneType] = None, geometries: Union[List[List[float]], List[numpy.ndarray], numpy.ndarray, NoneType] = None)#
Bases:
object- geometries: Optional[Union[List[List[float]], List[ndarray], ndarray]]#
- ids: ndarray#
- is_centroids: ndarray#
- class PointGenerator(increment: float = 0.001)#
Bases:
objectSince aequilibrae can’t work with overlapping points we have to be able to generate unique points
- add_point(point: Union[Tuple[float, float], List[float], ndarray]) None#
- add_points(points: Union[List[Union[Tuple[float, float], List[float], ndarray]], ndarray]) None#
- generate_and_add(reference_point: Union[Tuple[float, float], List[float], ndarray]) ndarray#
- property point_count: int#
- class ProjectWrapper(project_path: Optional[Union[str, Path]] = None, project_name: Optional[str] = None, delete_on_close: bool = True)#
Bases:
objectThis class wraps Aequilibrae methods with sensible methods and bugfixes
- add_column(column_name: str, values: Optional[Sequence] = None) None#
- add_links(links: LinkCollection, raise_on_geometry_mismatch: bool = True) None#
- add_nodes(nodes: NodeCollection) None#
- assign_traffic(od_matrix_passenger: ndarray, od_matrix_cargo: ndarray, parameters: Optional[AssignmentParameters] = None) AssignmentResultCollection#
- build_graph(cost_field: str, block_centroid_flows: bool = True) Graph#
- calculate_free_flow_times() ndarray#
Aequilibrae calculates distances automatically but does not compute free flow time, so we have to calculate them manually
- close() None#
- convert_od_matrix(od_matrix: ndarray, matrix_name: str) AequilibraeMatrix#
- get_links() LinkCollection#
- get_nodes() NodeCollection#
- get_shortest_path(from_node: int, to_node: int, path_results: Optional[PathResults] = None) Optional[GraphPath]#
- transformer = <Unknown Transformer: unknown> Description: unavailable until proj_trans is called Area of Use: - undefined#
- update_column(column_name: str, values: Sequence) None#