วิธีการโหลดเอาท์พุทหน่วยความจำจากการประมวลผล QGIS?
อัลกอริทึมการประมวลผลจำนวนมากมีตัวเลือกในการบันทึกผลลัพธ์เป็นหน่วยความจำ หากวิ่งจากกล่องเครื่องมือสิ่งนี้จะใช้ได้เพราะคุณสามารถทำเครื่องหมายในช่อง "เปิดไฟล์เอาต์พุตหลังจากเรียกใช้อัลกอริทึม" มองไปที่ซอร์สโค้ดสำหรับ QGIS Postprocessing.handleAlgorithmResultsรหัสสำหรับการโหลดชั้นหน่วยความจำที่ดูเหมือนว่าจะมีการกำหนดไว้ในการทำงาน ฟังก์ชันใช้การเข้าถึงalg.outputsรายการและทำสิ่งต่อไปนี้: for out in alg.outputs: progress.setPercentage(100 * i / float(len(alg.outputs))) if out.hidden or not out.open: continue if isinstance(out, (OutputRaster, OutputVector, OutputTable)): try: if out.value.startswith('memory:'): layer = out.memoryLayer # NOTE!! QgsMapLayerRegistry.instance().addMapLayers([layer]) # NOTE!! else: # ... เมื่อคุณเรียกใช้อัลกอริทึมการประมวลผลจากคอนโซลมีวิธีโหลดเลเยอร์โดยไม่ต้องเข้าถึงวัตถุนี้หรือไม่? ฉันวิ่งได้ processing.runalg("qgis:intersection", layer1, layer2, "memory:") หรือแม้กระทั่ง processing.runalg("qgis:intersection", layer1, …