[QGIS-pt] QGIS não lê tabela PostGIS

Fred Lehodey lehodey gmail.com
Quarta-Feira, 11 de Fevereiro de 2015 - 05:02:05 PST


Olá Sandra,

é provável existir geometrias inválidas na sua tabela e cada software tem a
sua "capacidade de digerir" isto...
Pode verificar no postgis com:
(ver http://postgis.net/docs/ST_IsValid.html)

Select count(*)  from tabela where st_isvalid(geom) is false;



É possível ter mais pormenores sobre geometrias invalidas:

select st_IsValidReason(geom) from tabela where st_isvalid(geom) is false;
(ver http://postgis.net/docs/ST_IsValidReason.html)




Se tiver erros, poderá tentar corrigir de forma automática com:
(ver http://postgis.net/docs/manual-2.0/ST_MakeValid.html)

Update tabela set geom = st_makevalid(geom) where st_isvalid(geom) is false;




Fred













2015-02-11 12:33 GMT+00:00 Sandra Lopes <sandramnlopes at gmail.com>:

> Oi!!
>
> Parece que anda por aí uma onda de mistérios com o QGIS e PostGIS. LOL
>
> Tenho uma tabela do PostGIS, que através do PgAdmin acede-se e encontra-se
> tudo bem, que está publicada no geoserver e cuja previsualização aparece
> bem.
> Acontece que quando adicionada no QGIS não é desenhado no mapa nenhum
> elemento, a tabela de atributos aparecem sem uma única linha de registos,
> mas se usarmos a ferramenta identificar aparece o limite vermelho e o
> atributo (ver imagem).
> <http://osgeo-org.1560.x6.nabble.com/file/n5186784/ordenamento.jpg>
> Se adicionar o WMS ou o WMF já está tudo ok!
>
> Depois de ver o problema do Duarte fui verificar e no postgis o tipo de
> geometria está registado como GEOMETRY. No entanto o QGIS consegue
> determinar o tipo de geometria pois na janela de propriedades da camada, os
> metadados indicam geometria do tipo poligono.
>
> Vale a pena alterar a tabela de modo a registar o tipo específico de
> geometria no PostGIS? Como posso fazer isso? Faz-me confusão ser esse o
> problema (é que tenho todas a tabelas geográficas assim) pois tal acontece
> adicionando a coluna da geometria usando o ADDGEOMETRYCOLUMN.
>
> Um aspecto importante, tal aconteceu após editar poligonos que tinham
> alguns
> erros de delimitação.
> Através da função ST_IsValid sei que existe um poligono inválido. Tentei
> corrigir usando a função ST_Buffer, com um offset 0, mas obtive:
> NOTICE:  IllegalArgumentException: Invalid number of points in LinearRing
> found 3 - must be 0 or >= 4
> NOTICE:  IllegalArgumentException: Invalid number of points in LinearRing
> found 3 - must be 0 or >= 4
>
> Alguém me consegue dar umas luzes sobre o que posso fazer para resolver
> este
> problema?
>
> Obrigada
> Sandra
>
>
>
>
> --
> View this message in context:
> http://osgeo-org.1560.x6.nabble.com/QGIS-nao-le-tabela-PostGIS-tp5186784.html
> Sent from the QGIS-pt mailing list archive at Nabble.com.
> _______________________________________________
> QGIS-pt mailing list
> QGIS-pt at lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-pt/attachments/20150211/4166ab37/attachment.html>


More information about the QGIS-pt mailing list