Corrigindo erros de validade da geometria no QGIS?

31

Estou trabalhando nos dados de propriedade no nível do condado dos EUA. Eu tenho um shapefile por município que contém milhares de parcelas de impostos. Preciso dissolver os polígonos que representam as parcelas pertencentes ao mesmo indivíduo. Quando o shapefile não está limpo, a ferramenta "Dissolver" no QGIS parece não funcionar, congela. Preciso corrigir os problemas de validade da geometria primeiro usando a ferramenta "Verificar validade da geometria". No entanto, às vezes tenho centenas de erros. Demora muito tempo para corrigi-los manualmente. Existem outras estratégias que poderiam me poupar algum tempo?

Estou usando o QGIS 2.4.0.

Bap
fonte
2
Você tentou importar o arquivo na grama e usar o v.clean? provavelmente irá corrigir muitos dos seus erros.
Sergio Sergio

Respostas:

20

Tente executar um buffer sutil nos polígonos. Uma configuração de -0,001, se o seu CRS for UTM, parece valer a pena tentar. VETOR | TAMPÃO

BillW
fonte
4
Eu tentei a solução "Buffer" sugerida pela primeira vez pela BillW. Resolveu 97% dos meus problemas, o que é suficiente para mim agora. Eu posso terminar o trabalho manualmente. Executar um pequeno buffer nos polígonos não criará nenhum problema para mim no futuro, acredito. Mas posso ver alguns casos em que usar ST_MakeValid ou tentar v.clean poderia ser melhor e mais preciso.
Bap
18

Quando tenho uma camada com erros, normalmente a executo através da função GRASS v.clean na caixa de ferramentas de processamento . Embora eu nunca tenha realmente descoberto qual a melhor ferramenta, nesse caso, normalmente escolho a função bpol lá.

Talvez ainda mais importante seja definir os parâmetros avançados para tolerância a snap e área mínima . Dependendo da camada, geralmente escolho de 0,1 a 2 metros para o encaixe e, por exemplo, 10 m² para a área mínima.

O encaixe, por exemplo, alinha os limites que devem ser compartilhados, mas têm pequenas compensações, a área mínima elimina pequenas lascas das interseções etc.

Juntamente com o bpol, isso normalmente resolve todos os erros sem alterar muito a topologia.

Bernd V.
fonte
11

Você pode usar ST_MakeValid diretamente no QGIS adicionando o plug-in lwgeom que adiciona o provedor lwgeom à caixa de ferramentas de processamento => você pode aplicar o MakeValid diretamente na sua camada carregada sem converter em postigs / spatialite. O Postgis / spatialite usa o mesmo liblwgeom para fazer ST_MakeValid

você precisa instalar o liblwgeom e configurar o provedor de processamento para apontar para ele

O provedor lwgeom pode ser encontrado como experimental: https://plugins.qgis.org/plugins/processinglwgeomprovider/

Luigi Pirelli
fonte
3
Acabei de lançar uma nova versão do processinglwgeom provider para ser usada com a versão principal atual do qgis processing. (o processamento está sob refatoração)
Luigi Pirelli
2
Oi @LuigiPirelli Tentei resolver um problema semelhante usando o plug-in Lwgeom, mas ele sempre falha durante a execução e preciso reiniciar o QGis novamente. Existe alguma maneira de corrigir isso? Obrigado.
Alex Fernández Poulussen
11
difícil dizer sem mais o contexto de execução. Aliás, desde 2014, existem mais instrumentos de geometria de reparo disponíveis no qgis. Geralmente, uma falha no lwgeom é um problema de desalinhamento (instalação suja) no objeto carregado ou compartilhado. você testou outras ferramentas?
Luigi Pirelli
11
Isso está funcionando com o QGIS 2.18? Não parece trabalho na minha versão QGIS, github.com/faunalia/processinglwgeomprovider
RutgerH
11
Apenas uma atualização ... desde que o QGIS3.x tenha um algoritmo de fixgeometria nativa de processamento que é um invólucro para os algoritmos GEOS lwgeom MakeValid. Não é necessário db.
Luigi Pirelli
2

Acabei de encontrar um problema semelhante no qgis. Eu tive um poli começou a projetar incorretamente. Usei o Grass fuction v.clean na caixa de ferramentas Processing, como sugeriu Bernd. Embora o bpol não funcione, ele parece estar corrigido com a função de interrupção.

user44727
fonte