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 版本中,我得到了更多的数据点,而在区域查询中,我只得到一个。有什么具体原因吗?
上例中的 geocodeArea
与 area
相比如何工作?这些陈述不应该是等价的吗?
其实这两个区域是完全一样的:
{{geocodeArea:Bulacan, Philippines}}->.searchArea;
.searchArea out;
area["ISO3166-2"="PH-BUL"];
out;
由于您没有在问题中提供完整的查询,问题很可能是由于第二个示例中缺少 .searchArea
引起的。因此,查询结果将存储在默认集合 ._
中。如果您不够小心,此默认设置很容易被查询中的后续语句覆盖。
所以通过替换
area["ISO3166-2"="PH-BUL"];
来自
area["ISO3166-2"="PH-BUL"]->.searchArea
你应该得到完全相同的结果。
当我使用立交桥 turbo 查询 OpenStreetMaps 数据时,当我使用地理编码区域、bbox 和区域定义搜索区域时,我发现了不同的结果。
例如:
地理编码区域
[out:json]
{{geocodeArea:Bulacan, Philippines}}->.searchArea;
面积
[out:json]
area["ISO3166-2"="PH-BUL"];
也可以使用bbox
但是,当我使用 Geocode area 与 area 命令时,对于同一查询,我会得到不同的结果输出。在 Geocode 版本中,我得到了更多的数据点,而在区域查询中,我只得到一个。有什么具体原因吗?
上例中的 geocodeArea
与 area
相比如何工作?这些陈述不应该是等价的吗?
其实这两个区域是完全一样的:
{{geocodeArea:Bulacan, Philippines}}->.searchArea;
.searchArea out;
area["ISO3166-2"="PH-BUL"];
out;
由于您没有在问题中提供完整的查询,问题很可能是由于第二个示例中缺少 .searchArea
引起的。因此,查询结果将存储在默认集合 ._
中。如果您不够小心,此默认设置很容易被查询中的后续语句覆盖。
所以通过替换
area["ISO3166-2"="PH-BUL"];
来自
area["ISO3166-2"="PH-BUL"]->.searchArea
你应该得到完全相同的结果。