[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