Categories
Urban

Street Network Simplification

How many street intersections do you see in this figure? I have a new article published this week in Transactions in GIS (open-access) and its first sentence sums it up: “Counting is hard.” Hear me out… it really is!

Street network graph simplification of complex intersections, nonplanarity, and curve digitization from OpenStreetMap dataMost real-world objects belong to fuzzy categories, resulting in subjective decisions about what to include or exclude from counts. Yet this complexity is often obscured by a superficial impression that counting is easy to do because its mechanics seem easy to understand. After all, everyone learns to count in kindergarten by simply enumerating the elements in a set. But counting is hard because defining that set and identifying its members are often nontrivial tasks. Many of the world’s most important analytics rely far less on flashy data science techniques than they do on counting things well and justifying those counts effectively.

Street intersection counts and densities are ubiquitous measures in transportation geography and planning. However, typical street network data and typical street network analysis tools can substantially overcount them. This article explains the 3 main reasons why this happens and presents solutions to each.

Street intersections, particularly the complex kind common in modern car-centric urban areas, are fuzzy objects for which most data sources do not provide a simple 1:1 representation. This results in spatial uncertainty due to data challenges in representing network nonplanarity, intersection complexity, and curve digitization. Essentially all data sources suffer from at least 1 of these problems due to difficulties representing divided roads, slip lanes, roundabouts, interchanges, complex turning lanes, etc. If unaddressed, my assessment shows that typical intersection counts (and downstream densities) would be overestimated by >14%, but very unevenly so in different parts of the world. This bias’s extreme heterogeneity particularly hinders comparative urban analytics.Street network topology simplification with OSMnx and OpenStreetMapMitigating these 3 problems is a project I’ve been iteratively refining for the past decade. It was a central focus of my dissertation and a key motivation for originally developing OSMnx. This article presents OSMnx’s algorithms to automatically simplify spatial graphs of urban street networks—via edge simplification and node consolidation—resulting in faster parsimonious models and more accurate network measures like intersection counts and densities, street segment lengths, and node degrees. These algorithms’ information compression drastically improves downstream graph analytics’ memory and runtime efficiency, boosting analytical tractability without loss of model fidelity.

Counting is hard, but we can make it a little easier by using better models. For more, check out the open-access article.

Categories
Data

GIS and Computational Notebooks

I have a new chapter “GIS and Computational Notebooks,” co-authored with Dani Arribas-Bel, out now in The Geographic Information Science & Technology Body of Knowledge. Want to make your spatial analyses more reproducible, portable, and well-documented? Our chapter is a short, gentle intro to using code and notebooks for modern GIS work.

Science and analytics both struggle with reproducibility, documentation, and portability. But GIS in both research and practice particularly suffers from these problems due to some of its unique characteristics. Our chapter discusses this challenge and its urgency for building better and more actionable knowledge from geospatial data. Then we introduce an emerging solution, the computational notebook, using Jupyter as our central example to illustrate what it does and how it works.

Jupyter notebook JupyterLab user interface

Categories
Data

New Article on Computational Notebooks

I have a new article out in Region: Journal of the European Regional Science Association, “Urban Street Network Analysis in a Computational Notebook.” It reflects on the use of Jupyter notebooks in applied data science research, pedagogy, and practice, and it uses the OSMnx examples repository as an example.

From the abstract:

Computational notebooks offer researchers, practitioners, students, and educators the ability to interactively conduct analytics and disseminate reproducible workflows that weave together code, visuals, and narratives. This article explores the potential of computational notebooks in urban analytics and planning, demonstrating their utility through a case study of OSMnx and its tutorials repository. OSMnx is a Python package for working with OpenStreetMap data and modeling, analyzing, and visualizing street networks anywhere in the world. Its official demos and tutorials are distributed as open-source Jupyter notebooks on GitHub. This article showcases this resource by documenting the repository and demonstrating OSMnx interactively through a synoptic tutorial adapted from the repository. It illustrates how to download urban data and model street networks for various study sites, compute network indicators, visualize street centrality, calculate routes, and work with other spatial data such as building footprints and points of interest. Computational notebooks help introduce methods to new users and help researchers reach broader audiences interested in learning from, adapting, and remixing their work. Due to their utility and versatility, the ongoing adoption of computational notebooks in urban planning, analytics, and related geocomputation disciplines should continue into the future.

For more, check out the article.