การใช้เครื่องคำนวณภาคสนามใน QGIS เพื่ออัปเดตคอลัมน์ด้วยพิกัดเซนทรอยด์


11

ใน QGIS ฉันต้องการอัปเดตสองคอลัมน์ด้วยเซนทรอยด์ตะวันออกและทิศเหนือของรูปหลายเหลี่ยมของฉัน ฉันกำลังใช้เครื่องคำนวณภาคสนาม ฉันได้ลองใช้ $ x และ $ y แต่นี่ดูเหมือนจะใช้ได้กับคะแนนเท่านั้น

ฉันตรวจสอบความช่วยเหลือแล้ว แต่ไม่ได้พูดถึงความสามารถในการทำเช่นนี้


ดูเหมือนว่าจะเป็นไปไม่ได้ในขณะนี้ ไม่ควรเพิ่มยากเกินไป
นาธาน W

สิ่งที่ง่าย ๆ ควรจะเพิ่มเซนทรอยด์ในคอลัมน์ที่เพิ่มโดย "ส่งออกคอลัมน์รูปทรงเรขาคณิต"
underdark

คำตอบ:


15

วิธีที่รวดเร็ว (ไม่มีเครื่องคำนวณภาคสนาม) คือการ

  1. สร้างเลเยอร์ centroid: Vector - Geometry Tools - Polygon Centroids
  2. เข้าร่วมชั้น centroid กับชั้นรูปหลายเหลี่ยม: (รูปหลายเหลี่ยม) คุณสมบัติชั้น - เข้าร่วมแท็บ

1
ขอบคุณสำหรับคำตอบ. ฉันคิดว่าฉันสามารถทำได้ด้วยวิธีนี้ฉันแค่สงสัยว่ามีวิธีที่จะทำผ่านเครื่องคิดเลขภาคสนามเช่นสำหรับจุด
James S

12

ไม่แน่ใจว่ามันใช้งานได้เมื่อ 5 ปีก่อน แต่ตอนนี้วิธีการแก้ปัญหามีลักษณะเช่นนี้:

x (centroid( $geometry )) และ y (centroid( $geometry ))

ผลลัพธ์เหมือนกับในขณะที่ใช้ตัวเลือก "เข้าร่วม" ที่กล่าวถึงข้างต้น:

รูปหลายเหลี่ยมของ centroids m


0

หากคุณจะลองใช้วิธีแก้ปัญหานี่เป็นวิธีที่ฉันทำ:

ส่งออกรูปหลายเหลี่ยมของคุณเป็นไฟล์ MapInfo

คำนวณ centroids ด้วย Vector> เครื่องมือเรขาคณิต> รูปหลายเหลี่ยม Centroids

ส่งออกเซนทรอยด์เป็นไฟล์ MapInfo

ลบข้อมูลที่ไม่จำเป็นทั้งหมดออกจากไฟล์ Centroid MIF โดยปล่อยเพียงพิกัด

ในไฟล์รูปหลายเหลี่ยม MIF ของคุณเพิ่มข้อมูลที่คุณมีอีก 2 คอลัมน์ (x และ y / lat และ long) อย่าลืมอัปเดตข้อมูลจำนวนคอลัมน์

ในไฟล์รูปหลายเหลี่ยม MID ของคุณคัดลอกคอลัมน์ทั้งหมดจากไฟล์ Centroid MIF (excel จะช่วยที่นี่)

อาจจะมีวิธีที่สั้นกว่า / ตรงไปนี้ แต่บางทีคำตอบของฉันอาจช่วยคุณได้

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