thank you. Now I have many data with type POLYGON, how can I convert them to MULTIPOLYGON? I don't want my existed data missing. I tried to update the column from geometry_columns set its value to MULTIPOLYGON. But When I insert a MULTIPOLYGON,it failed.
2010/4/14 Stephen Woodbridge <[email protected]>: > Hi Li Li, > > In general it is best practice to keep your tables homogeneous with respect > to type of geometry. The reason for this is that many PostGIS function > expect to operate on a specific type of geometry. Also a column in > ralational databases is typically strongly typed, ie you do not normally > expect to find character data in numeric columns, etc. > > If you want to mix data in the geometry column then you can just drop the > constraints on that table after you create it, but I do not think this is > recommended. Or you can create it by hand like: > > create table blahblah ( > gid serial, > ... > the_geom geometry); > > and this table has no constraints on it and you can load any geometries into > it. > > -Steve > > Li Li wrote: >> >> How to let the table allow both polygon and multipolygon? >> I create geometry column use SELECT AddGeometryColumn >> ('','china_block','geom',4326,'POLYGON',2); >> I tried SELECT AddGeometryColumn >> ('','mytable','geom',4326,'MULTIPOLYGON',2); >> >> it says >> ERROR: column "geom" of relation "china_block" already exists >> CONTEXT: SQL statement "ALTER TABLE public.china_block ADD COLUMN >> geom geometry " >> PL/pgSQL function "addgeometrycolumn" line 121 at EXECUTE statement >> SQL statement "SELECT AddGeometryColumn('', $1 , $2 , $3 , $4 , $5 , $6 )" >> PL/pgSQL function "addgeometrycolumn" line 4 at SQL statement >> >> As you suggested, I can change POLYGON to MULTIPOLYGON. >> But if the column has LINESTRING and POLYGON, what should I do? >> >> thanks. >> >> 2010/4/13 Stephen Woodbridge <[email protected]>: >>> >>> Li Li wrote: >>>> >>>> I have a table from oracle. a spatial column geom is SDO_GEOMETRY. I >>>> migrated it to postgis. this geom column has record with type of >>>> POLYGON and MULTIPOLYGON. is there any common type that can store any >>>> geometry? >>> >>> The common type in PostGIS is "geometry", but you can also change the >>> constraints you table to allow both POLYGON and MULTIPOLYGON. >>> >>> Or you can do something like: >>> >>> update mytable set the_geom = ST_Multi(the_geom) >>> where ST_GeometryType = "POLYGON'; >>> >>> -Steve W >>> _______________________________________________ >>> postgis-users mailing list >>> [email protected] >>> http://postgis.refractions.net/mailman/listinfo/postgis-users >>> >> _______________________________________________ >> postgis-users mailing list >> [email protected] >> http://postgis.refractions.net/mailman/listinfo/postgis-users > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users > _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
