Menyimpan hasil pemrosesan dalam file menggunakan pemodel QGIS?


9

Dari model, saya ingin menyimpan hasil pemrosesan dalam file. Dalam model saya, saya memiliki beberapa Extract by locationalgoritma (dengan dua input vektor) menghasilkan hasil yang wajar tetapi hanya sebagai lapisan sementara, yang saya harus Save as...secara manual, yang untuk tumpukan analisis mengganggu dan memakan waktu.

Terbaik, saya ingin melewati jalur ke model saya, di mana hasil saya disimpan sebagai shapefile (pada langkah pertama).

Ini adalah modelnya. Perhatikan bahwa vektor output (file) tidak dapat terhubung ke salah satu hasil pemrosesan:

masukkan deskripsi gambar di sini

Seperti yang dapat dilihat pada tangkapan layar a), kami dapat memberikan nama untuk hasil akhir, tetapi bukan file, bahkan dalam Save selected featuresalgoritma b).

Sebuah) masukkan deskripsi gambar di sini

b) masukkan deskripsi gambar di sini

Saya memiliki gagasan yang kabur bagaimana mencapai ini dengan skrip python, tetapi dapatkah ini dilakukan dengan kombinasi alat yang ada?

Jawaban:


6

Jika Anda ingin melewatkan jalur dalam model Anda untuk menyimpan shapefile Anda alih-alih melakukannya secara manual, skrip khusus mungkin merupakan cara yang harus dilakukan. Anda dapat menulis skrip untuk menjalankan alat Extract by location dan menentukan jalur output. Sesuatu seperti ini mungkin:

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

Ganti alat Extract by location dalam model Anda dengan skrip ini dan itu akan menyimpan hasilnya ke shapefile di jalur yang Anda tentukan.


5

Pemodel QGIS memperlakukan alat apa pun sebagai perantara yang tidak menyimpan output apa pun, kecuali dinyatakan lain.

Untuk memaksa model untuk mengekspor hasil, Anda harus memasukkan nama keluaran lapisan di baris Alat.

masukkan deskripsi gambar di sini

Jika saya ingin mengekspor hasil di atas sebagai layer, saya memasukkan nilai dalam output sebagai berikut: masukkan deskripsi gambar di sini

Apa yang dilakukan adalah menambahkan kotak dialog ketika Anda menjalankan alat yang Anda dapat mengatur file output:

masukkan deskripsi gambar di sini

Model itu sendiri menunjukkan jenis data dengan warna: ungu untuk input, cyan untuk output


1
Ini memang benar, tetapi itu adalah upaya yang sama dengan meninggalkan vektor output sebagai file sementara dan kemudian lakukan rightclick > Save As...untuk masing-masing.
Jochen Schwarze
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.