Could be your export routine then. I don't think ' is legal. Need to use double-quotes (or at least on windows) for the SQL. You can also leave out the .shp although I guess its harmless. Try pgsql2shp -f ext conversion "select * from matable2" Hope that helps, Regina
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ghislain Geniaux Sent: Wednesday, March 12, 2008 8:47 AM To: PostGIS Users Discussion Subject: Re: [postgis-users] problem creating and exporting a polygon withholeusing pgsql2shp Thanks for your answer Regina, but ST_Difference does not solve the problem : ST_Difference and ST_Symdifference give the same polygon but the export by pgsql2shp failled. conversion=# create table temp as conversion-# select r.gid, ST_Difference(r.the_geom,i.the_geom) as the_geom from recouv as r, recouv as i where i.gid=2 and r.gid=1; SELECT conversion=# ALTER TABLE temp ADD PRIMARY KEY (gID); NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "temp_pkey" for table "temp" ALTER TABLE conversion=# SELECT geometrytype(the_geom), Nrings(the_geom), area2d(the_geom) from temp; geometrytype | nrings | area2d --------------+--------+------------------ POLYGON | 2 | 2177713.02017212 (1 row) conversion=# create table temp as conversion-# select r.gid, ST_symDifference(r.the_geom,i.the_geom) as the_geom from recouv as r, recouv as i where i.gid=2 and r.gid=1; SELECT conversion=# ALTER TABLE temp ADD PRIMARY KEY (gID); NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index "temp_pkey" for table "temp" ALTER TABLE conversion=# SELECT geometrytype(the_geom), Nrings(the_geom), area2d(the_geom) from temp; geometrytype | nrings | area2d --------------+--------+------------------ POLYGON | 2 | 2177713.02017212 (1 row) The two polygons are goods and well displayed in QGIS but exported shapefiles are empty or corrupted. Le 12 mars 08 à 12:51, Obe, Regina a écrit : I'm guessing your result may be a Geometrycollection which ESRI shape has no clue what to do with. If I understand you correctly, I think you really should be using ST_Difference instead of ST_SymDifference. So ST_Difference(polygon2, polygon1) - will give you that portion of polygon2 which does not intersect with polygon1 which would give you a polygon with polygon1 removed (a doughnut so to speak). The ST_Symdifference will give you that portion of polygon2 not in polygon1 + polygon1 not in polygon2 = the holed polygon you want + an empty geometry collection -> a geometry collection if taken strictly. I'm not sure if PostGIS will throw out the second part (the empty collection) - and at anyrate is a waste of processing power to even compute it. Hope that helps, Regina ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ghislain Geniaux Sent: Wednesday, March 12, 2008 6:29 AM To: [email protected] Subject: [postgis-users] problem creating and exporting a polygon with holeusing pgsql2shp Using a postgis table with Two polygons, in which polygon 1 entirely contained in polygon 2, I've create a new polygon with a hole using : ------ create table matable2 as select r.gid, area(symdifference(r.the_geom,i.the_geom)) as area,(symdifference(r.the_geom,i.the_geom)) as the_geom from matable as r, matable as i where i.gid=2 and r.gid=1; ALTER TABLE matable2 ADD PRIMARY KEY (GID); \q pgsql2shp -f ext.shp conversion 'select * from matable2' ----- Area is correct, display of the polygon in QGIS is also correct, but the export by pgsl2shp produce an empty shapefile. How to deal with this problem? ------------------------------------------ Geniaux Ghislain ________________________________ The substance of this message, including any attachments, may be confidential, legally privileged and/or exempt from disclosure pursuant to Massachusetts law. It is intended solely for the addressee. If you received this in error, please contact the sender and delete the material from any computer. ________________________________ Help make the earth a greener place. If at all possible resist printing this email and join us in saving paper. _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users ------------------------------------------ Geniaux Ghislain INRA SAD Ecodéveloppement Site Agroparc Domaine St Paul 84914 Avignon Cedex 9 Tél : 04 32 72 25 64 Fax : 04 32 72 25 62
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
