RE: [Portugal] Re: Erro do shp2pgsql no carregamento de shapefile de polígonos
Duarte Carreira
DCarreira at edia.pt
Thu Jun 24 04:40:40 EDT 2010
João,
Não sei se alguém já sugeriu isto, mas em QGIS há um plugin bem melhor que o SPIT - PostGIS Manager, que oferece uma interface de importação de shapefiles muito completa (permite adicionar a tabelas existentes, e criar o GiST, e cria o gid), para além de oferecer uma interface de gestão da bd muito competente (incluindo janela de SQL).
Duarte
-----Mensagem original-----
Date: Tue, 22 Jun 2010 20:19:40 +0100
From: Jo?o Paulo Hespanha <jphespanha gmx.com>
Subject: [Portugal] Re: Erro do shp2pgsql no carregamento de shapefile
de pol?gonos
To: portugal lists.osgeo.org
Message-ID: <1277234380.2268.57.camel JPHUbuntu>
Content-Type: text/plain; charset="utf-8"
Sr.ªs e Sr.s,
Caro Luís de Sousa:
Não posso dizer que tenha uma solução para o shp2pgsql, mas tenho alguns modos de contornar o problema.
Seguindo os conselhos do Luís de Sousa, chamei a shape em erro para o QGIS e de seguida tentei usar o SPIT (Ferramenta de importação de Shape para PostGIS). Esta importação não deu resultado para a SRID 9102160 que estou a usar, mas resultou com o SRID por omissão (-1 !?). Este é mais um problema, desta vez do lado do SPIT.
Reparei entretanto que dos 609 polígonos, o SPIT importou apenas 608 para o PostGIS. Consultando a tabela de atributos, acabei por descobrir esse erro, bem como outros inesperados.
O polígono que causava o crash do shp2pgsql tinha SHAPE_Leng = 0.0 e SHAPE_Area = 0.0, isto é, não constituía um polígono regular.
Infelizmente, o programa não conseguia tratar este erro e acabava por parar. Por outro lado, o SPIT não parava, mas também não emitiu qualquer aviso.
Os erros inesperados não tinham que ver com os programas, mas com os próprios dados em si. Existiam 4 polígonos que não correspondiam a prédios. Eliminei por isso os 5 polígonos em erro e voltei a usar o shp2pgsql, que agora funcionou sem problemas.
Em termos da criação do esquema, prefiro o shp2pgsql ao SPIT (apesar da interface simpática deste último), pois o shp2pgsql cria automaticamente uma chave serial (com sequência) e aceita sem problemas o SRID que acrescentei à tabela do spatial_ref_sys.
Finalmente, junto duas capturas de ecrã: a primeira mostra a configuração do SPIT que não resultou devido ao SRID usado; a segunda mostra como o uDIG reagiu à selecção do polígono em erro (reparem na descrição das Layers e na escala).
Irei colocar um post na lista do PostGIS sobre esta questão com o shp2pgsql. Voltarei a colocar aqui quaisquer resultados, mas no entretanto já ficamos a saber uma das causas para erros deste programa.
Cordiais Saudações,
João Paulo Hespanha
More information about the Portugal
mailing list