นี่อาจเป็นคำถามที่ไม่สำคัญ แต่ฉันสับสนว่าอะไรคือความแตกต่างระหว่างเรขาคณิตกับ $ geometry ใน QGIS ฉันไม่พบตัวอย่างการใช้ฟังก์ชั่นนี้
โดยเฉพาะอย่างยิ่งฉันสนใจเรื่องรูปทรงเรขาคณิตในกรณีใดบ้างที่เป็นประโยชน์
นี่อาจเป็นคำถามที่ไม่สำคัญ แต่ฉันสับสนว่าอะไรคือความแตกต่างระหว่างเรขาคณิตกับ $ geometry ใน QGIS ฉันไม่พบตัวอย่างการใช้ฟังก์ชั่นนี้
โดยเฉพาะอย่างยิ่งฉันสนใจเรื่องรูปทรงเรขาคณิตในกรณีใดบ้างที่เป็นประโยชน์
คำตอบ:
ถัดจากรายการฟังก์ชั่นของภาพหน้าจอของคุณควรเป็นเอกสารของฟังก์ชันที่เลือกในปัจจุบัน สำหรับฉันด้วย 2.18.12 ที่อ่าน:
$ geometry คืนค่าเรขาคณิตของฟีเจอร์ปัจจุบัน สามารถใช้สำหรับการประมวลผลด้วยฟังก์ชั่นอื่น ๆ
เรขาคณิต ส่งคืนเรขาคณิตของคุณสมบัติ
นี่เป็นเหมือนวิธีการที่แตกต่างจากฟังก์ชั่นในการเขียนโปรแกรมเชิงวัตถุ $ เรขาคณิตนี้ / ตนเอง 's เรขาคณิต คุณสามารถคิดได้มากกว่าเช่นคุณสมบัติหรือทรัพย์สินอาจจะ
ในทางกลับกันรูปทรงเรขาคณิตนั้นต้องการ / อนุญาตให้คุณส่งคุณสมบัติไปและจะคืนรูปทรงเรขาคณิตที่สอดคล้องกัน ตามที่แสดงในเอกสารคุณสามารถใช้สิ่งนี้เพื่อรับรูปทรงเรขาคณิตจากการเลือกคุณสมบัติตามคุณลักษณะ:
geometry(
get_feature(layer, attributeField, value)
)
คุณสามารถทำอะไรกับมันถูก จำกัด ด้วยความคิดสร้างสรรค์ของคุณและแหล่งที่มาของคุณสมบัติที่จะส่งผ่านไป :)
$geometry
เป็นตัวแปร (const) โดยไม่คำนึงว่า OO หรือไม่
$geometry
ส่งคืนเรขาคณิตของคุณลักษณะปัจจุบันตามที่geom_to_wkt($geometry)
geometry
ส่งคืนเรขาคณิตของคุณลักษณะเฉพาะดังที่geom_to_wkt(geometry(get_feature('my_layer', 'my_feature', feature_id)))
คุณจะใช้ตัวพิมพ์ที่สองหากต้องการตัวอย่างเช่นเพื่อประมวลผลคุณลักษณะปัจจุบันกับคุณลักษณะเฉพาะ:
intersects($geometry,geometry(get_feature(layer,attributeField,value)))