Skip to main content

Computational tools for network-based pedestrian-scale urban analysis

Project description

cityseer

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

PyPI version

publish package

deploy docs

pdm-managed

Code style: black

  • Documentation for v1.x: see documented code per tagged release v1
  • Documentation for v2.x: see documented code per tagged release v2
  • Documentation for v3.x: see documented code per tagged release v3
  • Documentation for v4+: https://cityseer.benchmarkurbanism.com/

Demo Notebooks: https://cityseer.benchmarkurbanism.com/examples/

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.

Development

pdm install python -m ensurepip --default-pip brew install rust rust-analyzer rustfmt

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cityseer-4.0.0b6.tar.gz (52.7 MB view hashes)

Uploaded Source

Built Distributions

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

cityseer-4.0.0b6-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

cityseer-4.0.0b6-cp311-none-win_amd64.whl (431.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

cityseer-4.0.0b6-cp311-none-win32.whl (404.8 kB view hashes)

Uploaded CPython 3.11 Windows x86

cityseer-4.0.0b6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cityseer-4.0.0b6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

cityseer-4.0.0b6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

cityseer-4.0.0b6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

cityseer-4.0.0b6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

cityseer-4.0.0b6-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

cityseer-4.0.0b6-cp311-cp311-macosx_11_0_arm64.whl (575.5 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

cityseer-4.0.0b6-cp311-cp311-macosx_10_7_x86_64.whl (594.5 kB view hashes)

Uploaded CPython 3.11 macOS 10.7+ x86-64

cityseer-4.0.0b6-cp310-none-win_amd64.whl (431.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

cityseer-4.0.0b6-cp310-none-win32.whl (404.8 kB view hashes)

Uploaded CPython 3.10 Windows x86

cityseer-4.0.0b6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cityseer-4.0.0b6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

cityseer-4.0.0b6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

cityseer-4.0.0b6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

cityseer-4.0.0b6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

cityseer-4.0.0b6-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

cityseer-4.0.0b6-cp310-cp310-macosx_11_0_arm64.whl (575.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

cityseer-4.0.0b6-cp310-cp310-macosx_10_7_x86_64.whl (594.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page