Categories
Data

Worldwide Street Network Models and Indicators

My article, “Street Network Models and Indicators for Every Urban Area in the World” has been published by Geographical Analysis. This project was a massive undertaking and I’m excited to share it. As you might guess from the title, I modeled and analyzed the street network of each urban area in the world then deposited all the source code and models and indicators in open repositories for public reuse. The article also includes a high-level analysis of urban street network form across the world.

Cities worldwide exhibit a variety of street patterns and configurations that shape human mobility, equity, health, and livelihoods. Using boundaries derived from the Global Human Settlement Layer, I modeled and analyzed the street networks of every urban area in the world using OSMnx and OpenStreetMap raw data. In total, I modeled over 160 million street network nodes and over 320 million edges across 8,914 urban areas in 178 countries. I attached node elevations and street grades to every node/edge in the final models. All the final models were topologically simplified such that nodes represent intersections and dead-ends, and edges represent the street segments linking them.

Street network topology simplification with OSMnx and OpenStreetMap

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

OSMnx 1.0 Is Here

Happy new year! After five years of development and over 2,000 code commits from dozens of contributors, OSMnx v1.0 has officially been released. This has been a long labor of love and I’m thrilled to see it reach this milestone.

Much has changed in recent months with new features added and a few things deprecated. Most of this development occurred in a major overhaul over the summer, which I covered at the time in three previous posts. Among these dozens of enhancements were major speed and efficiency improvements throughout the package, better visualization, a new geometries module for retrieving any geospatial objects from OSM, topological intersection consolidation, and much more. I encourage you to read those posts to familiarize yourself with what’s new.

Categories
Urban

Urban Form and OpenStreetMap

My chapter “Exploring Urban Form Through OpenStreetMap Data: A Visual Introduction” has just been published in the new book Urban Experience and Design: Contemporary Perspectives on Improving the Public Realm edited by Justin Hollander and Ann Sussman.

From the abstract:

This chapter introduces OpenStreetMap—a crowdsourced, worldwide mapping project and geospatial data repository—to illustrate its usefulness in quickly and easily analyzing and visualizing planning and design outcomes in the built environment. It demonstrates the OSMnx toolkit for automatically downloading, modeling and visualizing spatial data from OpenStreetMap. We explore patterns and configurations in street networks and buildings around the world computationally through visualization methods—including figure-ground diagrams and polar histograms—that help compress urban complexity into comprehensible artifacts that reflect the human experience of the built environment. Ubiquitous urban data and computation can open up new urban form analyses from both quantitative and qualitative perspectives.

For more, check out the chapter.

Categories
Planning

Off the Grid… and Back Again?

My article “Off the Grid… and Back Again? The Recent Evolution of American Street Network Planning and Design” has been published by the Journal of the American Planning Association and won the 2020 Stough-Johansson Springer Award for best paper. It identifies recent nationwide trends in American street network design, measuring how urban planners abandoned the grid and embraced sprawl over the 20th century, but since 2000 these trends have rebounded, shifting back toward historical design patterns. In this post I discuss these findings and visualizations across the US today as well as over time, then discuss my analysis methods.

Map of where street grids exist today across the US, made with OSMnx and Python

Categories
Academia

Geospatial Tool Building

My new article “The Right Tools for the Job: The Case for Spatial Science Tool-Building” has been published in Transactions in GIS (free PDF). I originally presented this paper as the 8th annual Transactions in GIS plenary address at the AAG annual meeting last year. I argue that tool-building is an essential but poorly incentivized component of academic geography and social science more broadly. To conduct better science, we need to build better tools. Better tools and data models, spearheaded by academics, can help infuse theory into our field’s quantitative work where it is too often lacking. But if we want better tools, we have to build them. It is not ESRI’s job to satisfy all the theoretical needs of the spatial sciences.

Categories
Data

OSMnx Summer Wrap-Up

OSMnx underwent a major overhaul this summer, with the development of several new features, improvements, and optimizations. This project concluded yesterday with the release of v0.16.0.

This post briefly summarizes what’s changed since the previous mid-summer updates. It covers the new k shortest paths solver, auto-selecting the first polygon when geocoding, better conversion of graph types, and the new geometries module that lets you flexibly download any OSM geospatial objects as a geopandas GeoDataFrame.

Categories
Tech

Outlook to Google Calendar Sync

Ah, the travails of academia. Like many universities, USC uses Microsoft Outlook as its email and calendar provider. This presents some integration challenges for those of us, like me, who use Google Calendar everywhere else in life. It’s effectively impossible to sync an Outlook Calendar with a Google Calendar, so I had to juggle between both when trying to schedule anything. Chaos ensues.

So, I created a script to perform an ongoing one-way sync from my USC Microsoft Office 365 Outlook calendar to my personal Google calendar, handling new, updated, and deleted events. I had to develop my own solution because Microsoft/Google inexplicably can’t get their own acts together. For example, you can publish your Outlook calendar’s ICS URL and add it to Google, but it only syncs roughly once per day so you miss any new appointments in the meantime. Microsoft Flow used to work (clumsily) for syncing, but even their official recipes are now broken. So I had to roll my own.

Categories
Data

What’s New With OSMnx, Part 2

This is a follow-up to last month’s post discussing the many new features, improvements, and optimizations made to OSMnx this summer. As this major improvement project now draws to a close, I will summarize what’s new(er) here. Long story short: there are a bunch of new features and everything in the package has been streamlined and optimized to be easier to use, faster, and more memory efficient.

First off, if you haven’t already, read the previous post about new features including topological intersection consolidation, automatic max speed imputation and travel time calculation, generalized points-of-interest queries, querying OSM by date, and API streamlining. This post covers new changes since then, including improved visualization and plotting, improved graph simplification, the new geocoder module, and other miscellaneous improvements.

Categories
Data

What’s New with OSMnx, Part 1

There have been some major changes to OSMnx in the past couple months. I’ll review them briefly here, demonstrate some usage examples, then reflect on a couple upcoming improvements on the horizon. First, what’s new:

  • new consolidate_intersections function with topological option
  • new speed module to impute missing street speeds and calculate travel times for all edges
  • generalized POIs module to query with a flexible tags dict
  • you can now query OSM by date
  • you can now save graph as a geopackage file
  • clean up and streamline the OSMnx API