python osmnx – extract only big freeways of a country

Question:

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.

Asked By: hans glick

||

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.

Answered By: gboeing

If I do this for Vehlage, Germany. I achieve "There are no data elements in the response JSON". What may be the reason?

Answered By: Sardor Umarov
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.