Como integrar os módulos SAGA Python no ArcGIS Desktop?

8

Eu tenho visto o SAGA ( http://www.saga-gis.org/en/index.html ) e parece ter algumas boas ferramentas para geoprocessamento.

Eu queria saber se alguém lá fora teve alguma sorte em trazer os Módulos SAGA (python) para o ArcGIS Desktop e o ArcToolbox.

Se sim, quais etapas você usou?

CDBrown
fonte
3
Eu amo a ironia de aumentar um aplicativo de software proprietário multi-mil dólares com software Open Source ...
davidf

Respostas:

5

Para que o ArcGIS fale com o SAGA, construímos caixas de ferramentas simples que criam e executam arquivos .bat a partir de um local temporário. Isso executa o módulo SAGA através da interface da linha de comandos. Geralmente, a caixa de ferramentas precisará converter formatos de dados, resolver problemas de projeção etc. antes e depois de executar a função SAGA, mas isso é bastante direto. O primeiro é o obstáculo, mas é apenas um caso de adaptá-lo, pois você precisa se conectar a outros módulos SAGA. Obviamente, uma vez que você tenha a caixa de ferramentas, ela poderá ser reutilizada em fluxos de trabalho mais complexos por meio do modelbuilder ou em python.

Phil Henley
fonte
1
Forneça o código que você usa - se você o abrir, as pessoas poderão melhorar a funcionalidade que você possui.
johanvdw
1
Se eu tiver uma chance, criarei um caso genérico e disponibilizo o código para esse caso. No momento em que cada um é codificado para uma tarefa específica, portanto, não o útil sem um pouco de trabalho adicional primeira
Phil Henley
4

Para ser sincero, parece que o SAGA depende muito de outros projetos OpenSource para a funcionalidade de processamento (por exemplo, GRASS, gdal, proj.4, etc.)

Pode ser muito mais simples instalar o QGIS Desktop GIS e, em seguida, escrever um plug-in (s) QGIS Python para fazer o que você gostaria de fazer. Você provavelmente teria acesso programático a grande parte da funcionalidade disponível no SAGA.

Em uma nota lateral, mesmo que o SAGA seja licenciado sob a GPL, eu não acho que você teria problemas legais ao escrever um script que combinasse o código ESRI e SAGA, mas poderia haver problemas com a publicação do código no ArcScripts.

DavidF
fonte
A funcionalidade de processamento, na verdade, não ocorre em muitos outros projetos de código aberto. Somente importe / exporte e projete arquivos, mas essas provavelmente não são as ferramentas que você deseja usar do arcgis.
Johanvdw #
1

Fazemos exatamente isso em: www.frogtech.com.au

O objetivo é obter uma funcionalidade semelhante à que é amarrada através de extensões ou níveis de licença no ArcGIS Desktop ... não vale a pena pagar milhares por uma extensão quando você usa apenas uma ou duas de suas funcionalidades, então podemos obter nosso GIS menos especialista Para que os usuários rolem essa ferramenta por um fluxo de trabalho regular, personalizamos para permitir que entradas / saídas também sejam de nossos fluxos de trabalho regulares.


fonte
é bom ter uma verificação independente de que isso pode ser feito e por que faz sentido, mas você deixa de fora o ponto crucial: como?
mate Wilkie
1

Uma abordagem mais leve: use os pacotes rpy / rpy2 (para Python) e RSAGA (para R) para fazer a conexão do ArcGIS-para-Python-para-R-para-SAGA. Estou me envolvendo nisso agora. Demora algum tempo, mas pode ser feito.

Obviamente, isso significa que você precisaria ter o ArcGIS / Python, R e SAGA todos instalados em versões compatíveis. Mas ei, nada de bom vem facilmente.


fonte
1
  1. escreva um script python que faça seu trabalho na saga, por exemplo, import
    saga_api, sys.argv etc .; tenha em mente que saga faz a maioria das coisas na memória e você precisa obter dados importados e exportados do disco
  2. teste, teste, teste seu script python saga
  3. arcgis -> vá para arctoolbox
  4. crie um novo modelo -> clique com o botão direito do mouse em adicionar script - vincule ao script na etapa 1, não se esqueça de especificar seus argumentos. (Lembre-se da versão 10, salve na 9.3 e reduza os argumentos de perda / desvio, para que precisem ser redefinidos às vezes)
  5. pronto para ir
gisxperts
fonte
0

Observe que, desde a versão 2.2.1, o SAGA suporta caixas de ferramentas que podem ser executadas no arcgis: https://sourceforge.net/p/saga-gis/news/2015/09/saga-221-released/

"Para executar as ferramentas do ArcSAGA, você precisa navegar para o diretório de instalação do SAGA com o controle ArcCatalog e abrir as caixas de ferramentas do ArcSAGA Python. Ele deve funcionar imediatamente, sem mais etapas de instalação."

johanvdw
fonte