Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python osmnx - extract only big freeways of a country

I know it is possible to extract the road network of a city via the OSMNX python package. See details at https://geoffboeing.com/2016/11/osmnx-python-street-networks/ .

paris_network = ox.gdf_from_place("Paris")

But, let's say I do not want that level of high details, but rather only big freeways of a whole country. I'm looking for something like :

france_big_expressway_network = ox.gdf_from_place("France", road_type = "freeway")

I guess it might comes from the "infrastructure" argument but as a newbie I really do not get how to use it precisely.

like image 656
hans glick Avatar asked Sep 08 '18 00:09

hans glick


1 Answers

Yes you can do this with OSMnx:

import osmnx as ox
ox.config(use_cache=True, log_console=True)
G = ox.graph_from_place('France', network_type='drive', custom_filter='["highway"~"motorway"]')
fig, ax = ox.plot_graph(G)

See also this answer if you'd like to filter by multiple highway tag values (e.g., retain all motorways AND primary roads).

Finally, note that as of OSMnx v0.15.0, the gdf_from_place and gdf_from_places functions have been deprecated and replaced by the geocode_to_gdf function. See the docs for details.

like image 135
gboeing Avatar answered Nov 17 '22 10:11

gboeing