blocksnet.preprocessing.accessibility_processor
IduEdu wrapper. The module is used to generate graph based on user territory and calculate the accessibility matrix.
Classes
|
Processor class for calculating accessibility matrix and generating intermodal graph for a given set of city blocks. |
|
Schema class for handling geospatial block data with specified geometry types. |
- class blocksnet.preprocessing.accessibility_processor.BlocksSchema(*args, **kwargs)[source]
Bases:
BaseSchema
Schema class for handling geospatial block data with specified geometry types.
- Variables:
_geom_types (list) – List of allowed geometry types (Polygon, MultiPolygon).
- class blocksnet.preprocessing.accessibility_processor.AccessibilityProcessor(blocks: GeoDataFrame)[source]
Bases:
object
Processor class for calculating accessibility matrix and generating intermodal graph for a given set of city blocks.
- Parameters:
blocks (gpd.GeoDataFrame) – A GeoDataFrame containing the geospatial data of city blocks.
- property polygon: Polygon
Computes the convex hull polygon that encloses all blocks.
- Returns:
Convex hull of the blocks in the specified CRS (IDUEDU_CRS).
- Return type:
shapely.geometry.Polygon
- static plot(blocks: GeoDataFrame, graph: Graph, figsize: tuple[int, int] = (10, 10), linewidth: float = 0.2)[source]
Plots the urban blocks and the intermodal city graph on a map.
- Parameters:
blocks (gpd.GeoDataFrame) – GeoDataFrame containing the urban blocks geometry.
graph (nx.Graph) – NetworkX graph representing the intermodal transportation network.
figsize (tuple[int, int], optional) – Size of the figure (width, height), by default (10, 10).
linewidth (float, optional) – Width of the plotted edges, by default 0.2.
- static _get_broken_nodes(graph: Graph) list [source]
Identifies broken nodes in the graph that do not have ‘x’ or ‘y’ coordinates.
- Parameters:
graph (nx.Graph) – NetworkX graph representing the transportation network.
- Returns:
A list of broken node identifiers.
- Return type:
list
- static _get_island_nodes(graph: Graph) list [source]
Identifies island nodes in the graph that stay not connected with the main graph.
- Parameters:
graph (nx.Graph) – NetworkX graph representing the transportation network.
- Returns:
A list of island node identifiers.
- Return type:
list
- classmethod _fix_graph(graph) None [source]
Removes broken nodes that do not have valid coordinates and islands from the graph inplace.
- Parameters:
graph (nx.Graph) – NetworkX graph representing the transportation network.
- get_intermodal_graph(clip_by_bounds: bool = True, keep_routes_geom: bool = True) Graph [source]
Generates an intermodal transportation graph for the given blocks area.
- Parameters:
clip_by_bounds (bool, optional) – Whether to clip the graph by the polygon bounds, by default True.
keep_routes_geom (bool, optional) – Whether to keep the geometry of the routes in the graph, by default True.
- Returns:
NetworkX graph representing the intermodal transportation network.
- Return type:
nx.Graph
- get_accessibility_matrix(graph: Graph, weight: str = 'time_min') DataFrame [source]
Calculates the accessibility matrix between city blocks using the provided graph.
- Parameters:
graph (nx.Graph) – NetworkX graph representing the intermodal transportation network.
weight (str, optional) – Edge attribute to use for calculating distances (e.g., ‘time_min’), by default “time_min”.
- Returns:
Accessibility matrix as a DataFrame.
- Return type:
pd.DataFrame