Jawaban untuk pertanyaan ini adalah ya dan tidak. Mungkin dengan beberapa upaya untuk melakukan segala sesuatu dengan Python yang dapat Anda lakukan dalam. Net, tetapi mudah dan mungkin adalah dua hal yang sangat berbeda. Setelah itu, interpretasi yang paling sederhana adalah tidak , Python Add-Ins tidak dapat melakukan sebanyak. Net Add-Ins. Namun, tugas-tugas yang dapat diselesaikan oleh Python Add-Ins jauh lebih mudah dan lebih cepat untuk diimplementasikan dan diuji.
Dari sudut pandang teknis semata, ArcGIS Desktop Add-In Framework menawarkan fungsionalitas berikut:
- Skema berbasis XML yang terdefinisi dengan baik untuk menggambarkan serangkaian titik dan komponen integrasi desktop umum: Tombol, Bilah Alat, Menu, Alat, Menu Multi-Item dan Ekstensi, serta cara untuk menyambungkannya dengan cara deklaratif dari kode Anda ke desktop ArcGIS
- Format file dan struktur file (
.esriaddin
) untuk mendistribusikan kode kustomisasi desktop.
- Sebuah mekanisme untuk menginstal, memverifikasi dan menyimpan caching yang diinstal
.esriaddins
, jadi jika file sumber Add-In yang diinstal telah berubah, itu akan memuat ulang file yang diubah ke dalam cache Add-in desktop lokal.
- Serangkaian mekanisme keamanan dan otentikasi untuk kode di Add-In: penandatanganan
.esriaddin
file digital , kontrol administratif atas tingkat otentikasi yang diperlukan untuk mengizinkan instalasi Add-In.
Kerangka Add-in di sini tidak memiliki kontrak formal dari perilaku atau fungsi di balik tombol, dll. Ketika Anda menginstal .Net SDK untuk ArcGIS, Anda mendapatkan integrasi Visual Studio dalam bentuk Add-In Wizards dalam dialog manajemen proyek Anda , dokumentasi, cuplikan kode, binding ArcObjects, dll. Jadi begitu Anda melewati titik entri yang disediakan oleh Add-in framework, sebuah Add-In .Net memungkinkan Anda melanjutkan dengan API ArcObjects yang juga dibundel dengan , serta berisi pustaka cuplikan kode dari tugas umum yang sudah ada untuk digunakan. Tidak ada SDK Pengembang Python di ArcGIS: semua fungsionalitas Python dengan diekspos melalui arcgisscripting / arcpy dan sudah dibundel dalam produk. Jadi, tempat .Net SDK hadir sebagai unduhan besar, hal terdekat dengan Python adalah unduhan Add-In Wizard yang relatif kecil.
Di sisi lain, Python adalah mampu mengkonsumsi / menerapkan COM interface , tetapi menggunakan COM dari Python tidak dibundel dengan ArcGIS SDK atau didokumentasikan dalam ArcGIS sistem bantuan. Jika Anda baru berkembang di ArcGIS, ini seharusnya cukup menjadi penghalang untuk masuk untuk mendorong Anda menjauh kecuali Anda benar - benar tahu apa yang Anda lakukan. Anda dapat melakukan COM dengan Python di sini, tetapi cukup dekat dengan Turing Tarpit sehingga sulit untuk membenarkan waktu yang dihabiskan kecuali Anda pengguna tingkat ahli yang sudah terbiasa dengan seluk beluk COM dan ArcObjects.
Saya sarankan Anda melihat apa yang dapat Anda lakukan dengan arcpy . Anda dapat mengotomatiskan banyak tugas seperti memanggil alat Geoprocessing dan melakukan manipulasi batch dokumen peta , dan Python Add-Ins memungkinkan Anda menggunakan peristiwa tertentu yang ditetapkan dengan baik dan beberapa kontrol dialog selain kemampuan dasar arcpy. Jika Anda tidak dapat memikirkan cara untuk menyelesaikan tugas Anda di Python berdasarkan pada apa yang dikatakan dokumentasi (Anda memerlukan beberapa interaksi antarmuka pengguna yang kompleks atau menghubungkan ke peristiwa yang tidak terungkap dalam Wisaya Tambah Python atau menggunakan sesuatu yang hanya tersedia di ArcObjects) , lalu lakukan pengembangan Anda di .Net Add-In.
Maaf, ini lebih bernuansa daripada jawaban ya atau tidak yang sulit dan cepat, tetapi itu akan memberi Anda beberapa pertimbangan, apakah Anda harus menggunakan rute Python atau .Net di Add-In Anda.
Saya kira saya harus menambahkan pengungkapan ini: Saya merancang dan mengembangkan banyak fungsi khusus Python untuk Add-in di ArcGIS.