簡體   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