ae_wrapper#
collections#
- class AssignmentResultCollection(ids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, passenger_flow: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, cargo_flow: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, congested_time: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, delay_factor: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, volume_to_capacity: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, passenger_car_unit: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[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: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, from_nodes: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, to_nodes: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, directions: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, max_speeds: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, capacities: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, geometries: movici_simulation_core.core.arrays.TrackedCSRArray | None = None)#
Bases:
object
- capacities: ndarray#
- directions: ndarray#
- from_nodes: ndarray#
- geometries: TrackedCSRArray | None#
- ids: ndarray#
- max_speeds: ndarray#
- to_nodes: ndarray#
- class NodeCollection(ids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, is_centroids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, geometries: List[List[float]] | List[numpy.ndarray] | numpy.ndarray | NoneType = None)#
Bases:
object
- geometries: List[List[float]] | List[ndarray] | ndarray | None#
- ids: ndarray#
- is_centroids: ndarray#
id_generator#
- class IdGenerator#
Bases:
object
Since 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: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
- query_new_ids(original_ids: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
- query_original_ids(new_ids: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
patches#
point_generator#
- class PointGenerator(increment: float = 0.001)#
Bases:
object
Since aequilibrae can’t work with overlapping points we have to be able to generate unique points
- add_point(point: Tuple[float, float] | List[float] | ndarray) None #
- add_points(points: List[Tuple[float, float] | List[float] | ndarray] | ndarray) None #
- generate_and_add(reference_point: 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: str | Path | None = None, project_name: str | None = None, delete_on_close: bool = True)#
Bases:
object
This class wraps Aequilibrae methods with sensible methods and bugfixes
- add_column(column_name: str, values: Sequence | None = 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: AssignmentParameters | None = 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 #
- exclude_segments(segment_ids: Sequence[int])#
- get_links() LinkCollection #
- get_nodes() NodeCollection #
- get_shortest_path(from_node: int, to_node: int, path_results: PathResults | None = None) GraphPath | None #
- 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: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, passenger_flow: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, cargo_flow: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, congested_time: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, delay_factor: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, volume_to_capacity: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, passenger_car_unit: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[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:
object
Since 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: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
- query_new_ids(original_ids: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
- query_original_ids(new_ids: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) ndarray #
- class LinkCollection(ids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, from_nodes: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, to_nodes: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, directions: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, max_speeds: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, capacities: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, geometries: movici_simulation_core.core.arrays.TrackedCSRArray | None = None)#
Bases:
object
- capacities: ndarray#
- directions: ndarray#
- from_nodes: ndarray#
- geometries: TrackedCSRArray | None#
- ids: ndarray#
- max_speeds: ndarray#
- to_nodes: ndarray#
- class NodeCollection(ids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, is_centroids: numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | bool | int | float | complex | str | bytes | numpy._typing._nested_sequence._NestedSequence[bool | int | float | complex | str | bytes] | NoneType = None, geometries: List[List[float]] | List[numpy.ndarray] | numpy.ndarray | NoneType = None)#
Bases:
object
- geometries: List[List[float]] | List[ndarray] | ndarray | None#
- ids: ndarray#
- is_centroids: ndarray#
- class PointGenerator(increment: float = 0.001)#
Bases:
object
Since aequilibrae can’t work with overlapping points we have to be able to generate unique points
- add_point(point: Tuple[float, float] | List[float] | ndarray) None #
- add_points(points: List[Tuple[float, float] | List[float] | ndarray] | ndarray) None #
- generate_and_add(reference_point: Tuple[float, float] | List[float] | ndarray) ndarray #
- property point_count: int#
- class ProjectWrapper(project_path: str | Path | None = None, project_name: str | None = None, delete_on_close: bool = True)#
Bases:
object
This class wraps Aequilibrae methods with sensible methods and bugfixes
- add_column(column_name: str, values: Sequence | None = 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: AssignmentParameters | None = 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 #
- exclude_segments(segment_ids: Sequence[int])#
- get_links() LinkCollection #
- get_nodes() NodeCollection #
- get_shortest_path(from_node: int, to_node: int, path_results: PathResults | None = None) GraphPath | None #
- transformer = <Unknown Transformer: unknown> Description: unavailable until proj_trans is called Area of Use: - undefined#
- update_column(column_name: str, values: Sequence) None #