Bagaimana cara mengintegrasikan Modul SAGA Python ke dalam ArcGIS Desktop?

8

Saya telah melihat SAGA ( http://www.saga-gis.org/en/index.html ) dan sepertinya ada beberapa alat yang bagus untuk geoprocessing.

Saya bertanya-tanya apakah ada orang di luar sana yang beruntung membawa SAGA Modul (python) ke ArcGIS Desktop dan ArcToolbox.

Jika demikian, langkah apa yang Anda gunakan?

CDBrown
sumber
3
Saya suka ironi menambah aplikasi perangkat lunak multi-ribu dolar dengan perangkat lunak OpenSource ...
DavidF

Jawaban:

5

Untuk membuat ArcGIS berbicara dengan SAGA, kami membangun kotak alat sederhana yang membuat dan menjalankan file .bat dari lokasi sementara. Itu menjalankan modul SAGA melalui antarmuka commandline. Secara umum toolbox perlu mengkonversi format data, menyelesaikan masalah proyeksi dll sebelum dan setelah menjalankan fungsi SAGA tetapi itu cukup mudah. Yang pertama adalah rintangan tetapi kemudian hanya kasus mengadaptasinya karena Anda perlu terhubung ke modul SAGA tambahan. Tentu saja, setelah Anda memiliki kotak alat itu dapat digunakan kembali dalam alur kerja yang lebih kompleks melalui modelbuilder atau dengan python.

Phil Henley
sumber
1
Harap berikan kode yang Anda gunakan - jika Anda membukanya orang bahkan dapat meningkatkan fungsionalitas yang Anda miliki.
johanvdw
1
Jika saya mendapat kesempatan, saya akan membuat case generik dan kemudian membuat kode untuk itu tersedia. Saat ini masing-masing diberi kode untuk tugas tertentu sehingga tidak membantu tanpa sedikit pekerjaan tambahan terlebih dahulu
Phil Henley
4

Sejujurnya, tampaknya SAGA sangat bergantung pada proyek OpenSource lainnya untuk fungsionalitas pemrosesan (misalnya GRASS, gdal, proj.4, dll.)

Mungkin jauh lebih sederhana untuk menginstal QGIS Desktop GIS dan kemudian menulis Plugin Python QGIS untuk melakukan apa yang ingin Anda lakukan. Anda mungkin akan memiliki akses terprogram ke banyak fungsi yang tersedia melalui SAGA.

Di samping catatan, meskipun SAGA dilisensikan di bawah GPL, saya tidak berpikir bahwa Anda akan memiliki masalah hukum dengan menulis skrip yang menggabungkan kode ESRI dan SAGA, tetapi mungkin ada masalah dengan menerbitkan kode ke ArcScripts.

DavidF
sumber
Fungsionalitas pemrosesan sebenarnya tidak benar-benar ada pada banyak proyek open source lainnya. Hanya impor / ekspor dan proyeksi file, tetapi kemungkinan besar itu bukan alat yang ingin Anda gunakan dari arcgis.
johanvdw
1

Kami melakukan hal itu di: www.frogtech.com.au

Intinya adalah untuk mendapatkan fungsionalitas yang mirip dengan yang terikat melalui ekstensi atau tingkat lisensi di ArcGIS Desktop ... tidak ada gunanya membayar ribuan untuk ekstensi ketika Anda hanya menggunakan satu atau dua dari fungsionalitasnya, maka kita bisa mendapatkan GIS kami yang kurang spesialis pengguna untuk menggulung alat itu melalui alur kerja biasa, kami menyesuaikan untuk memungkinkan input / output dari alur kerja reguler kami juga.


sumber
itu baik untuk memiliki verifikasi independen bahwa itu bisa dilakukan, dan mengapa itu masuk akal, tetapi Anda meninggalkan inti: bagaimana?
matt wilkie
1

Pendekatan yang lebih ringan: gunakan paket rpy / rpy2 (untuk Python) dan RSAGA (untuk R) untuk membuat koneksi ArcGIS-ke-Python-ke-R-ke-SAGA. Saya mencoba-coba ini sekarang. Memang butuh waktu, tetapi bisa dilakukan.

Tentu saja, itu berarti Anda harus memiliki ArcGIS / Python, R, dan SAGA semua diinstal di bawah versi yang kompatibel. Tapi hei, tidak ada hal baik yang datang dengan mudah.


sumber
1
  1. tulis skrip python yang melakukan pekerjaan Anda di saga misalnya impor
    saga_api, sys.argv dll .; perlu diingat saga melakukan sebagian besar hal dalam memori dan Anda perlu mendapatkan data yang diimpor dan diekspor dari disk
  2. uji, uji, uji skrip python saga Anda
  3. arcgis -> buka arctoolbox
  4. buat model baru -> klik kanan tambahkan skrip - tautan ke skrip di langkah 1, jangan lupa untuk menentukan argumen Anda. (Ingat Version10, simpan ke 9.3 dan turunkan argumen los / garbles sehingga terkadang perlu didefinisikan ulang)
  5. siap untuk berangkat
gisxperts
sumber
0

Perhatikan bahwa sejak versi 2.2.1 SAGA mendukung kotak alat yang dapat dijalankan dari arcgis: https://sourceforge.net/p/saga-gis/news/2015/09/saga-221-released/

"Untuk menjalankan alat ArcSAGA, Anda harus menavigasi ke direktori instalasi SAGA Anda dengan kontrol ArcCatalog dan membuka kotak alat ArcSAGA Python. Itu harus bekerja di luar kotak tanpa langkah instalasi lebih lanjut."

johanvdw
sumber