Recursos GIS distribuídos e na nuvem

14

Existem documentos de pesquisa definitivos, recursos da Web ou livros (texto) sobre GIS distribuído? Os tópicos que me interessam são:

  • Paralelismo de algoritmos espaciais sequenciais
  • Estruturas para implementar GIS no ambiente de nuvem / cluster
  • FOSS e software comercial para os itens acima

Eu já vi essa pergunta, mas quero algo um pouco mais definitivo. O status CW seria benéfico, bem como recomendações para tags.

EDIT: Eu inseri vários desses termos no Google Scholar e, embora eu seja um estudante de pós-graduação e lide regularmente com trabalhos de pesquisa, muitos dos resultados não são substantivos ou abrangentes.

Baskinomics
fonte
Você não encontrará muitas informações sólidas aqui. A maior parte do trabalho nessa área é adhoc ou altamente personalizado para clientes governamentais que precisam de megaprocessamento. Na minha agência, adotamos o código ESRI e aumentamos a escala para nossas necessidades, mas isso requer muito cuidado.
DEWright
Eu assumi implicitamente que, grande parte da minha pesquisa não produziu um recurso sólido e aprovado. Estou ativamente envolvido na pesquisa de alguns desses itens e, até agora, tive que mesclar minha formação acadêmica com esses conceitos com pouca orientação. Também estou envolvido em algumas consultorias com um centro de supercomputação e eles estão interessados ​​em desenvolver soluções escalonáveis ​​de GIS. Veja minha edição acima.
Baskinomics

Respostas:

7

Eu fiz vários projetos nesse sentido, mas no final eles sempre acabavam sendo soluções personalizadas que basicamente

  • separou o problema em grades
  • fez o processamento em cada nó individual e copiou o resultado em uma tabela temporária / armazenamento de dados
  • mesclou todas as soluções em uma única tabela de resultados e, opcionalmente, tratou das condições de contorno. O tratamento de condições de limite era necessário apenas nos casos em que os recursos precisavam ser costurados ou massageados (por exemplo, ao construir uma topologia de maneira distribuída, você deseja que os recursos de limite se ajustem).

Engraçado o suficiente, toda vez que resolvia um problema dessa natureza, usava uma tecnologia diferente, principalmente porque essa era a moda da época. No final, o que você deseja é uma biblioteca de transmissão de mensagens que tenha um gerenciador de filas de tarefas, gerando processos nos diferentes nós e que tenha algum tipo de mecanismo de sincronização ( Semapahore , Barreira , etc) e alguma maneira de lidar com erros e tentar novamente. Todos os projetos que mencionei abaixo têm essas coisas.

Para geo, usei (em ordem cronológica):

(moda antiga)

(mais recente)

Existem vários outros que as pessoas usam.

No final, qualquer uma dessas opções seria suficiente (embora de uma maneira um pouco diferente), então se resume a escolher uma que tenha uma comunidade que seja útil.

Além disso, em cada nó, você precisaria usar uma biblioteca para executar as operações de geometria GIS. A recomendação para a qual usar viria com base no idioma em que você prefere codificar isso. Mas tenho certeza que as opções que a maioria das pessoas lhe daria seriam:

Ou alguma outra biblioteca que serve como invólucro para um deles.

Ragi Yaser Burhum
fonte
1
Agradável! Atualmente, estou aprendendo o Apache Hadoop MapReduce e CGAL, foi exatamente isso que planejei tentar primeiro. Eu estava segurando isso porque não queria inundar minha pergunta com recursos que já tinha em minha posse, mas achei útil: nathankerr.com/projects/parallel-gis-processing/…
Baskinomics em
MapReduce e CGAL são excelentes seleções. Não pode dar errado com eles.
Ragi Yaser Burhum