繁体   English   中英

使用Overpass API在OpenStreetMap中分组节点

[英]Grouped nodes in OpenStreetMap with Overpass API

Hy.I想查询某些区域的节点。 例如:如何获得给定区域的所有节点(例如峰值)(例如,行政边界 - 国家)。

类似于加入SQL:SELECT n。*,a.name from node n LEFT JOIN area a ON n.area_id = a.id WHERE n.type =“peak”

Resoult会是这样的:

{ features: [
 { 
   type: "node:",
   area: "slovenia"
   properties: {....},
   geometry: {...}
 },
 ...
]}

或者可能:

{ areas: [
 slovenia: {
  nodes: [
  { 
   type: "node:",
   area: "slovenia"
   properties: {...},
   geometry: {...}
  },
  ...
  ]
 },
 ...
]}

这甚至可能吗? 或者我应该首先对所有区域进行1次查询,然后为每个区域进行另一次查询?

区域支持区域尚未正式提供(请参阅此Github请求了解将来可能会出现的一些想法),但您可以使用以下帮助页面中描述的方法:

https://help.openstreetmap.org/questions/35976/add-reverse-geocoding-information-to-the-overpass-resulting-set

特别是我建议看看以下查询: http//overpass-turbo.eu/s/4FJ

它适用于单个查询,但会将标志帖与所有区域混合使用此标志帖。您应该能够轻松地将其调整为您的标签/区域。 请注意,可能需要对结果进行一些后处理。

可能你正在寻找的最接近的东西也在Github拉取请求中描述。 这将打印该区域中所有节点后面的区域。 但正如我所提到的,这只会在将来某个时候出现。

样本输出:

@oname  @id     name
area    3600062387      Landkreis Merzig-Wadern
node    313138635       
node    313150002       
node    313460474       
node    315050154       
node    431311279       
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM