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 v1.2 Released

OSMnx v1.2.0 has been released. It includes several new features, bug fixes, and performance enhancements. I encourage you to upgrade and take advantage of everything new. For more information, check out the OSMnx documentation and usage examples for demonstrations of all you can do.

Categories
Data

OSMnx v1.1 Released

OSMnx v1.1.0 has been released. It includes several new features, bug fixes, and performance enhancements. I encourage you to upgrade and take advantage of everything new. I’ll summarize some of the key improvements in this post.

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
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