Categories
Data

OSMnx Reference Paper Published

The official OSMnx reference paper, titled “Modeling and Analyzing Urban Networks and Amenities With OSMnx,” has just been published open-access by Geographical Analysis. Years in the making, this article describes what OSMnx does and why it does it that way.

OSMnx: Figure-ground diagrams of one square mile of each street network, from OpenStreetMap, made in Python with matplotlib, geopandas, and NetworkXBut wait, there’s more! I also discuss many lessons learned over the past decade in geospatial software development, including:

  • what makes a good API, and why is it so hard for academics to make one
  • how your development pipeline and continuous integration can make or break your quality of life as an open-source developer
  • dependency ecosystems and the fine line between dependency heaven and dependency hell
  • why reusable geospatial software is so important for open science, and how we can advance it

All of these lessons have become central to the work my RAs do in the Urban Analytics lab at USC. They’re not always easy, but they make a clear improvement in code quality, clarity, and reusability that directly impacts our downstream empirical analyses and scientific theorizing.

From the abstract:

OSMnx is a Python package for downloading, modeling, analyzing, and visualizing urban networks and any other geospatial features from OpenStreetMap data. A large and growing body of literature uses it to conduct scientific studies across the disciplines of geography, urban planning, transport engineering, computer science, and others. The OSMnx project has recently developed and implemented many new features, modeling capabilities, and analytical methods. The package now encompasses substantially more functionality than was previously documented in the literature. This article introduces OSMnx’s modern capabilities, usage, and design—in addition to the scientific theory and logic underlying them. It shares lessons learned in geospatial software development and reflects on open science’s implications for urban modeling and analysis.

This year will mark the 10th anniversary of my work on the OSMnx project. It recently reached version 2.0 with a slew of new features and enhancements. If you haven’t used it before, OSMnx is a Python package to easily download, model, analyze, and visualize street networks and any other geospatial features from OpenStreetMap. You can download and model walking, driving, or biking networks with a single line of code then quickly analyze and visualize them. You can just as easily work with urban amenities/points of interest, building footprints, transit stops, elevation data, street orientations, speed/travel time, and routing.

For more, check out the article at Geographical Analysis.

Categories
Tech

Zephyr Foundation Award

I am happy to share that I was awarded the Zephyr Foundation’s 2025 Exceptional Technical Achievement Award for my work on OSMnx. This annual award recognizes a project that has had a positive impact on the fields or transportation and/or land use decision-making.

This year will mark the 10th anniversary of my work on the OSMnx project. It recently reached version 2.0 with a slew of new features and enhancements. If you haven’t used it before, OSMnx is a Python package to easily download, model, analyze, and visualize street networks and any other geospatial features from OpenStreetMap. You can download and model walking, driving, or biking networks with a single line of code then quickly analyze and visualize them. You can just as easily work with urban amenities/points of interest, building footprints, transit stops, elevation data, street orientations, speed/travel time, and routing.

If you’re interested in this tool, you can read more about it here.

Categories
Academia

Surfacic Networks

I recently coauthored an article titled “Surfacic Networks” in PNAS Nexus with Marc Barthelemy, Alain Chiaradia, and Chris Webster. We propose the concept of surfacic networks to describe a class of spatial networks embedded in non-flat two-dimensional manifolds (e.g., the Earth’s surface), and what this means for distance metrics and lazy path solving when accounting for fluctuations in the manifold’s curvature (e.g., changes in elevation on Earth’s surface).

Surfacic network: a spatial network embedded in a non-flat two-dimensional manifold such as the Earth's surface accounting for elevation changesFrom the abstract:

Surfacic networks are structures built upon a 2D manifold. Many systems, including transportation networks and various urban networks, fall into this category. The fluctuations of node elevations imply significant deviations from typical plane networks and require specific tools to understand their impact. Here, we present such tools, including lazy paths that minimize elevation differences, graph arduousness which measures the tiring nature of shortest paths (SPs), and the excess effort, which characterizes positive elevation variations along SPs. We illustrate these measures using toy models of surfacic networks and empirically examine pedestrian networks in selected cities. Specifically, we examine how changes in elevation affect the spatial distribution of betweenness centrality. We also demonstrate that the excess effort follows a nontrivial power law distribution, with an exponent that is not universal, which illustrates that there is a significant probability of encountering steep slopes along SPs, regardless of the elevation difference between the starting point and the destination. These findings highlight the significance of elevation fluctuations in shaping network characteristics. Surfacic networks offer a promising framework for comprehensively analyzing and modeling complex systems that are situated on or constrained to a surface environment.

For more, check out the article.

Categories
Data

OSMnx 2.0 Released

OSMnx version 2.0.0 has been released. This has been a massive effort over the past year to streamline the package’s API, re-think its internal organization, and optimize its code. Today OSMnx is faster, more memory efficient, and fully type-annotated for a better user experience.

If you haven’t used it before, OSMnx is a Python package to easily download, model, analyze, and visualize street networks and any other geospatial features from OpenStreetMap. You can download and model walking, driving, or biking networks with a single line of code then quickly analyze and visualize them. You can just as easily work with urban amenities/points of interest, building footprints, transit stops, elevation data, street orientations, speed/travel time, and routing.OSMnx: Figure-ground diagrams of one square mile of each street network, from OpenStreetMap, made in Python with matplotlib, geopandas, and NetworkXThis has now been a labor of love for me for about 9 years. Wow. I initially developed this package to enable the empirical research for my dissertation. Since then, it has powered probably 2/3 of the articles I’ve published over the years. And it has received hundreds of contributions from many other code contributors. Thank you to everyone who helped make this possible.

I hope you find the package as useful as I do. Now I’m looking forward to all of your bug reports.

Categories
Academia

The Structure of Street Networks

I recently coauthored an article titled “A Review of the Structure of Street Networks” with Marc Barthelemy in Transport Findings. On a personal note, Marc has long been a personal hero of mine and was the 2nd most cited author in my dissertation, after Mike Batty (who I also recently had the pleasure of collaborating with).

Street network orientation in Chicago (low entropy), New Orleans (medium entropy), and Rome (high entropy) with polar histograms.From the abstract:

We review measures of street network structure proposed in the recent literature, establish their relevance to practice, and identify open challenges facing researchers. These measures’ empirical values vary substantially across world regions and development eras, indicating street networks’ geometric and topological heterogeneity.

For more, check out the article.

Categories
Data

OSMnx 2.0 Beta

OSMnx v2.0.0 is targeted for release later in 2024. This major release includes some breaking changes (including removing previously deprecated functionality) that are not backwards compatible with v1. See the migration guide and reference paper for details.

The first beta pre-release is out now, and testers are needed. If you use OSMnx, you can help test it by installing the latest pre-release. Create a virtual environment then run: pip install --pre osmnx

For more, check out the migration guide and reference paper.

Categories
Planning

Resilient by Design

I have a new article out now in Transportation Research Part A: Policy and Practice. Here’s a free open-access preprint if you lack institutional access.

We simulate over 2.4 billion trips across every urban area in the world to measure street network vulnerability to disasters, then measure the relationships between street network design and these vulnerability indicators.

First we modeled the street networks of more than 8,000 urban areas in 178 countries. Then, for each urban area, we simulated disasters of 3 different types (representing floods, earthquakes, and targeted attacks) and 10 different extents. Then we simulated over 2.4 billion trips on these networks to measure how certain trips become more circuitous or even impossible to complete as parts of the network fail after a disaster. Finally we built a model to predict how much a disaster would impact trips.

Categories
Planning

Street Network Design and GHG Emissions

I have a new article out in Transportation Research Part D that estimates relationships between street network characteristics and transport CO2 emissions across every urban area in the world and investigates whether they are the same across development levels and design paradigms.

The relationships between street network design and transport emissions in the US, Europe, and China are well-studied. But not so in many of the most rapidly developing parts of the world. Practitioners lack a strong local evidence base for local evidence-informed planning.

Categories
Planning

Rethinking the One-Way Street

I recently published an article in Transfers Magazine with Billy Riggs questioning some of the received wisdom about one-way streets and efficiency. This builds on our recent research published in JPER modeling vehicle distance traveled before and after hypothetical one-way to two-way street conversions.

Categories
Planning

Air Pollution Exposure in Los Angeles

I have a new article out now in Urban Studies, which finds that—all else equal—residents of Los Angeles census tracts that generate more vehicular travel tend to be exposed to less vehicular air pollution, and that tracts with a larger non-white population proportion—whether high- or low-income—experience more air pollution than do whiter but otherwise similar tracts. There’s also a free, open access pre-print available.

Twentieth century planners designed and constructed an enormous network of expressways to open up growing American metropolises to motorists. Vast swaths of established urban neighborhoods were bulldozed to clear new channels for suburban residents to drive to job centers. Yet some older neighborhoods survived relatively unscathed.

For example, in Los Angeles, local residents organized to protest and eventually successfully cancel plans to extend State Route 2 through the affluent communities of Beverly Hills and Los Angeles’s westside. In contrast, similar grassroots efforts failed in Los Angeles’s eastside, where several major freeways carved up its less-affluent and less-white neighborhoods.