Saya baru mengenal skrip Python di ArcGIS tetapi tidak baru di ModelBuilder.
Saya ingin tahu manfaat dari Python vs ModelBuilder.
Kapan kita harus menulis skrip Python untuk otomatisasi GIS daripada menggunakan ModelBuilder?
Apa kemampuan otomatisasi dari Python yang tidak dapat kita temukan di ModelBuilder?
sumber
Jika Anda hanya bekerja dalam batas-batas ArcGIS, ada beberapa pertimbangan yang akan saya pertimbangkan ketika mencoba menentukan pendekatan yang akan diambil.
Dengan pertimbangan tersebut:
Mungkin tidak ada jawaban untuk "yang lebih baik" untuk penggunaan pribadi, tetapi jika Anda mencari peluang kerja jangka panjang, dengan mempelajari Python, Anda akan membedakan diri dari mereka yang hanya tahu cara menggunakan alat yang diprogram sebelumnya, atau hanya tahu cara menggunakan ModelBuilder. Anda juga memberi diri Anda kemampuan untuk pergi ke luar batas Python untuk ArcGIS (ArcPy), dan mulai mengotomatiskan lebih banyak tugas dan proyek dengan menggunakan perpustakaan GIS milik dan sumber terbuka lainnya, serta banyak perpustakaan non-GIS (yaitu database , manipulasi gambar, statistik, dll).
sumber
Model Builder adalah bahasa pemrograman visual yang hebat dan mudah dipelajari dan pintu masuk yang baik untuk pemrograman GIS secara umum. Tetapi dalam beberapa hal python dapat berbuat lebih banyak.
Salah satu contoh adalah integrasi perpustakaan GIS non-ESRI. Hampir semua SIG Open Source dapat disorot melalui python juga (misalnya GRASS , Sextante , QGIS , SAGA ). Ini banyak membantu saya, karena saya hanya memiliki lisensi ArcView. Jadi setiap kali saya tidak dapat menggunakan alat geoprocessing tertentu di ArcGIS, saya mencari opsi lain yang tersedia di Open Source GIS. Saya kemudian mengambil OpenSource-tools ini dan menggabungkannya dengan ArcGIS baik dalam skrip python yang lebih besar atau mengintegrasikannya dalam ModelBuilder melalui skrip python yang lebih kecil.
Saya yakin anggota lain dapat menyebutkan lebih banyak keuntungan.
sumber
Saat menggunakan Python dan ArcGIS, Anda mendapatkan seluruh fungsionalitas Python selain apa yang sudah Anda miliki di ArcGIS. Jika Anda membutuhkan kekuatan dan fleksibilitas semacam ini tergantung pada keinginan Anda. Selain itu, mengenal dan benar-benar memanfaatkan bahasa pemrograman seperti Python membutuhkan waktu. Jika investasi ini layak untuk Anda, itu terserah Anda. Namun, untuk pemrosesan data yang serius, bahasa skrip yang sebenarnya adalah tambahan yang sangat bagus di gudang senjata Anda.
Terlepas dari fungsionalitas apa pun yang ModelBuilder mungkin lewatkan, ada juga diskusi yang lebih mendasar. Secara umum, skrip jauh lebih cocok untuk membuat alur kerja yang kompleks. Kode diproses dari atas ke bawah, dan tugas kompleks dapat dibagi lagi menjadi sub tugas yang lebih kecil menggunakan fungsi mis. atau benda. Alat grafis seperti pembangun model cenderung menjadi spageti besar.
sumber
Saya sebagian membuat skrip Python. Lebih menyenangkan untuk menulis kode daripada main-main dengan menghubungkan garis ke kotak dan semacamnya, setidaknya bagi saya.
Apa yang benar-benar hebat tentang skrip Python adalah Anda dapat menjadwalkan skrip Anda untuk dijalankan pada waktu yang nyaman bagi Anda. Jika Anda memiliki skrip yang membutuhkan waktu cukup lama untuk diselesaikan, atau perlu dijalankan di luar jam kerja reguler, ini benar-benar nyaman. Anda dapat melihat contoh cara menjadwalkan skrip di sini .
Dan seperti @ Harun menyebutkan, Anda dapat dengan mudah mengatur perulangan dalam skrip Python.
Jika Anda hanya memulai dengan skrip Python, Anda mungkin ingin membuat model dengan Model Builder dan mengekspornya sebagai skrip Python. Saya melakukan ini kadang-kadang jika saya mengalami kesulitan memahami cara menggunakan beberapa alat dalam skrip. Ini bisa membantu Anda memahami cara menyatukan skrip.
sumber
Saya telah menemukan bahwa saya tampaknya terjebak dengan tidak ada solusi lebih banyak dengan pembuat model daripada dengan skrip python. Sifat pembangun model yang agak 'kotak hitam' bagi saya membuatnya lebih sulit untuk menemukan di mana masalahnya berada.
Saya juga menemukan bahwa saya dapat menemukan lebih banyak bantuan pada python. Saya cenderung menemukan banyak jalan buntu dan topik tentang pembuat model. Ada juga contoh yang lebih sedikit untuk dilewati, di mana seperti dengan python, Anda mungkin dapat menemukan snipet kecil dari sebagian besar skrip apa pun yang Anda tulis.
sumber