สร้างเครื่องมือ Action สำหรับ Select features ที่มีค่า value ในข้อมูล attributes ที่เหมือนกัน
หลายๆท่านคงเคยใช้ในส่วนของการสืบค้น (Query) จากข้อมูล Attributes มากันมาบ้างแล้ว วันนี้ผมจะมาสอนวิธีการสร้างปุ่มเครื่องมือ (Action) สำหรับการเลือกข้อมูลที่มีค่า Attributes ที่เหมือนกัน โดยเวลาเราคลิกลงไปยังข้อมูลแผนที่ก็จะแสดงข้อมูลที่เราเลือกไว้ ซึ่ง Features ที่แสดงนั้นก็จะเป็นค่าข้อมูลที่เป็นค่าเดียวกันครับ ซึ่งเครื่องมือ Action นี้สามารถนำไปใช้ประโยชน์ได้หลากหลายมากๆ ยกตัวอย่างในครั้งนี้ก็คือข้อมูลตัวอย่างแปลงที่ดิน โดยผมเลือกใช้ฟิวด์ที่ชื่อว่า land_type ที่มีการเก็บค่าว่าเป็นประเภทของเอกสารสิทธิ์อะไรบ้าง เมื่อเราคลิกไปก็จะแสดงเฉพาะข้อมูลประเภทเอกสารสิทธิ์นั้นๆ โดยรูปแบบที่ใช้จะเป็นการเขียนภาษา Python สำหรับสร้าง Action มาดูขั้นตอนกันเลยครับ 😀
1.เปิดโปรแกรม QGIS และเพิ่มชั้นข้อมูล parcel เข้ามาดังภาพ
2.คลิกขวา Properties
3.ไปที่เมนู Actions จากนั้นเลือก Type แบบ Python แล้วพิมพ์โค้ดดังภาพด้านล่าง เมื่อเสร็จแล้วคลิก OK
layer = QgsProject.instance().mapLayer('[% @layer_id %]')
layer.selectByExpression('"land_type"=\'[%land_type%]\'')
4.คลิก OK
5.คลิก Active ที่ชั้นข้อมูล parcel จากนั้นคลิกปุ่ม Select same value ที่เราสร้างขึ้น
6.เลื่อนเมาส์คลิกไที่ข้อมูลแผนที่ที่ต้องการ ถ้าคลิกเลือกชั้นข้อมูลที่มีค่าเหมือนกัน การ select features ข้อมูลก็จะแสดงขึ้นมาพร้อมกันครับ