วิธีกำหนด ID อัตโนมัติ เมื่อสร้าง Feature ใหม่ บน QGIS

Satap_srm
MAPEDIA BLOG
Published in
Aug 16, 2023

หลายคนที่มีโอกาสได้ใช้โปรแกรม QGIS ในการสร้างข้อมูลประเภทต่างๆ ไม่ว่าจะเป็นข้อมูลจุด เส้น หรือ พื้นที่ปิด จะพบปัญหาหลังจากวาดเสร็จแล้วต้องมานั่งกรอก id ของแต่ละข้อมูล ซึ่งอาจจะทำให้เกิดการล่าช้าในการสร้างข้อมูล วันนี้ผมจะมาแนะนำการกำหนด id อัตโนมัติ

ขั้นแรกให้เลือกชั้นข้อมูลที่เราต้องการ จากนั้นคลิกขวาที่ชั้นข้อมูล เลือก Properties

จะปรากฏหน้าต่าง Properties เลือก Attributes Form จากนั้นในหัวข้อ Fields ให้เลือกคอลัมน์ที่เราต้องการ

เมื่อเลือกคอลัมน์ที่ต้องการเรียบร้อย จะปรากฏเมนูให้ตั้งค่า มองหาเมนู Default value

จะปรากฏหน้าต่าง Expression Dialog ให้ทำการใส่สูตรที่ต้องการ

โดยสูตรมีให้เลือกสองแบบคือ

  • if (maximum(“id”) is NULL, 1 ,maximum(“id”) + 1) กำหนด id อัตโนมัติจากข้อมูลในตารางคอลัมน์ id เช่น ถ้าเรามี id ที่ 5 อยู่แล้ว เมื่อวาดใหม่จะกรอกค่า id อัตโนมัติ เป็น id = 6
  • if (count(‘id’) = 0, 1 ,count(‘id’)+1) กำหนด id อัตโนมัติจากข้อมูล ใช้ในกรณีที่ข้อมูลไม่มีข้อมูลตาราง แต่ต้องการนับเป็น id ด้วย เช่น ถ้าเรามี id ที่ 5 อยู่แล้ว เมื่อวาดใหม่ เมื่อวาดใหม่จะกรอกค่า id อัตโนมัติ เป็น id = 2 ซึ่งนับตามจำนวนรูปที่วาดไว้

เมื่อเลือกสูตรได้แล้วให้ใส่สูตรแล้วก็กด ok ก็เรียบร้อยสำหรับการ กำหนด ID อัตโนมัติ เมื่อสร้าง Feature ใหม่ บน QGIS

ทดสอบการวาดก็จะปรากฏ ID ให้อัตโนมัติให้เราเป็นอันเรียบร้อย

--

--