Add Geometry Attribute (QGIS)

เผยแพร่ครั้งแรก:

|

ปรับปรุงล่าสุด

เก็บที่

Add Geometry Attribute เป็นเครื่องมือสำหรับเติมค่า Geometry เข้าไปในตารางแอตทริบิวต์ ซึ่งสำคัญมากพอสมควรในการทำงานด้าน GIS เพื่อระบุตำแหน่ง

“เมื่อแผนที่ไร้ตำแหน่ง ก็ไม่ต่างจากความฝันที่ไร้จุดหมาย” – นี่อาจฟังดูเหมือนคำคมในหนังไซไฟยุค 80 แต่ความจริงก็คือ: ถ้าไม่มีค่าพิกัด X,Y ในแอตทริบิวต์เทเบิล การอ่านแอตทริบิวต์เพื่อนำไปใช้วิเคราะห์เชิงพื้นที่จะกลายเป็นเพียงเส้นสายลายสวยที่ไม่บอกอะไรเลย

ทำไมเราต้อง Add Geometry Attribute?

ในระบบ GIS ข้อมูลแต่ละจุด ไม่ได้เป็นเพียงจุดธรรมดา มันคือ “คุณลักษณะเชิงพื้นที่” (Spatial Feature) ซึ่งมีโครงสร้างสองมิติ (หรือสามมิติ) ฝังอยู่ในโครงสร้างของเลเยอร์ แต่! Geometry ที่เก็บอยู่ในระบบ GIS นั้น มักไม่ถูกเปิดเผยให้เห็นใน ตารางแอตทริบิวต์  และที่นี้เอง ที่เราอาจจะต้องทำหน้าที่ แปลงข้อมูลเชิงพื้นที่ (geometry) ให้กลายเป็น ข้อมูลเชิงตาราง (attribute) เพื่อ:

  • ใช้ในงานวิเคราะห์
  • ส่งออกให้โปรแกรมอื่นเข้าใจ
  • แปลงเป็น CSV, Excel, หรือแม้แต่ Google Sheets เพื่อให้เพื่อนร่วมงานทำงานกันสะดวกยิ่งขึ้น

จาก KML สู่การทำงาน

เนื่องจากผู้ร่วมงานบางท่านได้ปักหมุดสนใจไว้ในกูเกิลเอิร์ธ และต้องนำมาใช้งานต่อ และสิ่งที่ต้องนำมาใช้งานต่อ ต้องเป็นค่าพิกัด x,y ในแอตทริบิวต์เทเบิล แต่ในไฟล์ KML ที่ส่งออกมาจากกูเกิลเอิร์ธไม่มีค่าพิกัดนี้มาด้วย แบบนี้จะต้องทำอย่างไร?

เมื่อส่งออกไฟล์จาก กูเกิลเอิร์ธ เป็น KML ดูเหมือนว่าจะมีข้อมูลพร้อมใช้ แต่ความจริงอันแสนปวดตับก็คือ… KML ไม่มีค่าพิกัด X,Y แสดงในตารางแอตทริบิวต์ ถึงแม้ตำแหน่งจะแสดงบนแผนที่ก็ตาม  

ถ้าในตารางแอตทริบิวต์ไม่มีพิกัด x, y เราจะเติมข้อมูลเหล่านี้เข้าไปอย่างไร?????

สำหรับบล็อกนี้ เราจะทำงานในซอฟต์แวร์ QGIS

Add Geometry Attribute

ค่าพิกัด x,y นี้เป็น geometry ประเภทหนึ่ง ดังนั้น สิ่งที่เราทำก็คือการ เติมค่า geometry เข้าไปในแอตทริบิวต์เท่านั้นเอง

Add Geometry Attribute

วิธีการก็คือ

  1. โหลดไฟล์ KML เข้าสู่ QGIS 
  2. เรียกใช้งาน
    1. ไปที่เมนู Vector > Geometry Tools > Add Geometry Attributes 
    1. หรือใช้ Processing Toolbox  (ถ้าไม่ได้เปิดหน้าต่างนี้เอาไว้ ให้คลิกที่เมนุ Processing ด้านบน แล้วคลิกเลือก Toolbox) เลือกหัวข้อ Vector Geometry แล้วเลื่อนดู Tip หรือจะพิมพ์ค้นหา Processing Toolbox Pane ตรงช่อง search เลยก็ได้ (ขอเชียร์วิธีนี้ เพราะมันเร็วกว่า)
  3. ตั้งค่า Parameters จะมีอยู่เพียง 3 ช่องที่ต้องใส่เท่านั้น คือ:
    1. Input Layer เลือกเลเยอร์ที่ต้องการ (ปกติ มันจะขึ้นให้อัตโนมัตเป็นค่าตั้งต้นให้อยู่แล้วถ้าเลเยอร์นั้นแอ็กทีฟอยู่)
    1. Calculate using ระบุระบบพิกัด (Coordinate Reference System – CRS) ที่จะใช้คำนวณค่าเริ่มต้นคือระบบที่ฝังมากับเลเยอร์ ถ้าเปลี่ยน CRS แบบมั่ว ๆ โดยไม่เข้าใจระบบพิกัด คุณอาจกำลังบิดเบือนโลกแบบที่เพื่อนร่วมงานนึกด่าในใจ
    1. Add Geometry Info ตั้งชื่อไฟล์ผลลัพธ์ หรือปล่อยให้มันเป็น temp layer ก็ได้ อันนี้แล้วแต่ความสะดวกของแต่ละคน บางคนอาจจะทำเป็น temp layer เพื่อใช้งานชั่วคราวก็ไม่มีปัญหา เพราะสามารถ save as ออกมาได้ในภายหลัง
  4. คลิก Run และสูดลมหายใจอย่างภาคภูมิใจ

คุณได้เปลี่ยนข้อมูลที่เคย “อยู่แต่ในแผนที่” ให้กลายเป็น “ข้อมูลที่วิเคราะห์ต่อได้” นี่แหละคือเส้นทางจากจินตนาการสู่การเก็บไว้ในฐานข้อมูล

Mindful GIS: หลักการเบื้องหลังที่คุณควรรู้ 

(ถ้าไม่อยากแค่ใช้เครื่องมือแบบหุ่นยนต์)

ข้อมูลเชิงพื้นที่ (Spatial Data) แบ่งเป็น Geometry กับ Attribute

  • Geometry คือรูปทรง/ตำแหน่ง
  • Attribute คือคุณลักษณะเชิงบรรยาย
  • สิ่งที่เราทำ คือสะพานเชื่อมระหว่างทั้งสอง

การแปลง Geometry เป็น Attribute ทำให้ข้อมูลสามารถเข้าถึงได้จากซอฟต์แวร์ที่ไม่รองรับ spatial layer เช่น Excel

พิกัด (Coordinates) ไม่ใช่ค่ามายากลที่ลอยมาจากฟ้า ต้องกำหนด CRS ที่ชัดเจนเพื่อให้หมายถึง ตำแหน่ง จริงในโลกความจริง (และไม่ใช่โลกในหนัง Dune)

Add Geometry Attribute คือการดึงข้อมูลจากสิ่งที่เห็นเป็นรูปภาพ (จริง ๆ เป็นเวกเตอร์)  มาให้เห็นเป็นตัวเลข เพื่อให้เราวิเคราะห์ ทำงาน และเข้าใจโลกได้อย่างเป็นระบบ  หากใช้ QGIS เพื่อแค่ “ดูแผนที่” นั่นคือการมองเพียงผิวหน้า แต่ถ้าคุณรู้ว่า Geometry ซ่อนอะไรไว้ข้างใต้ นั่นแหละท่านกำลังใช้ GIS อย่างมีสติ และเข้าใจชีวิต (ของข้อมูล) อย่างแท้จริง

เอวังก็มีด้วยประการฉะนี้