[Gfoss] **SPAM** shp2pgsql : come determinare il formato geometrico dell'output?

Paolo Corti pcorti a gmail.com
Ven 1 Apr 2011 11:09:31 CEST


2011/4/1 PiaMic <piamic a comune.fano.ps.it>:
> Tempo fa avevo scritto codice in PHP che utilizzava l'output SQL del comando
> shp2pgsql.exe fornito da PostGis per la conversione degli shapefile in
> tabelle geometriche per Postgres. Questo output scriveva le geometrie in
> formato esplicito, di tipo testo.
> Le caratteristiche dell'ambiente erano
>
> -postgres 8.3 POSTGIS="1.3.3" GEOS="3.0.0-CAPI-1.4.1" PROJ="Rel. 4.6.0, 21
> Dec 2007" USE_STATS
>
> Oggi a distanza di qualche anno provo ad eseguire shp2pgsql.exe, ma il
> formato delle geometrie è binario, ciò che mi constringe a riscrivere parte
> del codice in PHP. Questo è il nostro attuale ambiente
>
> -postgres 8.4 POSTGIS="1.5.2" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.6.1, 21
> August 2008" LIBXML="2.7.6" USE_STATS
>
> Come determinare il formato delle geometrie nell'output SQL di
> shp2pgsql.exe? Nell'help del comando non c'è nulla di illuminante in tal
> senso. Forse dipende dal formato geometrico definito nell'ambiente Postgis?
> Inoltre ho provato a caricare con Qgis una tabella geometrica già presente
> nell'ambiente PostGis, ma non viene riconosciuta come tabella geometrica,
> pur essendoci ed avendo compilato correttamente la tabella Geometry_columns.
>
> Cosa sbagliamo? Chi ci illumina d'immenso?
> Grazie

ciao
se per formato testo intendi WKT, allora usa l'opzione -w:

$ shp2pgsql -D -w ../data/shapefile/multipoly.shp
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
SET CLIENT_ENCODING TO UTF8;
SET STANDARD_CONFORMING_STRINGS TO ON;
BEGIN;
CREATE TABLE "multipoly" (gid serial PRIMARY KEY,
"name" varchar(80));
SELECT AddGeometryColumn('','multipoly','the_geom','-1','MULTIPOLYGON',2);
COPY "multipoly" ("name",the_geom) FROM stdin;
primo	SRID=-1;MULTIPOLYGON(((-0.101046025104602
0.997280334728033,-0.0131799163179915
1.16422594142259,0.136192468619247
0.957740585774059,-0.0131799163179915
0.698535564853557,0.149372384937239
0.628242677824268,0.0790794979079499
0.32071129707113,-0.101046025104602
0.316317991631799,-0.369037656903766
0.720502092050209,-0.101046025104602 0.997280334728033)))

ciao
P
-- 
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti


Maggiori informazioni sulla lista Gfoss