Invalid Geometry เป็นเรื่องพื้นฐานเกี่ยวกับ GIS ที่หลายคนมองข้ามไป Geometry ก็คือรูปร่างหรือรูปทรงทางเรขาคณิตของ Feature ที่สร้างขึ้น พูดง่าย ๆ Geometry ก็คือ จุด (Point) เส้น (Line) และ รูปทรงปิด (Polygon) นั่นเอง
อ่านเพิ่มเติม Repair Geometry
ทบทวนความรู้พื้นฐาน
อันนี้เป็นเรื่องพื้นฐานที่ทุกคนที่ควรทำงานต้องรู้นะ Geometry หรือ รูปทรงทางเรขาคณิต ซึ่งเวลาเราทำงานกับ Feature ใน ArcGIS ที่เราทำงานใน GIS มีอยู่ 3 รูปแบบ
- จุด (Point) : ตำแหน่งพิกัดที่ไม่มีขนาดและทิศทาง
- เส้น (Line) : มีระยะและทิศทางระหว่างจุดเริ่มต้นไปยังจุดแนวทางและ จุดสิ้นสุดแต่ไม่มีพื้นที่
- พื้นที่ (Polygon) : มีระยะและทิศทางระหว่างจุดเริ่มต้น จุดแนวทาง และ จุดสิ้นสุดที่ประกอบกันเป็นรูปหลายเหลี่ยม มีขนาด พื้นที่ และเส้นรอบรูป
Invalid Geometry มีอะไรบ้าง?
เคยสงสัยอยู่เหมือนกันว่าทำไมถึงมีความผิดพลาดทางด้าน Geometry เกิดขึ้น ถ้าทำงานจริงจังรอบคอบก็น่าจะมีการป้องกันข้อผิดพลาดแบบนี้ได้ในระดับหนึ่ง แต่การทำงานทุกอย่าง โดยเฉพาะปริมาณงานหลายสิบล้านข้อมูล โอกาสผิดพลาดก็มีได้เป็นธรรมดา (แต่ก็ไม่ควรเกิดขึ้นบ่อย ๆ) บางทีเกิดเพราะมีความผิดพลาดเวลาโหลดหรือตัดต่อ shapefile (โดยเขียนสคริปต์หรือใช้ซอฟต์แวร์อื่นที่ไม่ใช่ ArcGIS โดยตรง) หรือบางทีก็เป็นความผิดพลาดของผู้จัดทำ shapefiles เป็นรายบุคคล อันนี้ก็เป็นเรื่องที่ต้องตรวจสอบเพื่อให้ใช้งานได้อย่างเต็มประสิทธิภาพ
ลักษณะทางเรขาคณิตที่ไม่ถูกต้อง ที่พบบ่อยก็มี
- ไม่มีรูปทรงอะไรเลย ว่างเปล่า อันนี้พบได้เสมอถ้ามีการสร้างหรือแก้ไขโดยใช้วิธีเขียนสคริปต์เพื่อดำเนินการทีละมาก ๆ กลายเป็นว่าได้รับข้อมูลหลอก ๆ หรือข้อมูลผิดพลาดเข้าไป ก็เลยเป็น feature ที่ไม่มีรูปทรงทางเรขาคณิตใดใด หรือบางทีก็ปรากฏว่าไม่มีค่าข้อมูลในฟิลด์ Shape (ดูได้จากตาราง Attribute Table)
- รูปทรงทางเรขาคณิตไม่สมบูรณ์ เช่น การวางแนวของ Ring ใน polygon ผิดพลาด คือแทนที่จะเรียงตามลำดับไปทางใดทางหนึ่ง กลับมีการกระโดดข้ามลำดับไปมา หรือการวางลำดับ segment ผิดพลาด มันจะต้องเพิ่มที่ละ 1 กลับมีข้อมูลกระโดด แบบนี้ก็ไม่ดี หรือว่ามีการตัดเส้นกันเอง ซึ่งไม่ควรจะเกิดขึ้นอย่างยิ่ง เพราะรูป polygon จะต้องไม่มีส่วนใดตัดกันเอง
ตรวจสอบเบื้องต้น
ครั้งนี้จะเน้นเรื่อง polygon ซึ่งจะต้องมีขนาด พื้นที่ และเส้นรอบรูป เพราะช่วงทำงานตรวจรูปแปลงที่ดิน ทางบริษัที่รับงานสร้าง shapefile รูปแปลงที่ดิน ส่งงานกลับมาเป็น polygon (รูปแปลงที่ดิน) ซึ่งจากที่ตรวจสอบ พบเห็นความผิดพลาดเกิดขึ้นใน shapefile ที่ส่งมาหลายอย่าง
เรื่องแรก ความครบถ้วนของงาน ที่ไม่น่าพลาดแต่ก็พลาด นั่นคือ รูปแปลงต้องครบถ้วนทุกแปลง ไม่มี “ว่าง” วิธีตรวจสอบง่ายที่สุดคือเปลี่ยนสีโพลิกอน (Symbology Feature) ให้ทึบให้หมด ตรงไหนที่ไม่มีสี แสดงว่าตรงนั้นไม่มีรูปแปลง (polygon)
จากนั้น จึงตรวจความครบถ้วนสมบูรณ์ของโพลีกอน (Invalid Geometry)
Invalid Geometry
ใน ArcGIS ใช้เครื่องมือ Data Management Tool > Feature > Check Geometry ก็จะได้ผลลัพธ์เป็นตารางบอกว่า Feature ID ไหนผิดอย่างไร
แต่ (อันนี้โดยส่วนตัวเห็นว่า) QGIS ทำดีกว่า คือเพียงแค่ใช้เครื่องมือ Vector > Geometry Tools > Check Validity ก็จะได้ผลลัพธ์มาถึง 3 อย่าง คือ ไฟล์ที่ไม่มีความผิดพลาดทางรูปร่างเรขาคณิต ไฟล์ที่มีความผิดพลาดทางรูปร่างเรขาคณิต และที่ชอบที่สุดคือจุดตำแหน่งที่ผิด ทั้งหมดนี้ทำในคลิกเดียว ยอดเยี่ยมประหยัดเวลาดีจริง ๆ
ตัวอย่าง จาก ArcGIS จะพบทั้ง Ring Not Closed หรือ เส้นวงรอบไม่เป็นวงรอบ เวลาที่ทำรูปแปลงไม่เชื่อม node หรือ line 0 contains 1 duplicate node(s) at… หรือ node ซ้อนทับกัน หรือแม้แต่ intersection หรือเส้นทับตัวเอง ซึ่งคิดในสามัญสำนึกง่าย ๆ แปลงที่ดินที่ไหนจะปักหมุดลากเส้นพาดผ่านตัวเอง? (ก็อาจจะมี แต่ยังไม่เคยเจอ เพราะถ้าเป็นอย่างนั้นมักจะแยกเป็นสองแปลง)
เรื่องพวกนี้บางเรื่องก็ซีเรียส เช่น Ring Not Closed เวลาเลือกแปลงมักจะเลือกไม่ติด หรือ intersection คือรูปแปลงผิดพลาดส่งผลต่อการคำนวณเนื้อที่แปลงที่ดิน
ที่สำคัญคือมันเป็นเรื่องพื้นฐานมาก การที่ส่งงานมาโดยไม่ตรวจทานเรื่องพื้นฐานถือว่าโคตรชุ่ย
ถ้าต้องแก้ไขเอง สำหรับ ArcGIS แนะนำให้ใช้เครื่องมือ Replace feature geometry