{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Network analysis in Python\n", "\n", "Finding a shortest path using a specific street network is a common GIS problem that has many practical\n", "applications. For example navigators are one of those \"every-day\" applications where **routing** using specific algorithms is used to find the optimal route between two (or multiple) points.\n", "\n", "It is also possible to perform network analysis such as tranposrtation routing in Python.\n", "[Networkx](https://networkx.github.io/documentation/stable/) is a Python module that provides\n", "a lot tools that can be used to analyze networks on various different ways. It also contains algorithms\n", "such as [Dijkstra's algorithm](https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.algorithms.shortest_paths.weighted.single_source_dijkstra.html#networkx.algorithms.shortest_paths.weighted.single_source_dijkstra) or\n", "[A*](https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.algorithms.shortest_paths.astar.astar_path.html#networkx.algorithms.shortest_paths.astar.astar_path) algoritm that are commonly used to find shortest paths along transportation network.\n", "\n", "To be able to conduct network analysis, it is, of course, necessary to have a network that is used for the analyses. [OSMnx](https://github.com/gboeing/osmnx) package that we just explored in previous tutorial, makes it really easy to retrieve routable networks from OpenStreetMap with different transport modes (walking, cycling and driving). Osmnx also combines some functionalities from `networkx` module to make it straightforward to conduct routing along OpenStreetMap data.\n", "\n", "Next we will test the routing functionalities of osmnx by finding a shortest path between two points based on drivable roads.\n", "\n", "- Let's first download the OSM data from Kamppi but this time include only such street segments that are walkable. In omsnx it is possible to retrieve only such streets that are drivable by specifying `'drive'` into `network_type` parameter that can be used to specify what kind of streets are retrieved from OpenStreetMap (other possibilities are `walk` and `bike`).\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import osmnx as ox\n", "import networkx as nx\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "\n", "place_name = \"Kamppi, Helsinki, Finland\"\n", "graph = ox.graph_from_place(place_name, network_type='drive')\n", "fig, ax = ox.plot_graph(graph)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okey so now we have retrieved only such streets where it is possible to drive with a car. Let's confirm\n", "this by taking a look at the attributes of the street network. Easiest way to do this is to convert the\n", "graph (nodes and edges) into GeoDataFrames.\n", "\n", "- Converting graph into a GeoDataFrame can be done with function `graph_to_gdfs()` that we already used in previous tutorial. With parameters `nodes` and `edges`, it is possible to control whether to retrieve both nodes and edges from the graph. Here, we only retrieve edges:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['access', 'bridge', 'geometry', 'highway', 'junction', 'key', 'lanes',\n", " 'length', 'maxspeed', 'name', 'oneway', 'osmid', 'u', 'v'],\n", " dtype='object')\n", "{'init': 'epsg:4326'}\n" ] } ], "source": [ "# Retrieve only edges from the graph\n", "edges = ox.graph_to_gdfs(graph, nodes=False, edges=True)\n", "\n", "# Check columns\n", "print(edges.columns)\n", "\n", "# Check crs\n", "print(edges.crs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okey, so we have quite many columns in our GeoDataFrame. Most of the columns are fairly self-explanatory but the following table describes all of them. We can also see that the CRS of the GeoDataFrame seems to be WGS84 (i.e. epsg: 4326).\n", "\n", "\n", "| Column | Description | Data type |\n", "|------------------------------------------------------------|-----------------------------|-------------------|\n", "| [bridge](http://wiki.openstreetmap.org/wiki/Key:bridge) | Bridge feature | boolean |\n", "| geometry | Geometry of the feature | Shapely.geometry |\n", "| [highway](http://wiki.openstreetmap.org/wiki/Key:highway) | Tag for roads (road type) | str / list |\n", "| [lanes](http://wiki.openstreetmap.org/wiki/Key:lanes) | Number of lanes | int (or nan) |\n", "| [lenght](http://wiki.openstreetmap.org/wiki/Key:length) | Length of feature (meters) | float |\n", "| [maxspeed](http://wiki.openstreetmap.org/wiki/Key:maxspeed)| maximum legal speed limit | int /list |\n", "| [name](http://wiki.openstreetmap.org/wiki/Key:name) | Name of the (street) element| str (or nan) |\n", "| [oneway](http://wiki.openstreetmap.org/wiki/Key:oneway) | One way road | boolean |\n", "| [osmid](http://wiki.openstreetmap.org/wiki/Node) | Unique ids for the element | list |\n", "| [u](http://ow.ly/bV8n30h7Ufm) | The first node of edge | int |\n", "| [v](http://ow.ly/bV8n30h7Ufm) | The last node of edge | int |\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most of the attributes above comes directly from the OpenStreetMap, however, columns `u` and `v` are Networkx specific ids.\n", "\n", "- Let's take a look what kind of features we have in the `highway` column:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "residential 112\n", "tertiary 78\n", "primary 26\n", "secondary 17\n", "unclassified 11\n", "living_street 4\n", "primary_link 1\n", "Name: highway, dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print(edges['highway'].value_counts())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okey, now we can confirm that as a result our street network indeed only contains such streets where it is allowed to drive with a car as there are no e.g. cycleways or footways included in the data.\n", "\n", "- Let's continue and find the shortest path between two points based on the distance. As the data is in WGS84 format, we might first want to reproject our data into metric system so that our map looks better.\n", "Luckily there is a handy function in OSMnx called `project_graph()` to project the graph data in UTM format.\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph_proj = ox.project_graph(graph)\n", "fig, ax = ox.plot_graph(graph_proj) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see a modest change in the appearance of the graph. But let's take a closer look by seeing how the data values look now:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coordinate system: {'zone': 35, 'units': 'm', 'proj': 'utm', 'ellps': 'WGS84', 'datum': 'WGS84'}\n", " access bridge geometry \\\n", "0 NaN NaN LINESTRING (385359.3161680779 6671864.64583349... \n", "1 NaN NaN LINESTRING (385078.4206660209 6671287.11004645... \n", "2 NaN NaN LINESTRING (385154.9188669115 6671743.59020305... \n", "3 NaN NaN LINESTRING (385122.9978634067 6671765.36403810... \n", "4 NaN NaN LINESTRING (385122.9978634067 6671765.36403810... \n", "\n", " highway junction key lanes length maxspeed name \\\n", "0 residential NaN 0 NaN 38.739 30 Kansakoulukuja \n", "1 primary_link NaN 0 2 55.594 40 NaN \n", "2 tertiary roundabout 0 1 3.875 30 NaN \n", "3 residential NaN 0 NaN 140.354 30 Lapinlahdenkatu \n", "4 residential NaN 0 NaN 13.671 40 NaN \n", "\n", " oneway osmid u \\\n", "0 False 15240373 3216400385 \n", "1 True 15103120 1372233731 \n", "2 True 71082025 267117317 \n", "3 False [124066018, 37135578, 124066019, 37135577, 124... 267117319 \n", "4 True 24568161 267117319 \n", "\n", " v \n", "0 150983569 \n", "1 266159814 \n", "2 846597945 \n", "3 60072524 \n", "4 724233143 \n" ] } ], "source": [ "# Get Edges and Nodes\n", "nodes_proj, edges_proj = ox.graph_to_gdfs(graph_proj, nodes=True, edges=True)\n", "print(\"Coordinate system:\", edges_proj.crs)\n", "print(edges_proj.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okey, as we can see from the CRS the data is now in [UTM projection](https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system) using zone 35 which is the one used for Finland, and indeed the orientation of the map and the geometry values also confirm this.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyzing the network properties\n", "\n", "Now as we have seen some of the basic functionalities of osmnx such as downloading the data and converting data from graph to GeoDataFrame, we can take a look some of the analytical features of omsnx. Osmnx includes many useful functionalities to extract information about the network.\n", "\n", "- To calculate some of the basic street network measures we can use `basic_stats()` function in OSMnx:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'circuity_avg': 1.2711348550352305e-05,\n", " 'clean_intersection_count': None,\n", " 'clean_intersection_density_km': None,\n", " 'edge_density_km': None,\n", " 'edge_length_avg': 80.16320481927708,\n", " 'edge_length_total': 19960.637999999995,\n", " 'intersection_count': 116,\n", " 'intersection_density_km': None,\n", " 'k_avg': 4.016129032258065,\n", " 'm': 249,\n", " 'n': 124,\n", " 'node_density_km': None,\n", " 'self_loop_proportion': 0.0,\n", " 'street_density_km': None,\n", " 'street_length_avg': 74.59165573770494,\n", " 'street_length_total': 13650.273000000003,\n", " 'street_segments_count': 183,\n", " 'streets_per_node_avg': 3.217741935483871,\n", " 'streets_per_node_counts': {0: 0, 1: 8, 2: 1, 3: 71, 4: 44},\n", " 'streets_per_node_proportion': {0: 0.0,\n", " 1: 0.06451612903225806,\n", " 2: 0.008064516129032258,\n", " 3: 0.5725806451612904,\n", " 4: 0.3548387096774194}}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculate network statistics\n", "stats = ox.basic_stats(graph_proj)\n", "stats" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To be able to extract the more advanced statistics (and some of the missing ones above) from the street network, it is required to have information about the coverage area of the network. Let's calculate the area of the [convex hull](https://en.wikipedia.org/wiki/Convex_hull) of the street network and see what we can get.\n", "As certain statistics are produced separately for each node, they produce a lot of output. Let's merge both stats and put them into Pandas Series to keep things in more compact form.\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the Convex Hull of the network\n", "convex_hull = edges_proj.unary_union.convex_hull\n", "# Show output\n", "convex_hull" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can use the Convex Hull above to calculate e.g. denisity statistics:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "avg_neighbor_degree {3216400385: 3.0, 1372233731: 1.0, 267117317: ...\n", "avg_neighbor_degree_avg 2.14315\n", "avg_weighted_neighbor_degree {3216400385: 0.07744133818632387, 1372233731: ...\n", "avg_weighted_neighbor_degree_avg 0.0784928\n", "betweenness_centrality {3216400385: 0.0, 1372233731: 0.00766360122617...\n", "betweenness_centrality_avg 0.0670253\n", "center [1372376937]\n", "circuity_avg 1.27113e-05\n", "clean_intersection_count None\n", "clean_intersection_density_km None\n", "closeness_centrality {3216400385: 0.0014752477711614846, 1372233731...\n", "closeness_centrality_avg 0.00144168\n", "clustering_coefficient {3216400385: 0, 1372233731: 0, 267117317: 0, 3...\n", "clustering_coefficient_avg 0.0954301\n", "clustering_coefficient_weighted {3216400385: 0, 1372233731: 0, 267117317: 0, 3...\n", "clustering_coefficient_weighted_avg 0.0163891\n", "degree_centrality {3216400385: 0.016260162601626018, 1372233731:...\n", "degree_centrality_avg 0.0326515\n", "diameter 2156.78\n", "eccentricity {3216400385: 1654.45, 1372233731: 1597.883, 26...\n", "edge_density_km 23963.1\n", "edge_length_avg 80.1632\n", "edge_length_total 19960.6\n", "intersection_count 116\n", "intersection_density_km 139.26\n", "k_avg 4.01613\n", "m 249\n", "n 124\n", "node_density_km 148.864\n", "pagerank {3216400385: 0.0027157574570511583, 1372233731...\n", "pagerank_max 0.0238936\n", "pagerank_max_node 25416262\n", "pagerank_min 0.00148918\n", "pagerank_min_node 1861896879\n", "periphery [319896278]\n", "radius 1007.95\n", "self_loop_proportion 0\n", "street_density_km 16387.4\n", "street_length_avg 74.5917\n", "street_length_total 13650.3\n", "street_segments_count 183\n", "streets_per_node_avg 3.21774\n", "streets_per_node_counts {0: 0, 1: 8, 2: 1, 3: 71, 4: 44}\n", "streets_per_node_proportion {0: 0.0, 1: 0.06451612903225806, 2: 0.00806451...\n", "dtype: object" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculate the area\n", "area = convex_hull.area\n", "\n", "# Calculate statistics with density information\n", "stats = ox.basic_stats(graph_proj, area=area)\n", "extended_stats = ox.extended_stats(graph_proj, ecc=True, bc=True, cc=True)\n", "for key, value in extended_stats.items():\n", " stats[key] = value\n", "pd.Series(stats)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, now we have a **LOT** of information about our street network that can be used to understand its structure. We can for example see that the average node density in our network is `149 nodes/km` and that the total edge length of our network is `19960.6 meters`.\n", "\n", "Furthermore, we can see that the [degree centrality](https://en.wikipedia.org/wiki/Centrality) of our network is on average `0.0326515`. Degree is a simple centrality measure that counts how many neighbors a node has (here a fraction of nodes it is connected to). Another interesting measure is the [PageRank](https://en.wikipedia.org/wiki/PageRank) that measures the importance of specific node in the graph. Here we can see that the most important node in our graph seem to a node with osmid `25416262`. PageRank was the algorithm that Google first developed (Larry Page & Sergei Brin) to order the search engine results and became famous for.\n", "\n", "You can read the [Wikipedia article about different centrality measures](https://en.wikipedia.org/wiki/Centrality) if you are interested what the other centrality measures mean." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Shortest path analysis\n", "\n", "Let's now calculate the shortest path between two points. First we need to specify the source and target locations for our route. Let's use the centroid of our network as the source location and the furthest point in East in our network as the target location.\n", "\n", "Let's first determine the centroid of our network. We can take advantage of the same `Convex Hull` that we used previously to determine the centroid of our data.\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "POINT (385170.115258674 6671717.254450418)\n" ] } ], "source": [ "# Get the Convex Hull of the network\n", "convex_hull = edges_proj.unary_union.convex_hull\n", "\n", "# Centroid\n", "centroid = convex_hull.centroid\n", "\n", "# Show\n", "print(centroid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, now we have a centroid of our network determined. We will use this later as an origin point in our routing operation. \n", "\n", "- Let's now find the easternmost node in our street network. We can do this by calculating the x coordinates and finding out which node has the largest x-coordinate value. Let's ensure that the values are floats." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "385855.0300992895\n" ] } ], "source": [ "# Get the x coordinates of the nodes\n", "nodes_proj['x'] = nodes_proj.x.astype(float)\n", "\n", "# Retrieve the maximum x value (i.e. the most eastern)\n", "maxx = nodes_proj['x'].max()\n", "print(maxx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let's retrieve the target Point having the largest x-coordinate. We can do this by using the `.loc` function of Pandas that we have used already many times in earlier tutorials." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "POINT (385855.0300992895 6671721.810323974)\n" ] } ], "source": [ "# Retrieve the node that is the most eastern one and get the Shapely Point geometry out of it\n", "target = nodes_proj.loc[nodes_proj['x']==maxx, 'geometry'].values[0]\n", "print(target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okey now we can see that as a result we have a Shapely Point that we can use as a target point in our routing.\n", "\n", "- Let's now find the nearest graph nodes (and their node-ids) to these points. For OSMnx we need to parse the coordinates of the Point as coordinate-tuple with Latitude, Longitude coordinates. As our data is now projected to UTM projection, we need to specify with `method` parameter that the function uses `'euclidean'` distances to calculate the distance from the point to the closest node. This becomes important if you want to know the actual distance between the Point and the closest node which you can retrieve by specifying parameter `return_dist=True`.\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "301360197\n", "317703609\n" ] } ], "source": [ "# Get origin x and y coordinates\n", "orig_xy = (centroid.y, centroid.x)\n", "\n", "# Get target x and y coordinates\n", "target_xy = (target.y, target.x)\n", "\n", "# Find the closest origin and target nodes from the graph (the ids of them)\n", "orig_node = ox.get_nearest_node(graph_proj, orig_xy, method='euclidean')\n", "target_node = ox.get_nearest_node(graph_proj, target_xy, method='euclidean')\n", "\n", "# Show the results\n", "print(orig_node)\n", "print(target_node)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have the IDs for the closest nodes that were found from the graph to the origin and target points that we specified. \n", "\n", "- Let's retrieve the node information from the `nodes_proj` GeoDataFrame by passing the ids to the `loc` indexer, and make a GeoDataFrame out of them:" ] }, { "cell_type": "code", "execution_count": 31, "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", "
highwaylatlonosmidxygeometry
301360197NaN60.16621224.930617301360197385166.7079326.671721e+06POINT (385166.7079315781 6671721.244047897)
317703609traffic_signals60.16641024.943012317703609385855.0300996.671722e+06POINT (385855.0300992895 6671721.810323974)
\n", "
" ], "text/plain": [ " highway lat lon osmid x \\\n", "301360197 NaN 60.166212 24.930617 301360197 385166.707932 \n", "317703609 traffic_signals 60.166410 24.943012 317703609 385855.030099 \n", "\n", " y geometry \n", "301360197 6.671721e+06 POINT (385166.7079315781 6671721.244047897) \n", "317703609 6.671722e+06 POINT (385855.0300992895 6671721.810323974) " ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Retrieve the rows from the nodes GeoDataFrame\n", "o_closest = nodes_proj.loc[orig_node]\n", "t_closest = nodes_proj.loc[target_node]\n", "\n", "# Create a GeoDataFrame from the origin and target points\n", "od_nodes = gpd.GeoDataFrame([o_closest, t_closest], geometry='geometry', crs=nodes_proj.crs)\n", "\n", "od_nodes.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, as a result we got now the closest node-ids of our origin and target locations. As you can see, the `index` in this GeoDataFrame corresponds to the IDs that we found with `get_nearest_node()` function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Now we are ready to do the routing and find the shortest path between the origin and target locations\n", "by using the `shortest_path()` [function](https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.algorithms.shortest_paths.generic.shortest_path.html) of networkx.\n", "With `weight` -parameter we can specify that `'length'` attribute should be used as the cost impedance in the routing. If specifying the weight parameter, NetworkX will use by default Dijkstra's algorithm to find the optimal route. We need to specify the graph that is used for routing, and the origin `ID` (*source*) and the target `ID` in between the shortest path will be calculated:\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[301360197, 1372441183, 1372441170, 60170471, 1377211668, 1377211666, 25291565, 25291564, 317703609]\n" ] } ], "source": [ "# Calculate the shortest path\n", "route = nx.shortest_path(G=graph_proj, source=orig_node, target=target_node, weight='length')\n", "\n", "# Show what we have\n", "print(route)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a result we get a list of all the nodes that are along the shortest path. \n", "\n", "- We could extract the locations of those nodes from the `nodes_proj` GeoDataFrame and create a LineString presentation of the points, but luckily, OSMnx can do that for us and we can plot shortest path by using `plot_graph_route()` function:\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the shortest path\n", "fig, ax = ox.plot_graph_route(graph_proj, route, origin_point=orig_xy, destination_point=target_xy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nice! Now we have the shortest path between our origin and target locations.\n", "Being able to analyze shortest paths between locations can be valuable information for many applications.\n", "Here, we only analyzed the shortest paths based on distance but quite often it is more useful to find the\n", "optimal routes between locations based on the travelled time. Here, for example we could calculate the time that it takes to cross each road segment by dividing the length of the road segment with the speed limit and calculate the optimal routes by taking into account the speed limits as well that might alter the result especially on longer trips than here." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Saving shortest paths to disk\n", "\n", "Quite often you need to save the route e.g. as a Shapefile.\n", "Hence, let's continue still a bit and see how we can make a Shapefile of our route with some information associated with it.\n", "\n", "- First we need to get the nodes that belong to the shortest path:\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " highway lat lon osmid x \\\n", "301360197 NaN 60.1662 24.9306 301360197 385166.707932 \n", "1372441183 NaN 60.1658 24.9312 1372441183 385199.040423 \n", "1372441170 NaN 60.1652 24.932 1372441170 385239.956998 \n", "60170471 NaN 60.1661 24.9345 60170471 385382.590391 \n", "1377211668 NaN 60.1669 24.9368 1377211668 385514.080702 \n", "1377211666 NaN 60.1662 24.9379 1377211666 385570.886277 \n", "25291565 traffic_signals 60.1651 24.9393 25291565 385647.135653 \n", "25291564 NaN 60.1659 24.9417 25291564 385779.465694 \n", "317703609 traffic_signals 60.1664 24.943 317703609 385855.030099 \n", "\n", " y geometry \n", "301360197 6.67172e+06 POINT (385166.7079315781 6671721.244047897) \n", "1372441183 6.67167e+06 POINT (385199.0404225526 6671671.819812791) \n", "1372441170 6.67161e+06 POINT (385239.9569982953 6671610.080006042) \n", "60170471 6.6717e+06 POINT (385382.5903912748 6671704.041456302) \n", "1377211668 6.67179e+06 POINT (385514.0807023764 6671789.786422228) \n", "1377211666 6.6717e+06 POINT (385570.8862774068 6671702.891685122) \n", "25291565 6.67159e+06 POINT (385647.135653317 6671586.226479715) \n", "25291564 6.67167e+06 POINT (385779.465694473 6671672.812754458) \n", "317703609 6.67172e+06 POINT (385855.0300992895 6671721.810323974) \n" ] } ], "source": [ "# Get the nodes along the shortest path\n", "route_nodes = nodes_proj.loc[route]\n", "print(route_nodes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see, now we have all the nodes that were part of the shortest path as a GeoDataFrame.\n", "\n", "- Now we can create a LineString out of the Point geometries of the nodes:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from shapely.geometry import LineString, Point\n", "\n", "# Create a geometry for the shortest path\n", "route_line = LineString(list(route_nodes.geometry.values))\n", "route_line" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have the route as a LineString geometry. \n", "\n", "- Let's make a GeoDataFrame out of it having some useful information about our route such as a list of the osmids that are part of the route and the length of the route." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
geometryosmidslength_m
0LINESTRING (385166.7079315781 6671721.24404789...['301360197', '1372441183', '1372441170', '601...952.294307
\n", "
" ], "text/plain": [ " geometry \\\n", "0 LINESTRING (385166.7079315781 6671721.24404789... \n", "\n", " osmids length_m \n", "0 ['301360197', '1372441183', '1372441170', '601... 952.294307 " ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create a GeoDataFrame\n", "route_geom = gpd.GeoDataFrame([[route_line]], geometry='geometry', crs=edges_proj.crs, columns=['geometry'])\n", "\n", "# Add a list of osmids associated with the route\n", "route_geom.loc[0, 'osmids'] = str(list(route_nodes['osmid'].values))\n", "\n", "# Calculate the route length\n", "route_geom['length_m'] = route_geom.length\n", "\n", "route_geom.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we have a GeoDataFrame that we can save to disk. Let's still confirm that everything is okey by plotting our route on top of our street network and some buildings, and plot also the origin and target points on top of our map.\n", "\n", "- Get buildings:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "# Retrieve buildings and reproject\n", "buildings = ox.buildings_from_place(place_name)\n", "buildings_proj = buildings.to_crs(crs=edges_proj.crs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let's now plot the route and the street network elements to verify that everything is as it should:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot edges and nodes\n", "ax = edges_proj.plot(linewidth=0.75, color='gray')\n", "ax = nodes_proj.plot(ax=ax, markersize=2, color='gray')\n", "\n", "# Add buildings\n", "ax = buildings_proj.plot(ax=ax, facecolor='khaki', alpha=0.7)\n", "\n", "# Add the route\n", "ax = route_geom.plot(ax=ax, linewidth=2, linestyle='--', color='red')\n", "\n", "# Add the origin and destination nodes of the route\n", "ax = od_nodes.plot(ax=ax, markersize=24, color='green')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great everything seems to be in order! As you can see, now we have a full control of all the elements of our map and we can use all the aesthetic properties that matplotlib provides to modify how our map will look like. Now we are almost ready to save our data into disk.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- As there are certain columns with such data values that Shapefile format does not support (such as `list` or `boolean`), we need to convert those into strings to be able to export the data to Shapefile:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "access object\n", "bridge object\n", "geometry object\n", "highway object\n", "junction object\n", "key int64\n", "lanes object\n", "length float64\n", "maxspeed object\n", "name object\n", "oneway object\n", "osmid object\n", "u int64\n", "v int64\n", "dtype: object\n" ] } ], "source": [ "# Columns with invalid values\n", "invalid_cols = ['lanes', 'maxspeed', 'name', 'oneway', 'osmid']\n", "\n", "# Iterate over invalid columns and convert them to string format\n", "for col in invalid_cols:\n", " edges_proj[col] = edges_proj[col].astype(str)\n", " \n", "print(edges_proj.dtypes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can see that most of the attributes are of type `object` that quite often (such as ours here) refers to a string type of data.\n", "\n", "- Now we are finally ready to parse the output filepaths and save the data into disk:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "# Parse the place name for the output file names (replace spaces with underscores and remove commas)\n", "place_name_out = place_name.replace(' ', '_').replace(',','')\n", "\n", "# Output directory\n", "out_dir = \"data\"\n", "\n", "# Parse output file paths\n", "streets_out = os.path.join(out_dir, \"%s_streets.shp\" % place_name_out)\n", "route_out = os.path.join(out_dir, \"Route_from_a_to_b_at_%s.shp\" % place_name_out)\n", "nodes_out = os.path.join(out_dir, \"%s_nodes.shp\" % place_name_out)\n", "buildings_out = os.path.join(out_dir, \"%s_buildings.shp\" % place_name_out)\n", "od_out = os.path.join(out_dir, \"%s_route_OD_points.shp\" % place_name_out)\n", "\n", "# Save files\n", "edges_proj.to_file(streets_out)\n", "route_geom.to_file(route_out)\n", "nodes_proj.to_file(nodes_out)\n", "od_nodes.to_file(od_out)\n", "buildings[['geometry', 'name', 'addr:street']].to_file(buildings_out)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Great, now we have saved all the data that was used to produce the maps as Shapefiles." ] } ], "metadata": { "kernelspec": { "display_name": "Python gis", "language": "python", "name": "gis" }, "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.5.0" } }, "nbformat": 4, "nbformat_minor": 2 }