/cityseer-api

Computational tools for urban analysis

Primary LanguageJupyter NotebookGNU Affero General Public License v3.0AGPL-3.0

cityseer

A Python package for pedestrian-scale network-based urban analysis: network analysis, landuse accessibilities and mixed uses, statistical aggregations.

publish package

deploy docs

Documentation: https://cityseer.benchmarkurbanism.com/

Issues: https://github.com/benchmark-urbanism/cityseer-api/issues

Questions: https://github.com/benchmark-urbanism/cityseer-api/discussions

Cite as: The cityseer Python package for pedestrian-scale network-based urban analysis

The cityseer-api Python package addresses a range of issues specific to computational workflows for urban analytics from an urbanist's point of view and contributes a combination of techniques to support developments in this field:

  • High-resolution workflows including localised moving-window analysis with strict network-based distance thresholds; spatially precise assignment of land-use or other data points to adjacent street-fronts for improved contextual sensitivity; dynamic aggregation workflows which aggregate and compute distances on-the-fly from any selected point on the network to any accessible land-use or data point within a selected distance threshold; facilitation of workflows eschewing intervening steps of aggregation and associated issues such as ecological correlations; and the optional use of network decomposition to increase the resolution of the analysis.
  • Localised computation of network centralities using either shortest or simplest path heuristics on either primal or dual graphs, including tailored methods such as harmonic closeness centrality (which behaves more suitably than traditional variants of closeness), and segmented versions of centrality (which convert centrality methods from a discretised to an explicitly continuous form). For more information, see "Network centrality measures and their correlation to mixed-uses at the pedestrian-scale".
  • Land-use accessibilities and mixed-use calculations incorporate dynamic and directional aggregation workflows with the optional use of spatial-impedance-weighted forms. These can likewise be applied with either shortest or simplest path heuristics and on either primal or dual graphs. For more information, see "The application of mixed-use measures at the pedestrian-scale".
  • Network centralities dovetailed with land-use accessibilities, mixed-uses, and general statistical aggregations from the same points of analysis to generate multi-scalar and multi-variable datasets facilitating downstream data science and machine learning workflows. For examples, see "Untangling urban data signatures: unsupervised machine learning methods for the detection of urban archetypes at the pedestrian scale" and "Prediction of 'artificial' urban archetypes at the pedestrian-scale through a synthesis of domain expertise with machine learning methods".
  • The inclusion of graph cleaning methods reduce topological distortions for higher quality network analysis and aggregation workflows while accommodating workflows bridging the wider NumPy ecosystem of scientific and geospatial packages. See the Graph Cleaning Guide.
  • Numba JIT compilation of underlying loop-intensive algorithms allows for these methods to be applied to large and, optionally, decomposed graphs, which have greater computational demands.