# momepy.betweenness_centrality¶

momepy.betweenness_centrality(graph, name='betweenness', mode='nodes', weight='mm_len', endpoints=True, **kwargs)[source]

Calculates the shortest-path betweenness centrality for nodes.

Wrapper around networkx.betweenness_centrality or networkx.edge_betweenness_centrality.

Betweenness centrality of a node v is the sum of the fraction of all-pairs shortest paths that pass through v

$c_B(v) =\sum_{s,t \in V} \frac{\sigma(s, t|v)}{\sigma(s, t)}$

where V is the set of nodes, $$\sigma(s, t)$$ is the number of shortest $$(s, t)$$-paths, and $$\sigma(s, t|v)$$ is the number of those paths passing through some node v other than s, t. If s = t, $$\sigma(s, t) = 1$$, and if v in {s, t}`, $$\sigma(s, t|v) = 0$$.

Betweenness centrality of an edge e is the sum of the fraction of all-pairs shortest paths that pass through e

$c_B(e) =\sum_{s,t \in V} \frac{\sigma(s, t|e)}{\sigma(s, t)}$

where V is the set of nodes, $$\sigma(s, t)$$ is the number of shortest $$(s, t)$$-paths, and $$\sigma(s, t|e)$$ is the number of those paths passing through edge e.

Parameters
graphnetworkx.Graph

Graph representing street network. Ideally genereated from GeoDataFrame using momepy.gdf_to_nx()

namestr, optional

calculated attribute name

modestr, default ‘nodes’

mode of betweenness calculation. ‘node’ for node-based, ‘edges’ for edge-based

weightstr (default ‘mm_len’)

attribute holding the weight of edge (e.g. length, angle)

**kwargs

kwargs for networkx.betweenness_centrality or networkx.edge_betweenness_centrality

Returns
Graph

networkx.Graph

References

Porta S, Crucitti P and Latora V (2006) The network analysis of urban streets: A primal approach. Environment and Planning B: Planning and Design 33(5): 705–725.

Examples

>>> network_graph = mm.betweenness_centrality(network_graph)