ฉันมีเลเยอร์บัฟเฟอร์ (รูปหลายเหลี่ยมสีเขียว) ซึ่งฉันต้องการแยกเป็นรูปหลายเหลี่ยมสองรูปเมื่อใดก็ตามที่ข้ามสิ่งกีดขวาง (เส้นสีน้ำเงิน) ฉันพยายามใช้วิธี "splitGeometry" แต่ฉันไม่สามารถใช้งานได้ รหัสของฉันคือ:
while ldbuffprovider.nextFeature(feat):
while barprovider.nextFeature(feat2):
if feat.geometry().intersects(feat2.geometry()):
intersection = feat.geometry().intersection(feat2.geometry())
result, newGeometries, topoTestPoints=feat.geometry().splitGeometry(intersection.asPolyline(),True)
ซึ่งส่งคืน 1 สำหรับผลลัพธ์ (ข้อผิดพลาด) และรายการว่างสำหรับ newGeometries ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก