คำนวณระยะทางที่สั้นที่สุดจากจุดหนึ่งไปอีกบรรทัดโดยใช้ QGIS?


12

วิธีที่ดีที่สุดในการคำนวณระยะทางจากถนนที่ใกล้ที่สุดสำหรับชุดของจุดที่อยู่ใน QGIS คือมีชุดข้อมูลขนาดใหญ่มาก? (QGIS 2.0.1, Win XP)

ฉันอ่านคำตอบของคำถามที่คล้ายกันก่อนหน้านี้:

การวัดระยะห่างระหว่างเส้นและจุดใน QGIS

วาดเส้นตั้งฉากใน PyQGIS?

คำนวณระยะห่างขั้นต่ำระหว่างจุดและรูปหลายเหลี่ยมใน QGIS หรือไม่

/programming/16448402/distance-of-point-feature-to-nearest-polygon-in-r

แต่ถึงอย่างไร:

  1. ปลั๊กอิน MMQGIS ค้นหาการรบกวนไปยังโหนดที่ใกล้ที่สุดของเครือข่ายสายไม่ใช่ระยะทางสั้นที่สุด (ตั้งฉาก) ไปยังบรรทัด

  2. สคริปต์ที่เสนอ R และ Python ทำงานได้อย่างถูกต้องสำหรับชุดข้อมูลขนาดเล็กและสามารถนำไปใช้ในตัวสร้างโมเดลได้ แต่สำหรับงานของฉันฉันมี 530 คะแนนและเลเยอร์ถนนระดับภูมิภาคที่มีคุณสมบัติประมาณ 135'000 คะแนนทั้งหมดจะใช้เวลาจำนวนมหาศาล

  3. ฉันมีปัญหาในการทำให้ GRASS ทำงานใน QGIS 2.0.1 ( GRASS ใน QGIS ไม่ทำงาน (windows XP) )


1
ฉันจัดการเพื่อคำนวณระยะทางขั้นต่ำใน QGIS 1.8.0 ผ่านปลั๊กอิน GRASS และเครื่องมือv.distance ใช้เวลาในการดำเนินการประมาณ 15 นาที (รวมถึงเวลาที่ใช้ในการตั้งค่า GRASS และเลเยอร์นำเข้า ... ) ทำไม ArcGIS (es เข้าร่วมโดยตำแหน่งเชิงพื้นที่) จึงยังคงเปรียบเทียบได้อย่างรวดเร็ว?
mic_cord

1
มันเป็นเรื่องของการมีดัชนีเชิงพื้นที่และรหัสที่เหมาะสำหรับงาน ฉันเพิ่งตรวจสอบกับไลบรารีการเราต์ (RW Net 4) และสามารถคำนวณได้ 2,000 ครั้งต่อวินาทีสำหรับเครือข่ายถนนของแอพ ขนาดเดียวกับคุณ ทำให้เร็วขึ้นประมาณ 4,000 เท่าจากปลั๊กอิน GRASS ของคุณ
Uffe Kousgaard

3
Postgis ควรทำเร็ว
Nicklas Avén

1
@mic_cord คุณช่วยอธิบายวิธีการใช้ปลั๊กอิน GRASS v.distance ของคุณอย่างละเอียดได้หรือไม่? ฉันประสบความสำเร็จในการทำงานโดยใช้ GRASS นอก QGIS สำเร็จแล้ว แต่ฉันไม่สามารถทำให้มันทำงานภายในกล่องเครื่องมือการประมวลผล (QGIS 2.6)
25976

คำตอบ:


6

เราแก้ปัญหาที่คล้ายกัน วิธีที่ดีที่สุดและเร็วที่สุดสำหรับเราคือ:

  1. ปรับเลเยอร์บรรทัดใหม่ (Raster / Conversion / Rasterize ... )
  2. แปลงเป็นความใกล้เคียง (Raster / Analysis / Proximity ... )
  3. ใช้เครื่องมือการสุ่มตัวอย่าง plugin Point เพื่อรับค่าสำหรับทุกจุดของคุณจากแรสเตอร์

5

คำตอบบางส่วนสำหรับการ วัดระยะห่างระหว่างบรรทัดและจุดใน QGISแนะนำปลั๊กอินNNJoin QGIS ( http://arken.nmbu.no/~havatv/gis/qgisplugins/NNJoin/ ) มันจะทำการเข้าร่วมพื้นที่ใกล้เคียงอวกาศและรวมระยะทางในผลลัพธ์ NNJoinปลั๊กอินใช้ดัชนีเชิงพื้นที่ดังนั้นจึงควรจัดการชุดข้อมูลขนาดใหญ่พอสมควร


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