กรอง Overpass-API ตามประเทศ


9

ไม่มีใครรู้วิธีดำเนินการคำขอสะพานลอยเช่นนี้หรือไม่?

"แสดงธนาคารทั้งหมดในเยอรมนี"

ฉันสามารถแสดง 'สิ่งอำนวยความสะดวก = ธนาคาร' ทั้งหมดในกล่องขอบเขตเฉพาะ แต่ประเทศเยอรมนี (หรือส่วนใหญ่ของทุกประเทศ) ไม่ค่อยเหมาะกับกล่องจดหมายดังกล่าว

มีวิธีการทำเช่นนี้? คุณเป็นตัวอย่างหรือไม่ ประสิทธิภาพของเซิร์ฟเวอร์หรือรันไทม์นั้นเป็นเรื่องรองเนื่องจากเราสามารถโฮสต์เซิร์ฟเวอร์ของตัวเองหรืออะไรทำนองนั้น :)

คำตอบ:


11

ใช้ Overpass turbo ไวยากรณ์คือ:

area["name"="Nordrhein-Westfalen"]->.boundaryarea;
(
nwr(area.boundaryarea)[amenity=bank];
);
out meta;

nwrสั้นสำหรับnode- way-relation


มันช่วยให้ฉันเขียน ">;" หลังวงเล็บเหลี่ยมปิด ");" และก่อน "ออก" ไม่เช่นนั้นจะไม่มีโหนดที่มีพิกัดในแผนที่แสดง
qräbnö

@ qräbnöคุณพูดถูกฉันได้อัปเดตคำตอบแล้ว
AndreJ

7

ปลั๊กอิน Quick OSM สำหรับ QGIS สร้างการสืบค้น Overpass ที่ใช้งานได้ดังต่อไปนี้:

<osm-script output="xml" timeout="200"> 
 <id-query {{nominatimArea:Austria}} into="area"/> 
 <union>
      <query type="node">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
      <query type="way">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
      <query type="relation">
           <has-kv k="amenity" v="bank"/> 
           <area-query from="area"/>
      </query>
 </union>
 <union>
      <item />
      <recurse type="down"/>
 </union>
 <print mode="body" />
</osm-script>

สำหรับรายละเอียดโปรดดูOverpass turbo / Extended Overpass Queries

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.