[QGIS-pt] Intersection bad geometries

Giovanni Manghi giovanni.manghi at gmail.com
Thu Dec 7 03:49:32 PST 2017


Bom dia,

qual a versão de QGIS?


> No desenvolvimento de um plugin preciso de usar a ferramenta de
> geoprocessamento intersecção.
> Em ambiente desktop, consigo aceder a duas ferramentas diferentes, uma no
> menu Vector/Ferramentas de Geoprocessamento/Intersectar que me devolve
> resultados satisfatórios e outra que aparece na Caixa de Ferramentas -
> Intersecção - e que me devolve o erro /"Erro no geoprocessamento GEOS: Um ou
> mais elementos de entrada têm geometria inválida"/.
>
> Em python a instrução que uso é processing.runalg("qgis:intersection",
> .......)
>
> /processing.runalg("qgis:intersection",LayerCAOP,Temp01,saida)/


No QGIS 2.18.* o atalho vector > geoprocessing tools > intersects abre
*exactamente* a mesma ferramenta que abre em Processing Toolbox > QGIS
geo algorythms > Vector Overlay Tools

Entretanto na toolbox "Processing" de QGIS há frequentemente varias
opções para a mesma operação de geoprocessamento. Poderá experimentar
usar a do SAGA ou a do GRASS (v.overlay com operador "OR").



> E obtenho o mesmo erro de geometria iniválida.
>
> Nenhum dos layers terá geometria inválida, inclusivamente já corri um
> "reparador de geometrias".

Qual? a ferramenta "geometry checker" (que faz tambem correções) que
vem por defeito com QGIS?


>Para além disso parece-me que  o erro está
> relacionado com a complexidade, dimensão ou numero de vértices  dos
> shapefiles envolvidos na intersecção...


Sugiro que experimete atmbem fazer um controlo depois ter importado a
camada no PostGIS:


SELECT ST_IsValidReason(geom) FROM tabela WHERE NOT ST_IsValid(geom);
SELECT ST_IsValidDetail(geom) FROM tabela WHERE NOT ST_IsValid(geom);


Para corrigir:

CREATE TABLE corrigida AS
SELECT att1, att2, ST_MakeValid(geom) AS geom FROM tabela;

Há tambem um plugin para QGIS (para a toolbox Processing) que faz a
mesma "limpeza" que o ST_MakeValid do PostGIS faz.


Cumprimentos

-- GM --


More information about the QGIS-pt mailing list