กำลังบันทึกผลลัพธ์การประมวลผลในไฟล์โดยใช้ตัวจำลอง QGIS หรือไม่


9

จากแบบจำลองฉันต้องการบันทึกผลลัพธ์การประมวลผลในไฟล์ ในแบบจำลองของฉันฉันมีExtract by locationอัลกอริทึม (ที่มีอินพุตแบบเวกเตอร์สองตัว) ให้ผลลัพธ์ที่สมเหตุสมผล แต่เป็นเลเยอร์ชั่วคราวซึ่งฉันต้องทำSave as...เอง

ดีที่สุดฉันต้องการส่งเส้นทางไปยังแบบจำลองของฉันซึ่งผลลัพธ์ของฉันจะถูกบันทึกเป็น shapefiles (ในขั้นตอนแรก)

นี่คือรูปแบบ โปรดทราบว่าเอาต์พุตเวกเตอร์ (ไฟล์) ไม่สามารถเชื่อมต่อกับผลลัพธ์การประมวลผลใด ๆ :

ป้อนคำอธิบายรูปภาพที่นี่

ดังที่เห็นในภาพหน้าจอ a) เราสามารถส่งชื่อสำหรับผลลัพธ์สุดท้าย แต่ไม่ใช่ไฟล์แม้แต่ในSave selected featuresอัลกอริทึม b)

ก) ป้อนคำอธิบายรูปภาพที่นี่

ข) ป้อนคำอธิบายรูปภาพที่นี่

ฉันมีความคิดที่คลุมเครือว่าจะบรรลุผลอย่างไรด้วยสคริปต์ไพ ธ อน แต่สิ่งนี้สามารถทำได้ด้วยการรวมกันของเครื่องมือที่มีอยู่หรือไม่

คำตอบ:


6

หากคุณต้องการส่งพา ธ ในแบบจำลองของคุณเพื่อบันทึกรูปร่างของคุณลงในไฟล์แทนที่จะทำด้วยตนเองสคริปต์ที่กำหนดเองน่าจะเป็นวิธีที่ควรดำเนินการ คุณสามารถเขียนสคริปต์เพื่อเรียกใช้เครื่องมือแยกตามตำแหน่งและกำหนดเส้นทางของเอาต์พุต บางสิ่งเช่นนี้อาจจะ:

##Extract_by_location=name
##Layer=vector
##Additional_layer=vector

layer = processing.getObject(Layer)
output_path = "C:/Users/You/Desktop/" + layer.name() + ".shp"

processing.runalg("qgis:extractbylocation", Layer, Additional_layer, u'contains', 0.00, output_path)

แทนที่เครื่องมือแยกตามตำแหน่งในโมเดลของคุณด้วยสคริปต์นี้และมันจะบันทึกผลลัพธ์เป็นรูปร่างไฟล์ในเส้นทางที่คุณระบุ


5

ผู้สร้างแบบจำลอง QGIS ใช้เครื่องมือใด ๆ เป็นสื่อกลางซึ่งไม่ได้บันทึกผลลัพธ์ใด ๆ เว้นแต่จะระบุไว้เป็นอย่างอื่น

ในการบังคับให้โมเดลส่งออกผลลัพธ์คุณต้องป้อนชื่อเอาต์พุตเลเยอร์ในแถวเครื่องมือ

ป้อนคำอธิบายรูปภาพที่นี่

ถ้าฉันต้องการส่งออกผลลัพธ์ข้างต้นเป็นเลเยอร์ฉันป้อนค่าในผลลัพธ์ดังนี้: ป้อนคำอธิบายรูปภาพที่นี่

สิ่งนี้จะเพิ่มกล่องโต้ตอบเมื่อคุณเรียกใช้เครื่องมือที่คุณสามารถตั้งค่าไฟล์ที่ส่งออก:

ป้อนคำอธิบายรูปภาพที่นี่

ตัวแบบแสดงชนิดของข้อมูลด้วยสี: สีม่วงสำหรับอินพุต, สีฟ้าสำหรับเอาท์พุท


1
นี่เป็นเรื่องจริง แต่ก็เป็นความพยายามเดียวกับการปล่อยเวกเตอร์เอาท์พุทเป็นไฟล์ชั่วคราวและจากนั้นก็ทำrightclick > Save As...เพื่อแต่ละคน
Jochen Schwarze
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.