首页 > 解决方案 > 如何在 osmnx 中导入多种基础设施类型?

问题描述

在使用 osmnx 导入道路时,有没有办法为基础设施类型指定多个子类别。从这个问题我了解到,我们只能通过指定来选择高速公路infrastructure='way["highway"~"motorway"]'。我们如何将其扩展为包括多个类别,例如highways = motorway or primary or secondaryhighway is not footway

我尝试了以下但没有成功:

infrastructure='way["highway"~"motorway"],way["highway"~"primary"]'
infrastructure='way["highway"~"motorway", "primary"]'
infrastructure='way["highway"~"motorway" OR "primary"]'

最好有更好的过滤,例如 highway=primary or highway=primary_link (这里的例子,这里

标签: osmnx

解决方案


将管道|用作立交桥or操作员,例如:

import osmnx as ox
ox.config(use_cache=True, log_console=True)
place = 'Berkeley, California, USA'

cf = '["highway"~"motorway|motorway_link"]'
G = ox.graph_from_place(place, network_type='drive', custom_filter=cf)
print(len(G)) #36

cf = '["highway"~"primary"]'
G = ox.graph_from_place(place, network_type='drive', custom_filter=cf)
print(len(G)) #11

cf = '["highway"~"motorway|motorway_link|primary"]'
G = ox.graph_from_place(place, network_type='drive', custom_filter=cf)
print(len(G)) #47

另请参阅https://stackoverflow.com/a/62883614/7321942


推荐阅读