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 <[email protected]> Subject: [Portugal] Re: Erro do shp2pgsql no carregamento de shapefile de pol?gonos To: [email protected] Message-ID: <1277234380.2268.57.ca...@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
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
