Skip to content

christian-werner/spatial-centrality-pub

Repository files navigation

Spatial Centrality

The code provided in this repository shows an exemplary implementation of spatial betweenness centrality for transport networks.

Abstract

Centrality metrics are essential to network analysis. They reveal important morphological properties of networks, indicating e.g. node or edge importance. Applications are manifold, ranging from biology to transport planning. However, while being commonly applied in spatial contexts such as urban analytics, the implications of the spatial configuration of network elements on these metrics are widely neglected. As a consequence, a systematic bias is introduced into spatial network analyses. When applied to real-world problems, unintended side effects and wrong conclusions might be the result. In this paper, we assess the impact of node density on betweenness centrality. Furthermore, we propose a method for computing spatially normalised betweenness centrality. We apply it to a theoretical case as well as real-world transport networks. Results show that spatial normalisation mitigates the prevalent bias of node density.

You find the original GIScience publication at:

https://doi.org/10.4230/LIPIcs.GIScience.2023.83

Further examples are provided at:

https://doi.org/10.5281/zenodo.8125632

Input data

For the given implementation, we used OpenStreetMap data which was downloaded and preprocessed through NetAScore (https://github.com/plus-mobilitylab/netascore). If you want to run analyses for an own area of interest, you can follow instructions given in the NetAScore repository for generating a custom dataset. We further provide datasets for all example cases of the GIScience publication at https://doi.org/10.5281/zenodo.8125632.

The code

This exemplary implementation of spatial betweenness centrality is based on:

You find the adapted algorithm for centrality computation in algo/centrality.py. All further steps for preparing the dataset, computing spatial coverage of nodes, and for visualising results are provided in a notebook netascore_networkx.ipynb. Additional helper functions are located in algo/net_helper.py.

Releases

No releases published

Packages

No packages published