QGIS Model Designer - Pilih berdasarkan Atribut dengan Beberapa Parameter Bidang

Dec 04 2020

Saya membangun model yang menyertakan algoritme 'pilih berdasarkan atribut', dan saya mencoba memilih dengan beberapa bidang yang nilainya cocok dengan input model.

Pada dasarnya, saya ingin kueri pemilihan menjadi 'field1 = input AND field2 = input'

Berdasarkan keterangan alat, dan pertanyaan ini ( Pilih beberapa bidang di Modelbuilder ) Saya percaya bahwa sintaks untuk memilih dengan beberapa parameter bidang harus bidang1; bidang2:

Namun, ini tidak berfungsi untuk alat pilih menurut atribut. Kotak dialog menutup dan mengosongkan bidang 'Atribut pilihan' ketika saya menekan OK.

Apakah ada sintaks yang berbeda untuk alat pilih menurut atribut atau ini tidak mungkin? Saya dapat mengatasinya untuk saat ini dengan memiliki dua algoritma 'pilih berdasarkan atribut' dalam model dan memilih dalam pilihan saat ini. Saya menggunakan QGIS versi 3.16.

Jawaban

Babel Dec 06 2020 at 23:07

Anda tidak dapat memasukkan dua bidang sekaligus di sini dengan fungsi ini. Fungsi select by attributetersebut hanya memiliki satu masukan yang mungkin untuk atribut pemilihan saat Anda menjalankannya secara mandiri dari kotak alat. Jadi saya kira itu tidak akan menerima lebih banyak masukan dalam model karena tidak dirancang untuk itu.

Pertanyaan yang Anda tautkan tampaknya memiliki kapasitas bawaan untuk memilih lebih dari satu bidang masukan seperti yang Anda lihat dari bentuk jamak opsional: Dissolve field(s)- dan di sana, ini benar-benar masuk akal.

Tapi dengan pilih oleh atribut, Anda hanya memiliki bentuk tunggal: Selection attribute.

Jika Anda memiliki dua bidang masukan, QGIS akan membutuhkan kemungkinan tambahan untuk mengetahui bagaimana kedua bidang ini digabungkan: field_1 = School_Code AND field_2 = School_Code? Atau lebih tepatnya: (field_1 OR field_2) = School_Code?

Jadi saya kira pilihan terbaik Anda adalah menjalankan select by attributedua kali. Atau Anda dapat mencoba di select by expressionmana Anda bebas untuk mendefinisikan ekspresi kompleks.