我想弄清楚如果Overpass-API的bbox-query应该返回的方式:
- 完全被框包围(所有节点都在框内)
- 框内至少有一个节点
- 至少有一个段与框相交(即使框内实际上没有节点)。
文档建议它应该做#3。http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide Bounding_box_clauses_.28.22bbox_query.22.2C_.22bounding_box_filter.22.29
找到一种方法,不仅当它在边界框内有一个节点,而且当它正好穿过边界框的某个地方。
但是,在实践中,我看到它基本上只有#1。这就没那么有用了,因为这会让你很难确定所有影响边界框的方法
我想我误解了。它似乎确实返回了只相交的路径,例如#3,即使它们在框中没有节点。但我很困惑,因为在我的查询中,我也得到了节点,并做了一个并集。它没有得到节点的方式,所以Overpass-Turbo UI不能渲染的方式。通过向下递归,它也得到了节点,并显示了我所期望的。
我更困惑了,因为我也在做一个关系查询,它发现了许多相交的关系。
例如<osm-script output="xml" timeout="25"><!-- fixed by auto repair -->
<!-- gather results -->
<union>
<query type="way">
<bbox-query w="-79.39941" s="43.64019" e="-79.39798" n="43.64120"/>
</query>
<query type="node">
<bbox-query w="-79.39941" s="43.64019" e="-79.39798" n="43.64120"/>
</query>
</union>
<union>
<item/>
<recurse type="down"/>
</union>
<!-- print results -->
<print mode="meta" order="quadtile"/>
</osm-script>