สิ่งที่ QGIS อ้างถึงในแง่ของขอบเขตเลเยอร์เป็นจริงซองจดหมายหรือกล่องขอบเขตของรูปทรงเรขาคณิต
ฉันได้ทำเอกสารวิธีแก้ปัญหาซึ่งน่าจะใกล้เคียงที่สุดที่คุณจะได้รับโดยอัตโนมัติคือ
กระบวนการทำงานขึ้นอยู่กับอัตราส่วนระหว่างพื้นที่ของวัตถุทั้งสอง: เรขาคณิตของฟีเจอร์และกล่องขอบเขตของมัน)
ตรวจสอบขั้นตอนต่อไปนี้ด้านล่าง:
เลือกเลเยอร์ที่คุณต้องการทำงาน
เลือกสถานที่ที่คุณต้องการทำงาน ตรวจสอบว่าไม่มีอะไรถูกเลือกอยู่
เรียกใช้ตัวอย่างต่อไปนี้ภายใน Python Console
layer = qgis.utils.iface.activeLayer()
features = layer.selectedFeatures()
feature = features[0]
geom = feature.geometry()
env_rect = geom.boundingBox()
env_geom = QgsGeometry.fromRect(env_rect)
env_geom.area() / geom.area()
อย่าลืมกด Enter เพราะบรรทัดสุดท้ายจะไม่กลับมาโดยอัตโนมัติ
เรียกใช้Regular Points
เครื่องมืออีกครั้ง แต่ป้อนจำนวนจุดที่คุณต้องการภายในกล่องคูณด้วยผลลัพธ์ที่กำหนดโดยสคริปต์ของคุณ
ในตัวอย่างของฉันด้านล่างผลลัพธ์ที่ฉันได้รับจากผลลัพธ์เป็นค่า ~ 2 ฉันขอให้จุด 20 จุดแสดงผลโดยกระบวนการที่ฉันต้องการเพียง 10 จริง ๆ ฉันได้รับ 8 คืนซึ่งค่อนข้างใกล้เคียง ขึ้นอยู่กับรูปร่างที่แท้จริงที่คุณใช้ผลลัพธ์จะแตกต่างกันไป
หากคุณมีแนวโน้มมากคุณสามารถทำการประมวลผลคะแนนปกติแบบวนซ้ำโดยอัตโนมัติจนกว่าคุณจะไปถึงหมายเลขที่คุณต้องการ