如何在OSMnx的features_from_polygon中使用AND条件搜索标签?
如何用OSMnx实现AND条件的要素搜索
可以实现同时满足“铁路设施”和“桥梁”的AND条件搜索,以下是两种常用方法:
方法1:先查询后过滤
先获取多边形内所有铁路要素,再从中筛选出标记为桥梁的要素:
import osmnx as ox # 获取多边形内所有铁路要素 rail_features = ox.features.features_from_polygon(polygon, tags={'railway': True}) # 筛选出同时属于桥梁的要素(注:OSM数据中bridge标签常取值为'yes',需根据实际数据调整判断条件) rail_bridge_features = rail_features[rail_features['bridge'] == 'yes']
方法2:构造精确的标签查询
利用OSMnx支持的标签逻辑,直接通过自定义判断实现AND条件:
import osmnx as ox # 查询同时包含railway标签且存在bridge标签的要素 rail_bridge_features = ox.features.features_from_polygon( polygon, tags={'railway': True, 'bridge': lambda x: x is not None} )
内容的提问来源于stack exchange,提问作者P_J
相关产品推荐
相关产品推荐

