Existe código aberto equivalente ao ArcGIS Integrate (para correção de topologia)?

8

Preciso transformar um conjunto de polígonos para que ele forme uma partição / tesselação espacial exata (sem intervalo - sem sobreposição). Quais são as soluções de código aberto existentes (software ou biblioteca) para executar essa correção? Idealmente, estou procurando por versões de código aberto do ArcGIS integrar .

Integrar é usado para manter a integridade dos limites de recursos compartilhados, tornando os recursos coincidentes se eles estiverem dentro da tolerância especificada x, y. Os recursos que se enquadram na tolerância especificada x, y são considerados idênticos ou coincidentes.

julien
fonte
Qual é o formato dos dados?
precisa saber é o seguinte
seja qual for o formato ...
julien
Que tipo de 'superfícies' são elas? Algum polígono 3D drapeado? Ou você quer dizer 'áreas', isto é, polígonos 2D?
Simbamangu
É como "confusão de vetores"? Então veja gis.stackexchange.com/a/58536/687
markusN
@ Simbamangu: por 'superfície', quero dizer polígono (correção feita).
julien

Respostas:

4

Atualização 2018-05-11: no QGIS 2.18 e 3.0, isso é feito com muito mais facilidade (não é necessário configurar um conjunto de mapas).

  1. Abra a ferramenta v.clean na caixa de ferramentas Processing.
  2. Selecione 'snap' como a ferramenta de limpeza.
  3. Defina a v.in.ogrtolerância conforme as instruções abaixo (250 no exemplo).
  4. Execute a ferramenta e você obterá duas novas camadas - uma 'erros' e uma 'limpa'.

Experimente a quantidade certa de encaixe a usar - veja as notas no final.


Você pode usar várias ferramentas GRASS para fazer o trabalho. Apenas adicionar os dados a um conjunto de mapas no GRASS usando v.in.ogr.qgispode ser tudo o que você precisa fazer. Usando QGIS e GRASS:

Visão geral:

  1. Abra o QGIS e verifique se o plug-in GRASS está ativado ( Plugins|Manage...) e visível ( View|Toolbars|GRASS).
  2. Adicione a camada ao QGIS.
  3. Crie um conjunto de mapas no GRASS.
  4. Importe a camada para o GRASS usando um limite de snap apropriado .
  5. Exporte seus dados (clique com o botão direito do mouse e salve como no QGIS) de volta para o formato que você precisa.

Em detalhe:

Adicione sua camada que precisa de intervalos / sobreposições limpos (esta é uma camada UTM em metros):

Visão geral da geometria impura

Existem algumas áreas 'ruins' que se encaixam na sua descrição aqui (sobreposições / lacunas):

insira a descrição da imagem aqui

Selecione o botão na barra de ferramentas GRASS para criar um novo conjunto de mapas GRASS:

Barra de ferramentas selecionando o conjunto de mapas GRASS

Você pode apenas usar uma pasta temporária e um nome de local temporário ...

Diálogos de configuração do GRASS

... e finalmente um conjunto de mapas:

insira a descrição da imagem aqui

Importe sua camada do QGIS com o botão "Open GRASS tools" e navegue até a ferramenta:

selecionando v.in.ogr.qgis

Selecione sua camada, clique em 'avançado' e selecione um limite de encaixe apropriado (neste caso, 250 m - depende da aparência dos seus dados!):

insira a descrição da imagem aqui

Resultados - original em cinza, camada recém-cortada em marrom:

insira a descrição da imagem aqui

NOTA:

  • Pequenas lacunas e sobreposições são corrigidas sem modificar muito as formas, mas quanto maior o 'snap', mais distorção você pode ver.
  • O resultado é uma geometria topologicamente 'limpa', seguindo todas as regras do GRASS (leia sobre isso!).
  • Existem muitas ferramentas (v.clean para uma) que podem fazer todos os tipos de limpeza e reparo.
Simbamangu
fonte
Isso foi removido do QGIS 3? Eu não estou vendo isso.
Damien
Foi simplificado - veja minha edição.
Simbamangu