Getting Started

cityseer is a collection of computational tools for fine-grained street-network and land-use analysis, useful for assessing the morphological precursors to vibrant neighbourhoods.

The getting started guide and a growing collection of other examples is available via the Cityseer Examples site. The example notebooks include workflows showing how to run graph cleaning, network centralities, and land-use accessibility analysis for some real-world situations.

cityseer is underpinned by network-based methods that have been developed from the ground-up for micro-morphological urban analysis at the pedestrian scale, with the intention of providing contextually specific metrics for any given streetfront location. Importantly, cityseer computes metrics directly over the street network and offers distance-weighted variants. The combination of these strategies makes cityseer more contextually sensitive than methods otherwise based on crow-flies aggregation methods that do not take the network structure and its affect on pedestrian walking distances into account.

The use of python facilitates interaction with popular computational tools for network manipulation (e.g. networkX), geospatial data processing (e.g. shapely, etc.), Open Street Map workflows with OSMnx, and interaction with the numpy, geopandas (and momepy) stack of packages. The underlying algorithms are parallelised and implemented in rust so that the methods can be scaled to large networks. In-out convenience methods are provided for interfacing with networkX and graph cleaning tools aid the incorporation of messier network representations such as those derived from Open Street Map.

The github repository is available at github.com/benchmark-urbanism/cityseer-api. Please cite the associated paper when using this package. Associated papers introducing the package and demonstrating the forms of analysis that can be done with it are available at arXiv.

Code tests are run against Python versions 3.10 - 3.12.

Old versions

For documentations of older versions of cityseer, please refer to the docstrings which are directly embedded in the code for the respective version:

  • Documentation for v1.x
  • Documentation for v2.x
  • Documentation for v3.x