ฉันมีเวกเตอร์สองชั้น: หนึ่งจุดและรูปหลายเหลี่ยมหนึ่งรูปและฉันต้องการคำนวณระยะทางขั้นต่ำของแต่ละจุดจากรูปหลายเหลี่ยม (เช่นระยะทางจากจุดที่ใกล้ที่สุดของรูปหลายเหลี่ยมที่ใกล้เคียงที่สุด)
มีปลั๊กอินใน QGIS ให้ทำเช่นนี้หรือไม่?
ฉันมีเวกเตอร์สองชั้น: หนึ่งจุดและรูปหลายเหลี่ยมหนึ่งรูปและฉันต้องการคำนวณระยะทางขั้นต่ำของแต่ละจุดจากรูปหลายเหลี่ยม (เช่นระยะทางจากจุดที่ใกล้ที่สุดของรูปหลายเหลี่ยมที่ใกล้เคียงที่สุด)
มีปลั๊กอินใน QGIS ให้ทำเช่นนี้หรือไม่?
คำตอบ:
การแปลงรูปหลายเหลี่ยมเป็นคะแนนก่อนเป็นความคิดที่ไม่ดี คุณจะไม่คำนวณระยะทางกับรูปหลายเหลี่ยมของคุณคุณจะคำนวณระยะทางไปยังโหนดที่อยู่ใกล้ที่สุดของรูปหลายเหลี่ยมของคุณ (ไม่ใช่ขอบซึ่งอาจอยู่ใกล้กว่า) คุณสามารถใช้ปลั๊กอิน NNJoinเพื่อรับการวัดที่แม่นยำสำหรับรูปหลายเหลี่ยมของคุณ ตรวจสอบให้แน่ใจว่าเลเยอร์ของคุณอยู่ในการฉายภาพเดียวกันก่อนทำการวิเคราะห์
หากคุณต้องการใช้ QGIS ฟังก์ชันGRASS v.distanceในปลั๊กอิน GRASS ควรทำงาน NNJoinปลั๊กอินควรจะทำงานสำหรับชุดข้อมูลขนาดเล็กและยุ่งยากน้อยกว่าในการใช้งาน
NNJoinปลั๊กอินใช้ QgsGeometry.distance ฟังก์ชัน () (ซึ่งใช้ GEOSdistance) เพื่อคำนวณระยะทาง
ก่อนแปลงรูปหลายเหลี่ยมเป็นคะแนน:
เวกเตอร์ -> เครื่องมือเรขาคณิต -> แยกโหนด
เพิ่มเลเยอร์ใหม่นี้จากนั้นคำนวณระยะห่างระหว่างเลเยอร์จุดของคุณและเลเยอร์จุดรูปหลายเหลี่ยมใหม่ที่คุณเพิ่งสร้างขึ้น
Vector -> เครื่องมือวิเคราะห์ -> Matrix ระยะทาง
อย่าลืมเลือก "ใช้เฉพาะคะแนนเป้าหมายที่ใกล้ที่สุด (k)" เป็น 1