momepy.cyclomatic¶
-
momepy.cyclomatic(graph, radius=
5, name='cyclomatic', distance=None, verbose=True)[source]¶ Calculates cyclomatic complexity for subgraph around each node if radius is set, or for whole graph, if
radius=None. A subgraph is generated around each node within set radius. Ifdistance=None, radius will define topological distance, otherwise it uses values indistanceattribute.\[\alpha=e-v+1\]where \(e\) is the number of edges in subgraph and \(v\) is the number of nodes in subgraph.
Adapted from [Bourdic et al., 2012].
- Parameters:¶
- graph : networkx.Graph¶
A Graph representing a street network. Ideally generated from GeoDataFrame using
momepy.gdf_to_nx().- radius : int | None, optional¶
Include all neighbors of distance <= radius from
n. If None, calculate the metric for the entire graph.- name : str, optional¶
The calculated attribute name.
- distance : str, optional¶
Use specified edge data key as distance. For example, setting
distance=’weight’will use the edgeweightto measure the distance from the noden.- verbose : bool (default True)¶
If
True, shows progress bars in loops and indication of steps.
- Returns:¶
netx (Graph) – A networkx.Graph object if
radiusis set.int – The cyclomatic complexity for the graph if
radius=None.
Examples
>>> network_graph = mm.cyclomatic(network_graph, radius=3)