การทำงานกับ Attributes

ข้อมูล GIS มีสองส่วน - features และ attributes โดย Attributes คือโครงสร้างข้อมูลของแต่ละ feature ในบทนี้จะได้เรียนรู้การดูข้อมูล attribute ต่างๆ และพื้นฐานการเรียกดูข้อมูลเหล่านั้นใน QGIS

ภาพรวมของงาน

ชุดของข้อมูลในบทนี้จะเป็นข้อมูลเกี่ยวกับประชากรในพื้นที่บนโลกนี้ ในส่วนนี้เราจะทำการเรียกดูข้อมูลและค้นหาดูว่าเมืองหลวงเมืองไหนในโลกนี้ ที่มีประชากรมากกว่า 1,000,000 คน

สิ่งอื่นๆ ที่คุณจะได้เรียนรู้

  • เลือก features จาก ชั้นข้อมูล โดยใช้ expressions

  • ไม่เลือกบาง features จากชั้นข้อมูล โดยใช้เครื่องมือ Attributes

  • การใช้ Query Builder เพื่อแสดงค่าบางส่วนของ features จากชั้นข้อมูล

ข้อมูลที่ต้องใช้

Natural Earth มีชุดข้อมูลให้ดาวน์โหลด Populated Places ซึ่งมีข้อมูลครบครัน หรือดาวน์โหลดชุดข้อมูลขนาดเล็กได้ที่ simple (less columns)

เพื่อความสะดวก คุณสามารถดาวน์โหลดชุดข้อมูลได้จากลิงค์ด้านล่างนี้

ne_10m_populated_places_simple.zip

แหล่งข้อมูล [NATURALEARTH]

ขั้นตอนการทำงาน

  1. เมื่อคุณมีข้อมูลเรียบร้อยแล้ว ให้เปิด QGIS และไปที่เมนู Layer ‣ Add Layer ‣ Add Vector Layer

../_images/1140.png
  1. คลิกที่ Browse เลือกโฟลเดอร์ที่คุณเก็บชุดข้อมูลไว้

../_images/298.png
  1. เลือก zip ไฟล์ ชื่อ ne_10m_populated_places_simple.zip โดยที่คุณไม่จำเป็นต้อง unzip ไฟล์ออกมา QGIS สามารถอ่านไฟล์ zip ได้โดยตรง เมื่อเลือกไฟล์แล้วคลิกที่ปุ่ม Open

../_images/348.png
  1. ชั้นข้อมูลที่ถูกเลือกตอนนี้จะถูกโหลดลงใน QGIS และคุณจะเห็นจุดต่างๆ มากมายซึ่งบอกจำนวนประชากรในพื้นที่รอบโลก

../_images/435.png
  1. คลิกขวาที่ชั้นข้อมูลและเลือก Open Attribute Table

../_images/536.png
  1. คุณสามารถดูค่าต่างๆ ของ attribute ได้จากหน้านี้

../_images/634.png
  1. เราสนใจในจำนวนประชากรของแต่ละ feature เพราะฉะนั้นฟิลด์ pop_max คือฟิลด์ที่เรามองหาอยู่ คุณสามารถคลิกสองครั้งที่ส่วนหัวของฟิลด์เพื่อเรียงข้อมูลจากมากไปน้อย

../_images/733.png
  1. ตอนนี้เราสามารถทำการสืบค้นข้อมูลใน attribute ซึ่ง QGIS จะใช้ไวยากรณ์คล้ายกับ SQL เพื่อทำการสืบค้นข้อมูล ทำได้โดยคลิกที่ปุ่ม Select features using an expression ดังรูป

../_images/832.png
  1. ในหน้าต่าง Select By Expression ให้มองหา Fields and Values และขยายออกมาให้เห็นข้อมูลทั้งหมด จากนั้น double-click ที่ pop_max คุณจะเห็นได้ว่า ข้อมูลจะไปปรากฏที่ส่วน expression ถ้าคุณไม่มั่นใจเกี่ยวกับข้อมูลในฟิลด์ คุณสามารถคลิกที่ Load all unique values เพื่อดูว่า attribute ไหนที่ปรากฏในชุดข้อมูล สำหรับโจทย์นี้ เรากำลังมองหาทุก feature ที่มีจำนวนประชากรมากกว่า 1,000,000 ดังนั้น เติมคำค้นให้สมบูรณ์ให้เหมือนกับด้านล่างและคลิกที่ปุ่ม Select

"pop_max" > 1000000
../_images/930.png
  1. จากนั้นให้คลิกที่ปุ่ม Close จะกลับมายังหน้าต่างหลัก QGIS คุณจะเห็นได้ว่าข้อมูลที่ถูกเลือกจะปรากฏเป็นจุดสีเหลือง นี่คือผลลัพธ์ที่ได้จากการสืบค้นข้อมูลและคุณจะเห็นได้ว่าพื้นที่ส่วนใดในชุดข้อมูลที่มีค่า pop_max มากกว่า 1,000,000`

../_images/1031.png
  1. เป้าหมายของโจทย์นี้คือการหาพื้นที่ที่เป็นเมืองหลวงของประเทศ ซึ่งฟิลด์ที่เก็บข้อมูลนี้จะอยู่ที่ฟิลด์ adm0cap โดยค่าของข้อมูล 1 จะเป็นตัวบอกว่าพื้นที่นั้นๆ เป็นเมืองหลวง เราสามารถเพิ่มเงื่อนไขจากการสืบค้นครั้งที่แล้วได้โดยใช้ตัวดำเนินการ and ตอนนี้เราจะใช้ข้อมูลนี้ในการหาเมืองหลวงกัน โดยคลิกที่ปุ่ม Select feature using an expression โดยในตาราง attribute และเพิ่มเงื่อนไขดังเช่นในรูปและคลิกที่ปุ่ม Select และ Close

"pop_max" > 1000000 and "adm0cap" = 1
../_images/1141.png
  1. กลับมาที่หน้าหลัก QGIS คุณจะเห็นได้ว่าข้อมูลที่แสดงให้เห็นมีจำนวนลดลง นี่คือผลลัพธ์ที่ได้จากการสืบค้นครั้งล่าสุดและแสดงให้เห็นถึงเมืองหลวงที่มีจำนวนประชากรที่มากกว่า 1,000,000 คน หากเราต้องการวิเคราห์เพิ่มเติมจากข้อมูลชุดนี้ เราสามารถบันทึกข้อมูลชุดนี้ต่างหากได้โดย คลิกขวาที่ชั้นข้อมูล ne_10m_populated_places_simple และเลือก Properties

../_images/1231.png
  1. ในแท็บ General เลื่อนลงมาที่ส่วน Feature subset คลิกที่ Query Builder

../_images/1328.png
  1. เลือกคำสืบค้นเดิมที่คุณเคยทำไว้ก่อนหน้านี้ จากนั้นคลิกที่ปุ่ม OK

"pop_max" > 1000000 and "adm0cap" = 1
../_images/1427.png
  1. กลับมาที่หน้าต่างหลัก QGIS คุณจะเห็นได้ว่า จุดต่างๆ ที่ไม่ตรงกับการสืบค้นจะหายไป คุณสามารถทำการวิเคราะห์อื่นๆ กับข้อมูลชุดนี้ได้ และคุณจะสังเกตเห็นว่าจุดที่ปรากฏจะยังคงเป็นสีเหลือง เพราะว่าจุดพวกนี้ยังคงถูกเลือกอยู่ ให้มองหาปุ่ม Deselect Features from All Layers ซึ่งอยู่ภายในชุดเครื่องมือ the Attributes

../_images/1525.png
  1. คุณจะเห็นได้ว่าจุดต่างๆ ตอนนี้ไม่ได้ถูกเลือกและกลับไปเป็นสีดั้งเดิมแล้ว

../_images/1624.png
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License