[postgis-users] is there any 'common' geometry type?

Li Li fancyerii at gmail.com
Tue Apr 13 22:54:01 PDT 2010


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 <woodbri at swoodbridge.com>:
> 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 <woodbri at swoodbridge.com>:
>>>
>>> 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
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list