pythonopenstreetmaposmnx

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.


Solution

  • Yes you can do this with OSMnx:

    import osmnx as ox
    ox.settings.log_console = True
    cf = '["highway"~"motorway"]'
    G = ox.graph_from_place('France', network_type='drive', custom_filter=cf)
    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).

    See the OSMnx docs for more usage details.