【问题标题】:Limit overpy query to specific area (e.g. country)将过度查询限制在特定区域(例如国家/地区)
【发布时间】:2022-11-19 04:41:17
【问题描述】:
在以下代码中,我使用边界框定义查询的空间范围。我如何修改代码以使用国家/地区作为我的查询范围?谢谢你。
api = overpy.Overpass()
result = api.query("""<osm-script>
<query type="node">
<has-kv k="crossing" v="zebra"/>
<bbox-query e="6.608804" n="53.417560" s="51.967099" w="4.655094"/>
</query>
<print/>
</osm-script>""")
len(result.nodes)
【问题讨论】:
标签:
python
openstreetmap
overpass-api
【解决方案1】:
在立交桥涡轮中,爱尔兰的斑马线数量:
[out:json];
area["name"="Ireland"]->.boundaryarea;
(
nwr(area.boundaryarea)[crossing=zebra];
);
out body;
再加上爱尔兰斑马线的数量:
import overpy
api = overpy.Overpass()
result = api.query("""
area["name"="Ireland"]->.boundaryarea;
(
nwr(area.boundaryarea)[crossing=zebra];
);
out body;
""")
print(len(result.nodes))