{ "cells": [ { "cell_type": "markdown", "id": "e87bd72c", "metadata": {}, "source": [ "\n", "\n", "----------------\n", "\n", "```{admonition} Learning Objectives\n", "- Download and utilize OpenStreetMap data\n", "```\n", "```{admonition} Review\n", "* [Understanding CRS codes](d_understand_crs_codes.md)\n", "* [Creating Points, Lines, Polygons](c_new_vectors.md)\n", "```\n", "----------------\n", "\n", "# Accessing OSM Data in Python\n", "\n", "## What is OpenStreetMap?\n", "\n", "OpenStreetMap (OSM) is a global collaborative (crowd-sourced) dataset and project that aims at creating a free editable map of the world containing a lot of information about our environment [^gpd_clip]. It contains data for example about streets, buildings, different services, and landuse to mention a few. You can view the map at www.openstreetmap.org. You can also sign up as a contributor if you want to edit the map. More details about OpenStreetMap and its contents are available in the [OpenStreetMap Wiki](https://wiki.openstreetmap.org/wiki/Main_Page).\n", "\n", "## OSMnx\n", "\n", "This week we will explore a Python module called [OSMnx](https://github.com/gboeing/osmnx)\n", "that can be used to retrieve, construct, analyze, and visualize street networks from OpenStreetMap, and also retrieve data about Points of Interest such as restaurants, schools, and lots of different kind of services. It is also easy to conduct network routing based on walking, cycling or driving by combining OSMnx functionalities with a package called [NetworkX](https://networkx.github.io/documentation/stable/).\n", "\n", "To get an overview of the capabilities of the package, see an introductory video given by the lead developer of the package, Prof. Geoff Boeing: [\"Meet the developer: Introduction to OSMnx package by Geoff Boeing\"](https://www.youtube.com/watch?v=Q0uxu25ddc4&list=PLs9D4XVqc6dCAhhvhZB7aHGD8fCeCC_6N).\n", "\n", "## Download and visualize OpenStreetMap data with OSMnx\n", "\n", "One the most useful features that OSMnx provides is an easy-to-use way of retrieving [OpenStreetMap](http://www.openstreetmap.org) data (using [OverPass API](http://wiki.openstreetmap.org/wiki/Overpass_API)).\n", "\n", "In this tutorial, we will learn how to download and visualize OSM data covering a specified area of interest: the neighborhood of Edgewood in Washington DC USA." ] }, { "cell_type": "code", "execution_count": 1, "id": "bb0d67f4", "metadata": {}, "outputs": [], "source": [ "# Specify the name that is used to seach for the data\n", "place_name = \"Edgewood Washington, DC, USA\"" ] }, { "cell_type": "markdown", "id": "9fedad6d", "metadata": {}, "source": [ "### OSM Location Boundary\n", "\n", "Let's also plot the Polygon that represents the boundary of our area of interest (Washington DC). We can retrieve the Polygon geometry using the `ox.geocode_to_gdf` [docs](https://osmnx.readthedocs.io/en/stable/osmnx.html?highlight=geocode_to_gdf(#osmnx.geocoder.geocode_to_gdf) function." ] }, { "cell_type": "code", "execution_count": 2, "id": "bb64f848", "metadata": {}, "outputs": [], "source": [ "# import osmnx\n", "import osmnx as ox\n", "import geopandas as gpd\n", "\n", "# Get place boundary related to the place name as a geodataframe\n", "area = ox.geocode_to_gdf(place_name)" ] }, { "cell_type": "markdown", "id": "c015cbd2", "metadata": {}, "source": [ "As the name of the function already tells us, `gdf_from_place()`returns a GeoDataFrame based on the specified place name query." ] }, { "cell_type": "code", "execution_count": 3, "id": "b95c2068", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometrybbox_northbbox_southbbox_eastbbox_westplace_idosm_typeosm_idlatlondisplay_nameclasstypeimportance
0POLYGON ((-77.00892 38.92123, -77.00890 38.920...38.93415938.917008-76.99358-77.008915282956700relation463415838.922613-77.000537Edgewood, Washington, District of Columbia, Un...placeneighbourhood0.47
\n", "
" ], "text/plain": [ " geometry bbox_north bbox_south \\\n", "0 POLYGON ((-77.00892 38.92123, -77.00890 38.920... 38.934159 38.917008 \n", "\n", " bbox_east bbox_west place_id osm_type osm_id lat lon \\\n", "0 -76.99358 -77.008915 282956700 relation 4634158 38.922613 -77.000537 \n", "\n", " display_name class type \\\n", "0 Edgewood, Washington, District of Columbia, Un... place neighbourhood \n", "\n", " importance \n", "0 0.47 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check the data type\n", "area" ] }, { "cell_type": "markdown", "id": "b904eb9b", "metadata": {}, "source": [ "Let's still verify the data type:" ] }, { "cell_type": "code", "execution_count": 4, "id": "cddb318b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "geopandas.geodataframe.GeoDataFrame" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check the data type\n", "type(area)" ] }, { "cell_type": "markdown", "id": "f776d9ba", "metadata": {}, "source": [ "Finally, let's plot it." ] }, { "cell_type": "code", "execution_count": 5, "id": "d4c4ddde", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/mmann1123/Documents/github/pyGIS/pygis/_build/jupyter_execute/docs/d_access_osm_9_1.png" } }, "output_type": "display_data" } ], "source": [ "area.plot()" ] }, { "cell_type": "markdown", "id": "5f095220", "metadata": {}, "source": [ "### OSM Building footprints\n", "\n", "It is also possible to retrieve other types of OSM data features with OSMnx such as buildings or points of interest (POIs). Let's download the buildings with `ox.geometries_from_place` [docs](https://osmnx.readthedocs.io/en/stable/osmnx.html?highlight=geometries_from_place#osmnx.geometries.geometries_from_place) function and plot them on top of our street network in Kamppi. \n", "\n", "\n", "When fetching spesific types of geometries from OpenStreetMap using OSMnx `geometries_from_place` we also need to specify the correct tags. For getting [all types of buildings](https://wiki.openstreetmap.org/wiki/Buildings), we can use the tag `building=yes`." ] }, { "cell_type": "code", "execution_count": 6, "id": "50a7f101", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
addr:stateamenitybuildingelegnis:county_idgnis:county_namegnis:createdgnis:editedgnis:feature_idgnis:import_uuid...shopdenominationold_nameurlwikidataofficeshort_nameshelter_typewaystype
element_typeosmid
node358955022DCschoolyes60001District of Columbia12/18/197901/22/2008206286957871b70-0100-4405-bb30-88b2e001a944...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
367143640DCNaNyes56NaNDistrict of ColumbiaNaNNaN211045357871b70-0100-4405-bb30-88b2e001a944...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
way52291432NaNNaNyesNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
55321503NaNNaNyesNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
55321504DCNaNyesNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "

5 rows × 55 columns

\n", "
" ], "text/plain": [ " addr:state amenity building ele gnis:county_id \\\n", "element_type osmid \n", "node 358955022 DC school yes 60 001 \n", " 367143640 DC NaN yes 56 NaN \n", "way 52291432 NaN NaN yes NaN NaN \n", " 55321503 NaN NaN yes NaN NaN \n", " 55321504 DC NaN yes NaN NaN \n", "\n", " gnis:county_name gnis:created gnis:edited \\\n", "element_type osmid \n", "node 358955022 District of Columbia 12/18/1979 01/22/2008 \n", " 367143640 District of Columbia NaN NaN \n", "way 52291432 NaN NaN NaN \n", " 55321503 NaN NaN NaN \n", " 55321504 NaN NaN NaN \n", "\n", " gnis:feature_id gnis:import_uuid \\\n", "element_type osmid \n", "node 358955022 2062869 57871b70-0100-4405-bb30-88b2e001a944 \n", " 367143640 2110453 57871b70-0100-4405-bb30-88b2e001a944 \n", "way 52291432 NaN NaN \n", " 55321503 NaN NaN \n", " 55321504 NaN NaN \n", "\n", " ... shop denomination old_name url wikidata office \\\n", "element_type osmid ... \n", "node 358955022 ... NaN NaN NaN NaN NaN NaN \n", " 367143640 ... NaN NaN NaN NaN NaN NaN \n", "way 52291432 ... NaN NaN NaN NaN NaN NaN \n", " 55321503 ... NaN NaN NaN NaN NaN NaN \n", " 55321504 ... NaN NaN NaN NaN NaN NaN \n", "\n", " short_name shelter_type ways type \n", "element_type osmid \n", "node 358955022 NaN NaN NaN NaN \n", " 367143640 NaN NaN NaN NaN \n", "way 52291432 NaN NaN NaN NaN \n", " 55321503 NaN NaN NaN NaN \n", " 55321504 NaN NaN NaN NaN \n", "\n", "[5 rows x 55 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# List key-value pairs for tags\n", "tags = {'building': True} \n", "\n", "buildings = ox.geometries_from_place(place_name, tags)\n", "buildings.head()" ] }, { "cell_type": "markdown", "id": "21b81b56", "metadata": {}, "source": [ "We can plot the footprints quickly." ] }, { "cell_type": "code", "execution_count": 7, "id": "c08bc7d5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/home/mmann1123/Documents/github/pyGIS/pygis/_build/jupyter_execute/docs/d_access_osm_13_1.png" } }, "output_type": "display_data" } ], "source": [ "# Plot footprints \n", "buildings.plot()" ] }, { "cell_type": "markdown", "id": "cff5e39e", "metadata": {}, "source": [ "### OSM Write Features to .shp\n", "Now let's assume we want to access this data outside of python, or have a permanent copy of our building footprints for Edgewood. \n", "\n", "Since these objects are already `geopandas.GeoDataFrame` it's easy to save them to disk. We simply use `gpd.to_file` [docs](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.to_file.html).\n", "\n", "```{Important}\n", "We can't write OSM GeoDataFrames directly to disk because they contain field types (like lists) that can't be saved in .shp or .geojsons etc. Instead lets isolate only the attributes we are interested in, **including geometry** which is required. \n", "```\n", "\n", "We need to isolate just the attributes we are interested in:" ] }, { "cell_type": "code", "execution_count": 8, "id": "ed964394", "metadata": {}, "outputs": [], "source": [ "buildings = buildings.loc[:,buildings.columns.str.contains('addr:|geometry')]" ] }, { "cell_type": "markdown", "id": "f174f3a6", "metadata": {}, "source": [ "```{Important}\n", "OSM data often contains multiple feature types like mixing points with polygons. This is a problem when we try to write it to disk.\n", "```\n", "We also need to isolate the feature type we are looking for [e.g. Multipolygon, Polygon, Point]. Since here we want building footprints we are going to keep only polygons." ] }, { "cell_type": "code", "execution_count": 9, "id": "9bbd9113", "metadata": {}, "outputs": [], "source": [ "buildings = buildings.loc[buildings.geometry.type=='Polygon']" ] }, { "cell_type": "markdown", "id": "c870a149", "metadata": {}, "source": [ "Now, finally, we can write it to disk." ] }, { "cell_type": "code", "execution_count": 10, "id": "613fe1d3", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_132906/2776310115.py:2: UserWarning: Column names longer than 10 characters will be truncated when saved to ESRI Shapefile.\n", " buildings.to_file('../temp/edgewood_buildings.shp')\n" ] } ], "source": [ "# Save footprints \n", "buildings.to_file('../temp/edgewood_buildings.shp') \n", "# Or save in a more open source format\n", "#buildings.to_file('../temp/edgewood_buildings.geojson', driver='GeoJSON') " ] }, { "cell_type": "markdown", "id": "c5c1a3ad", "metadata": {}, "source": [ "Sources\n", "[^gpd_clip]: [automating-gis-processes](https://automating-gis-processes.github.io/2017/lessons/L3/nearest-neighbour.html)" ] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst" } }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" }, "myst": { "html_meta": { "description lang=en": "Learn how to access OpenStreetMap (OSM) roads, buildings, and other data via python. ", "description lang=es": "Aprenda a acceder a carreteras, edificios y otros datos de OpenStreetMap (OSM) a través de Python.", "description lang=fr": "Découvrez comment accéder aux routes, bâtiments et autres données OpenStreetMap (OSM) via python.", "keywords": "python open street map OSM", "property=og:locale": "en_US" } }, "source_map": [ 17, 51, 54, 60, 67, 71, 74, 77, 80, 83, 85, 93, 99, 102, 105, 117, 119, 126, 128, 132, 137 ] }, "nbformat": 4, "nbformat_minor": 5 }