Lưu kết quả xử lý trong một tệp bằng cách sử dụng trình tạo mô hình QGIS?


9

Từ một mô hình, tôi muốn lưu kết quả xử lý trong một tệp. Trong mô hình của tôi, tôi có một số Extract by locationthuật toán (với hai đầu vào vectơ) tạo ra kết quả hợp lý nhưng chỉ là các lớp tạm thời, mà tôi phải làm Save as...thủ công, điều mà đối với một đống các phân tích là phiền và tốn thời gian.

Tốt nhất, tôi muốn chuyển một đường dẫn đến mô hình của mình, nơi kết quả của tôi được lưu dưới dạng shapefiles (trong bước đầu tiên).

Đây là mô hình. Lưu ý rằng vectơ đầu ra (tệp) không thể kết nối với bất kỳ kết quả xử lý nào:

nhập mô tả hình ảnh ở đây

Như có thể thấy trong các ảnh chụp màn hình a), chúng tôi có thể chuyển tên cho kết quả cuối cùng, nhưng không phải là tệp, ngay cả trong Save selected featuresthuật toán b).

a) nhập mô tả hình ảnh ở đây

b) nhập mô tả hình ảnh ở đây

Tôi có một ý tưởng mơ hồ làm thế nào để đạt được điều này với một kịch bản python, nhưng điều này có thể được thực hiện với sự kết hợp của các công cụ hiện có không?

Câu trả lời:


6

Nếu bạn muốn vượt qua một đường dẫn trong mô hình của mình để lưu các shapefiles của bạn thay vì thực hiện thủ công, một kịch bản tùy chỉnh có lẽ là cách tốt nhất. Bạn có thể viết một tập lệnh để chạy công cụ Trích xuất theo vị trí và xác định đường dẫn của đầu ra. Một cái gì đó như thế này có lẽ:

##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)

Thay thế Trích xuất bằng các công cụ vị trí trong mô hình của bạn bằng tập lệnh này và nó sẽ lưu kết quả vào một shapefile trong đường dẫn bạn đã chỉ định.


5

Nhà mô hình hóa QGIS coi bất kỳ công cụ nào là trung gian không lưu bất kỳ đầu ra nào, trừ khi có quy định khác.

Để buộc mô hình xuất kết quả, bạn phải nhập tên đầu ra của lớp trong hàng Công cụ.

nhập mô tả hình ảnh ở đây

Nếu tôi muốn xuất kết quả ở trên dưới dạng một lớp, tôi nhập một giá trị trong đầu ra như sau: nhập mô tả hình ảnh ở đây

Những gì nó làm là thêm một hộp thoại khi bạn chạy công cụ mà bạn có thể đặt tệp đầu ra:

nhập mô tả hình ảnh ở đây

Bản thân mô hình hiển thị các loại dữ liệu có màu: tím cho đầu vào, lục lam cho đầu ra


1
Điều này thực sự đúng, nhưng đó là nỗ lực tương tự như để lại các vectơ đầu ra dưới dạng các tệp tạm thời và sau đó thực hiện rightclick > Save As...cho từng tệp.
Jochen Schwarze
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.