ฉันต้องการสร้างเลเยอร์ tempory จากเลเยอร์ที่มีอยู่และรับเฉพาะคุณสมบัติเหล่านั้นจากเลเยอร์ที่มีอยู่ซึ่งถูกเลือก ฉันรู้ว่า ArcGIS มีฟังก์ชั่นนี้ที่คุณสามารถสร้างเลเยอร์จากคุณสมบัติที่เลือก
อย่างไรก็ตามฉันไม่พบวิธีแก้ปัญหาการทำงานสำหรับเรื่องนี้ใน QGIS ฉันตระหนักถึงคำถามนี้ซึ่งอธิบายถึงวิธีบันทึกสิ่งที่เลือกลงในไฟล์ใหม่ซึ่งไม่ใช่เป้าหมายของฉันที่นี่
การตรวจสอบเมนูบริบทสำหรับ "บันทึกเป็น ... " ไม่ได้ให้ผลลัพธ์ใด ๆ ในส่วนปลั๊กอินที่มีคำค้นหา "การเลือก" ไม่ได้ให้ผลลัพธ์ที่มีความหมายใด ๆ
ในขณะที่พยายามอยู่รอบ ๆ ฉันคิดวิธีแก้ปัญหาด้วย pyqgis แต่ฉันอยากได้วิธีที่ไม่เกี่ยวข้องกับการเข้ารหัสเพราะฉันต้องการแสดงให้เพื่อนร่วมงานฟัง
* วิธี pyqgis :
layer = iface.activeLayer() # layer which has a selection
feat = layer.selectedFeatures()
fields = layer.fields()
selection = QgsVectorLayer('Point', 'temp', 'memory')
dp = selection.dataProvider()
dp.addAttributes(fields)
dp.addFeatures(feat)
selection.commitChanges()
selection.updateExtents()
QgsMapLayerRegistry.instance().addMapLayer(selection)