OSM 涡轮查询中地理编码区域、bbox 和区域之间的区别?

Difference between geocode area, bbox, and area in OSM turbo query?

当我使用立交桥 turbo 查询 OpenStreetMaps 数据时,当我使用地理编码区域、bbox 和区域定义搜索区域时,我发现了不同的结果。

例如:

地理编码区域

[out:json]
{{geocodeArea:Bulacan, Philippines}}->.searchArea;

面积

[out:json]
area["ISO3166-2"="PH-BUL"];

也可以使用bbox

但是,当我使用 Geocode area 与 area 命令时,对于同一查询,我会得到不同的结果输出。在 Geocode 版本中,我得到了更多的数据点,而在区域查询中,我只得到一个。有什么具体原因吗?

上例中的 geocodeAreaarea 相比如何工作?这些陈述不应该是等价的吗?

其实这两个区域是完全一样的:

{{geocodeArea:Bulacan, Philippines}}->.searchArea;
.searchArea out;

area["ISO3166-2"="PH-BUL"];
out;

由于您没有在问题中提供完整的查询,问题很可能是由于第二个示例中缺少 .searchArea 引起的。因此,查询结果将存储在默认集合 ._ 中。如果您不够小心,此默认设置很容易被查询中的后续语句覆盖。

所以通过替换

   area["ISO3166-2"="PH-BUL"];

来自

   area["ISO3166-2"="PH-BUL"]->.searchArea

你应该得到完全相同的结果。