Kustomisasi Perangkat Lunak SIG

Menjalankan alat kustom (model atau skrip) di latar belakang


Secara default, alat model atau skrip dijalankan di latar depan. Jika Anda ingin alat Anda berjalan di latar belakang, Anda perlu menyelesaikan masalah yang dijelaskan di bawah ini. Setelah Anda memastikan bahwa model dan skrip Anda telah memperbaiki masalah ini, Anda dapat menjalankan alat Anda di latar belakang dengan langkah-langkah berikut:

Di jendela Katalog atau ArcToolbox, klik kanan alat Anda dan klik Properties. 
Pada tab General, hapus centang Always run in foreground dan klik OK.
Pada menu ArcMap, klik Geoprocessing> Geoprocessing Options. Pada panel Background Processing, centang Enable.

Masalah yang harus Anda selesaikan adalah
Menggunakan lapisan dokumen peta-Ini adalah model dan masalah alat skrip.
Menggunakan dokumen peta saat ini dalam alat skrip-Ini adalah masalah khusus alat skrip.
Masalah 1 - Menggunakan lapisan dokumen peta
Contoh model



Ketika alat model dijalankan di latar belakang, hanya lapisan yang berpartisipasi sebagai parameter model yang tersedia untuk proses latar belakang. Misalnya, model berikut memungkinkan pengguna untuk memasukkan area minat, kontur dasar, dan interval kontur untuk menghasilkan kelas fitur kontur. Model ini memiliki empat parameter (3 input dan 1 output). Perhatikan bagaimana variabel Elevation Raster adalah lapisan pada tabel isi ArcMap namun tidak ditetapkan sebagai parameter model. Ketika model ini dijalankan dengan menggunakan kotak dialog alatnya, pengguna memasukkan lapisan Situs Lahan Potensi untuk parameter Area of ​​Interest namun tidak harus menyediakan lapisan Elevation Raster; itu bukan parameter

Menggunakan lapisan dalam model

Model di atas akan berjalan seperti yang diharapkan di latar depan. Namun, jika model ini diatur untuk berjalan di latar belakang, akan gagal dengan peringatan "Tidak ada proses yang siap dijalankan", seperti yang digambarkan di bawah ini. Alasannya gagal adalah proses yang berjalan di latar belakang tidak bisa menggunakan lapisan yang bukan parameter alat. Dalam kasus ini, variabel model Elevation Raster bukan parameter, sehingga proses latar belakang tidak dapat menemukannya dan gagal dalam peringatan.

Pesan peringatan untuk model menggunakan lapisan di latar belakang
Solusi
Ada beberapa cara Anda bisa mengubah model sehingga berjalan di latar belakang.

Buat variabel layer sebagai parameter model. Melakukan hal itu akan melewati lapisan ke proses latar belakang, dan alat akan dijalankan di latar belakang. Ini adalah solusi yang paling sederhana.
Alih-alih menggunakan lapisan, gunakan dataset pada disk. Pada contoh di atas, Anda klik dua kali alat Extract by Mask dan ubah parameter Input Raster (ditunjukkan oleh variabel Elevation Raster) untuk menggunakan kumpulan data raster daripada lapisan dari daftar isi. Satu-satunya masalah dengan solusi ini adalah bahwa lapisan dapat memiliki pilihan, sedangkan dataset pada disk tidak. Jika Anda menggunakan variabel lapisan karena Anda perlu menggunakan pilihan lapisan, Anda tidak dapat menggunakan dataset pada disk. Dalam kasus ini, Anda memiliki dua alternatif (selain membuat variabel sebagai parameter model):
Dalam model, tambahkan alat Make Feature Layer untuk membuat variabel lapisan dari variabel dataset dan gunakan variabel lapisan sebagai masukan pada proses model berikutnya. (Alat Make Feature Layer memungkinkan Anda untuk memasukkan ekspresi pilihan.)
Buat file layer (.lyr) dan gunakan file .lyr di model. Artinya, pada model di atas, variabel Elevation Raster akan menunjuk ke file .lyr. Anda dapat membuat file .lyr dengan alat Save To Layer File.
catatan:
Selain menetapkan parameter model untuk lapisan masukan, semua lapisan lain yang dibuat atau diperbarui oleh model harus ditetapkan sebagai parameter model.

Contoh alat skrip
Alat skrip memiliki masalah yang sama seperti alat model saat menggunakan lapisan sebagai masukan. Setiap lapisan harus dilalui baik sebagai parameter dan harus tipe data geoprocessing yang sesuai. Alat skrip menawarkan fleksibilitas dan pilihan; misalnya, mereka dapat bertindak melawan lapisan dengan menggunakan tipe data string yang cocok dengan nama lapisan dalam daftar isi. Meskipun metode ini bekerja di latar depan, namun tidak akan bekerja di latar belakang karena tidak ada kaitan dari referensi lapisan peta dengan proses latar belakang. Ilustrasi berikut menunjukkan lapisan parameter yang dilewatkan sebagai string dan sifat skrip yang dimodifikasi untuk menggunakan lapisan sebagai masukan. Modifikasi Tipe Data dari parameter alat skrip

Solusi
Pastikan parameter alat skrip Anda menggunakan tipe data yang sesuai, seperti Lapisan Fitur, Lapisan Raster, dan Tampilan Tabel.

Jika alat skrip Anda menggunakan lapisan yang bukan parameter, Anda harus melakukannya

Buat layer sebuah parameter.
Alih-alih menggunakan lapisan, gunakan dataset pada disk atau file .lyr pada disk.
Edisi 2 - Menggunakan dokumen peta saat ini dalam alat skrip
Alat skrip yang beroperasi melawan dokumen peta saat ini harus dijalankan di latar depan. Kelas MapDocument adalah sebuah kekuatan

terjemahan dari (masih akan diperbaharui)
http://desktop.arcgis.com/en/arcmap/10.3/analyze/creating-tools/running-custom-tools-in-background-2.htm

Komentar

Postingan populer dari blog ini

Georeferencing atau Rectify pada ArcGIS dan mengetahui RMS Erorrnya

Perbedaan Penggunaan Geographic Coordinate System (GCS) dan Projected Coordinate System (PCS)