#!/usr/bin/env python # coding: utf-8 # ## *Where a 15 minute walk will take you in Houston (TX)* # # * [Dani Arribas-Bel](http://darribas.org) ([`@darribas`](http://twitter.com/darribas)) # # The maps below can be seen as a portrait of the diverse, multi-facetted city that Houston is. Far from the "sprawl capital" title it is sometimes assummed, they show show a more intricate pattern. Yes, Houston does have textbook examples of sprawl; but it also houses (pun intended) areas with high building density, and mixed areas where industry, residence, and open space coexist next to each other. These maps represent a quantitative sketch of how much where we are conditions what we can do. For example, 15 minutes will afford us about 200 different buildings in parts of the city, while over 2,000 in others! Above all, this exercise is an invitation to explore the geography of the city through its building footprints and reimagine how we see its built environment. # # Each figure displays the buildings that can be reached within a 15 minute walk from its center. Each map corresponds to a different location, all of them within the Houston metropolitan area. 15 minutes of walk are calculated by navigating along the street network and assuming an average speed of 4.5Km/h. The shape of the maps is the result of mainly two factors: density and urban spatial structure. *Density* has a key role in enabling people to access more buildings within a given time, as areas with higher density can "pack" more buildings per square Km. However, that is not the whole story. Buildings also need to be *accessible*, and this aspect comes through the layout of the street network that connects them. Large pieces of infrastructure, such as highways for example, or natural features, such as creeks or bayous, act as barriers that disconnect places that would otherwise be nearby. The interplay of these two forces is what determines these maps and makes them more complex (and interesting!) than if the city was a perfect, uniform blanket of buildings. # # **TECHNICAL NOTE** - All the code used for this project is available [here](https://gist.github.com/darribas/17b28779848970ff1b88d9930525ad2e). If you want to replicate the maps below, you will need to have the libraries listed in `isochrone_tools.py` installed, as well as a PostGIS database with all the [Microsoft Building Footprints](https://github.com/Microsoft/USBuildingFootprints) available. A (very) good guide on how to build this is available by Geoff Boeing [here](https://github.com/gboeing/ms-bldg-footprints). # In[4]: get_ipython().run_line_magic('matplotlib', 'inline') import isochrone_tools as it from credentials import addresses # In[94]: reload(it) it.display_all('/mnt/c/Users/danie/Desktop/houston_areas/', 3, 4) # In[95]: add = addresses[-1] get_ipython().run_line_magic('time', "bdgs = it.address2buildings(add, 15, pt2poly='alpha_shape')") # In[87]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[80]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[60]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[57]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[54]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[51]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[48]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[45]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[42]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[35]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png") # In[32]: it.plot_buildings(bdgs, title=add, saveto=f"/mnt/c/Users/danie/Desktop/{add.replace(' ', '_')}.png")