Square-Mile Street Network Visualization

The heart of Allan Jacobs’ classic book on street-level urban form and design, Great Streets, features dozens of hand-drawn figure-ground diagrams in the style of Nolli maps. Each depicts one square mile of a city’s street network. Drawing these cities at the same scale provides a revealing spatial objectivity in visually comparing their street networks and urban forms.

We can recreate these visualizations automatically with Python and the OSMnx package, which I developed as part of my dissertation. With OSMnx we can download a street network from OpenStreetMap for anywhere in the world in just one line of code. Here are the square-mile diagrams of Portland, San Francisco, Irvine, and Rome created and plotted automatically by OSMnx:

OSMnx: Figure-ground diagrams of one square mile of Portland, San Francisco, Irvine, and Rome shows the street network, urban form, and urban design in these cities

Continue reading Square-Mile Street Network Visualization

OSMnx: Python for Street Networks

OSMnx: New York City urban street network visualized and analyzed with Python and OpenStreetMap dataOSMnx is a Python package for downloading administrative boundary shapes and street networks from OpenStreetMap. It allows you to easily construct, project, visualize, and analyze complex street networks in Python with NetworkX. You can get a city’s or neighborhood’s walking, driving, or biking network with a single line of Python code. Then you can simply visualize cul-de-sacs or one-way streets, plot shortest-path routes, or calculate stats like intersection density, average node connectivity, or betweenness centrality. You can download/cite the paper here.

In a single line of code, OSMnx lets you download, construct, and visualize the street network for, say, Modena Italy:

import osmnx as ox
ox.plot_graph(ox.graph_from_place('Modena, Italy'))

OSMnx: Modena Italy networkx street network in Python from OpenStreetMap Continue reading OSMnx: Python for Street Networks

R-tree Spatial Indexing with Python

r-tree spatial index with python geopandas: Thumbnail of Walnut Creek, California city boundary and street intersections inside and outside city limitsA spatial index such as R-tree can drastically speed up GIS operations like intersections and joins. Spatial indices are key features of spatial databases like PostGIS, but they’re also available for DIY coding in Python. I’ll introduce how R-trees work and how to use them in Python and its geopandas library. All of my code is in this notebook in this urban data science GitHub repo.

Continue reading R-tree Spatial Indexing with Python

Craigslist and U.S. Rental Housing Markets

This is a summary of our JPER journal article (available here) about Craigslist rental listings’ insights into U.S. housing markets.

Small map of 1.5 million Craigslist rental listings in the contiguous U.S., divided into quintiles by each listing's rent per square footRentals make up a significant portion of the U.S. housing market, but much of this market activity is poorly understood due to its informal characteristics and historically minimal data trail. The UC Berkeley Urban Analytics Lab collected, validated, and analyzed 11 million Craigslist rental listings to discover fine-grained patterns across metropolitan housing markets in the United States. I’ll summarize our findings below and explain the methodology at the bottom.

But first, 4 key takeaways:

  1. There are incredibly few rental units below fair market rent in the hottest housing markets. Some metro areas like New York and Boston have only single-digit percentages of Craigslist rental listings below fair market rent. That’s really low.
  2. This problem doesn’t exclusively affect the poor: the share of its income that the typical household would spend on the typical rent in cities like New York and San Francisco exceeds the threshold for “rent burden.”
  3. Rents are more “compressed” in soft markets. For example, in Detroit, most of the listed units are concentrated within a very narrow band of rent/ft² values, but in San Francisco rents are much more dispersed. Housing vouchers may end up working very differently in high-cost vs low-cost areas.
  4. Craigslist listings correspond reasonably well with Dept of Housing and Urban Development (HUD) estimates, but provide up-to-date data including unit characteristics, from neighborhood to national scales. For example, we can see how rents are changing, neighborhood by neighborhood, in San Francisco in a given month.

Continue reading Craigslist and U.S. Rental Housing Markets

How to Visualize Urban Accessibility and Walkability

Tools like WalkScore visualize how “walkable” a neighborhood is in terms of access to different amenities like parks, schools, or restaurants. It’s easy to create accessibility visualizations like these ad hoc with Python and its pandana library. Pandana (pandas for network analysis – developed by Fletcher Foti during his dissertation research here at UC Berkeley) performs fast accessibility queries over a network. I’ll demonstrate how to use it to visualize urban walkability. My code is in these IPython notebooks in this urban data science course GitHub repo.

First I give pandana a bounding box around Berkeley/Oakland in the East Bay of the San Francisco Bay Area. Then I load the street network and amenities from OpenStreetMap. In this example I’ll look at accessibility to restaurants, bars, and schools. But, you can create any basket of amenities that you are interested in – basically visualizing a personalized “AnythingScore” instead of a generic WalkScore for everyone. Finally I calculate and plot the distance from each node in the network to the nearest amenity:

Berkeley Oakland California street network walking accessibility and walkability Continue reading How to Visualize Urban Accessibility and Walkability

Urban Informatics and Visualization at UC Berkeley

The fall semester begins next week at UC Berkeley. For the third year in a row, Paul Waddell and I will be teaching CP255: Urban Informatics and Visualization.

This masters-level course trains students to analyze urban data, develop indicators, conduct spatial analyses, create data visualizations, and build Paris open datainteractive web maps. To do this, we use the Python programming language, open source analysis and visualization tools, and public data.

This course is designed to provide future city planners with a toolkit of technical skills for quantitative problem solving. We don’t require any prior programming experience – we teach this from the ground up – but we do expect prior knowledge of basic statistics and GIS.

Our teaching materials, including IPython Notebooks, tutorials, and guides are available in this GitHub repo, updated as the semester progresses.

Continue reading Urban Informatics and Visualization at UC Berkeley

The Beautiful Cities of Eastern Europe

Western Europe gets all the attention, but that means it also gets all the tourists. Here are some of my favorite old cities that I’ve visited on the other side of the continent, along with a few photos I took while there. Granted, a few of these places are now squarely on the backpacker circuit, but many remain underexplored. What they all share is an incredible, exhilarating sense of urbanism — old and new.

Eastern Europe itself is hard to define. Competing designations might include only the former Soviet states, or all the formerly communist European nations. Others might separate a limited Eastern Europe out from Central and Southeastern Europe. Here I will play fast and loose with the geographic boundaries: these are just cities somewhere vaguely toward the eastern side of the continent. Apologies to any readers whose country is usually considered a part of Central or Southern Europe.

First up: Mostar. A small city in the south of Bosnia and Herzegovina, Mostar is most famous for its medieval Ottoman center and its Old Bridge, or Stari Most:

Stari Most old bridge in Mostar, Bosnia and Herzegovina

Continue reading The Beautiful Cities of Eastern Europe

Off the Beaten Path in Myanmar

myanmar-29I recently had the opportunity to travel across Myanmar for the first time. It’s a fascinating country, only recently emerging from decades of isolation. Travelers here today are greeted with the first few baby steps toward a tourism industry, as well some of the kindest people and most spectacular sights in Asia.

Myanmar is not the easiest country to approach. It remains, effectively, a military dictatorship wracked with corruption and abuse. Government officials control the airlines and hotels for personal profit. Large swaths of eastern Myanmar are dedicated to opium plantations funneling foreign currency into the pockets of powerful officials. Even its name is controversial: many foreign governments still officially recognize only its traditional name, Burma, as a political statement against the authoritarian regime that renamed it Myanmar in 1989. 
Continue reading Off the Beaten Path in Myanmar

Hong Kong at Night

Hong Kong is a remarkable place. It is the 4th-densest sovereign state or self-governing territory in the world (in 1st place is its neighbor across the delta: Macau). Yet this density is fantastically constrained by the mountains and the sea into narrow, snaking corridors of high-rises wherever the terrain permits. At no time is this unique urban development better seen than at night, when Hong Kong lights up like a carnival.

I took these photos from the top of Victoria Peak on Hong Kong island and from the Tsim Sha Tsui promenade on the Kowloon peninsula, using long exposures of between 3 and 12 seconds.

hong-kong-skyline-night-2 Continue reading Hong Kong at Night