OSMnx is a Python package that lets you download geospatial data from OpenStreetMap and model, project, visualize, and analyze real-world street networks and any other geospatial geometries. You can download and model walkable, drivable, or bikeable urban networks with a single line of Python code then easily analyze and visualize them. You can just as easily download and work with other infrastructure types, amenities/points of interest, building footprints, elevation data, street bearings/orientations, and speed/travel time.
If you use OSMnx in your work, please cite the journal article.
Citation info: Boeing, G. 2017. "OSMnx: New Methods for Acquiring, Constructing, Analyzing, and Visualizing Complex Street Networks." Computers, Environment and Urban Systems 65, 126-139. doi:10.1016/j.compenvurbsys.2017.05.004
How do I install OSMnx? Follow the installation instructions.
How do I use OSMnx? Check out the usage examples/tutorials in the examples repo.
How does this or that function work? Read its documentation.
What can I do with OSMnx? Check out recent projects and blog posts that use OSMnx.
I have a usage question. Please ask it on StackOverflow.
OSMnx is built on top of GeoPandas, NetworkX, and matplotlib and interacts with OpenStreetMap's APIs to:
All of these features are demonstrated in the examples repo and documented in the documentation. Feature development details are in the change log. Read the journal article for further technical details.