Làm cách nào để tích hợp Mô-đun Python SAGA vào ArcGIS Desktop?


8

Tôi đã xem qua SAGA ( http://www.saga-gis.org/en/index.html ) và dường như có một số công cụ hay để xử lý địa lý.

Tôi đã tự hỏi liệu có ai ở ngoài đó đã có may mắn mang SAGA Modules (python) vào ArcGIS Desktop và ArcToolbox không.

Nếu vậy những bước bạn đã sử dụng?


3
Tôi yêu sự trớ trêu khi tăng cường ứng dụng phần mềm độc quyền trị giá hàng nghìn đô la với phần mềm OpenSource ...
DavidF

Câu trả lời:


5

Để ArcGIS nói chuyện với SAGA, chúng tôi xây dựng các hộp công cụ đơn giản tạo và chạy các tệp .bat từ một vị trí tạm thời. Điều đó chạy mô-đun SAGA thông qua giao diện dòng lệnh. Nói chung, hộp công cụ sẽ cần phải chuyển đổi các định dạng dữ liệu, giải quyết các vấn đề về chiếu vv trước và sau khi chạy chức năng SAGA nhưng điều đó khá đơn giản. Đầu tiên là trở ngại nhưng sau đó chỉ là trường hợp thích ứng với nó khi bạn cần kết nối với các mô-đun SAGA bổ sung. Tất nhiên, một khi bạn có hộp công cụ, nó có thể được sử dụng lại trong các quy trình công việc phức tạp hơn thông qua trình tạo mô hình hoặc trong python.


1
Vui lòng cung cấp mã bạn sử dụng - nếu bạn mở nó, mọi người thậm chí có thể cải thiện chức năng bạn có.
johanvdw

1
Nếu tôi có cơ hội tôi sẽ xây dựng một trường hợp chung và sau đó làm cho mã có sẵn. Tại thời điểm này, mỗi cái được mã hóa cho một nhiệm vụ cụ thể vì vậy không hữu ích nếu không có một chút công việc bổ sung trước
Phil Henley

4

Thành thật mà nói, có vẻ như SAGA phụ thuộc rất nhiều vào các dự án OpenSource khác cho chức năng xử lý (ví dụ GRASS, gdal, proj.4, v.v.)

Có thể đơn giản hơn nhiều khi cài đặt QGIS Desktop GIS và sau đó viết (các) Plugin PythonIS để làm những gì bạn muốn làm. Bạn có thể có quyền truy cập theo chương trình vào phần lớn các chức năng có sẵn SAGA.

Mặt khác, mặc dù SAGA được cấp phép theo GPL, tôi không nghĩ rằng bạn sẽ có bất kỳ vấn đề pháp lý nào khi viết tập lệnh kết hợp mã ESRI và SAGA, nhưng có thể có vấn đề với việc xuất bản mã lên ArcScripts.


Chức năng xử lý thực sự không thực sự có trên nhiều dự án nguồn mở khác. Chỉ nhập / xuất và chiếu tệp, nhưng những thứ đó rất có thể không phải là công cụ mà bạn muốn sử dụng từ arcgis.
johanvdw


1

Chúng tôi chỉ làm điều đó tại: www.frogtech.com

Vấn đề là có được chức năng tương tự như chức năng được gắn thông qua các tiện ích mở rộng hoặc cấp phép trong ArcGIS Desktop ... không có điểm nào phải trả hàng ngàn cho tiện ích mở rộng khi bạn chỉ sử dụng một hoặc hai chức năng của nó, sau đó chúng tôi có thể có được hệ thống GIS ít chuyên gia hơn Người dùng cuộn công cụ đó thông qua quy trình công việc thông thường, chúng tôi tùy chỉnh để cho phép đầu vào / đầu ra cũng từ quy trình công việc thông thường của chúng tôi.


Thật tốt khi có xác minh độc lập rằng nó có thể được thực hiện, và tại sao nó có ý nghĩa, nhưng bạn bỏ qua mấu chốt: làm thế nào?
matt wilkie

1

Một cách tiếp cận nhẹ nhàng hơn: sử dụng các gói rpy / rpy2 (đối với Python) và RSAGA (đối với R) để tạo kết nối ArcGIS-to-Python-to-R-to-SAGA. Bây giờ tôi đang say mê điều này. Phải mất một thời gian, nhưng nó có thể được thực hiện.

Tất nhiên, điều đó có nghĩa là bạn cần cài đặt ArcGIS / Python, R và SAGA theo các phiên bản tương thích. Nhưng này, không có gì tốt đến dễ dàng.


1
  1. viết một kịch bản python mà công việc của bạn trong saga, ví dụ như nhập
    saga_api, sys.argv, v.v.; Hãy nhớ rằng saga thực hiện hầu hết mọi thứ trong bộ nhớ và bạn cần lấy dữ liệu được nhập và xuất từ ​​đĩa
  2. kiểm tra, thử nghiệm, kiểm tra kịch bản python saga của bạn
  3. arcgis -> đi đến arctoolbox
  4. tạo mô hình mới -> nhấp chuột phải thêm tập lệnh - liên kết đến tập lệnh ở bước 1, đừng quên chỉ định đối số của bạn. (Hãy nhớ Phiên bản 10 lưu thành 9,3 và hạ thấp các đối số lỏng lẻo / cắt xén để đôi khi chúng cần được xác định lại)
  5. sẵn sàng để đi

0

Lưu ý rằng vì phiên bản 2.2.1 SAGA hỗ trợ các hộp công cụ có thể chạy từ arcgis: https://sourceforge.net/p/saga-gis/news/2015/09/saga-221-release/

"Để chạy các công cụ ArcSAGA, bạn phải điều hướng đến thư mục cài đặt SAGA của mình bằng điều khiển ArcCatalog và mở các hộp công cụ ArcSAGA Python. Nó sẽ hoạt động ngay lập tức mà không cần thêm bước cài đặt nào."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.