you can alss use a "with" statement as indicated by nicolas, but be certain that what you want is to get the "sum" of all polygon of your collection

bye

Le 26/04/2012 17:51, ju a écrit :
ok so this is second solution.

1) fisrt count the number of objet of the collection

select ST_NumGeometries(the_geom) as the_nb from YOURTABLE

you will obtain the number of collection, so probably 4 polygon

2) then "explose" theses 4 polygon :

SELECT 
what you want....,
n,
ST_GeometryN(the_geom, n) as geom_unique,
ST_astext(ST_GeometryN(the_geom, n)) as geom_unique_txt
FROM YOURTABLE CROSS JOIN generate_series(1,100) n
WHERE n <= ST_NumGeometries(the_geom);

note : 100 is default for serie, if you count 4 objet in collection you can write serie(1,4)

you shoud obtain 4 rows, the text format is juste here so as you see the polygon coordinate


3) 2 choices

3.1 if one of the 4 polygon is what you want, then use it. for example if it is the n number 3 then update your table with

update YOURTABLE set the_geom =
ST_GeometryN(the_geom, 3)
(dont forget a WHERE .... id of the row you want to update)

3.2) if you want to group all the 4 polygone to make a new one there are other possibility
- for example make a table  with the 4 polygons ( same query but "select into table" .....)
with this table make a dissolve query to group the 4 objetc
- update your table with the result of dissolve

- you can also use array to group, etc...


tip : sometimes it is quick to copy /past result wkt of query
for example you copy the result wkt of the  query  for objet collection number 3:

POLYGON((892426.5625 6463663,892432.9375 6463678,892434.4375 6463685,892454.75 6463802,892457.0625 6463879.5,892456.6875 6463879.5,892453.6875 6463931,892453 6463931))

then  you make a polygon with it :

update matable set the_geom = ST_GeometryFromText('POLYGON((892426.5625 6463663,892432.9375 6463678,892434.4375 
6463685,892454.75 6463802,892457.0625 6463879.5,892456.6875 
6463879.5,892453.6875 6463931,892453 6463931))'
(dont forget a WHERE .... id of the row you want to update)


Le 26/04/2012 17:22, Mehmet Erkek a écrit :

Hi Juilen, thanks for quick answer.

 

I have 1 geometry and 1 row on the table. this geometry is multiploygon which consists of 4 polygons.

I want to convert this mutlipolygon to one single polygon..

 

Any idea how I can do this?

I hope it is clearer now.

 

Thanks.

 

 

From: postgis-users-boun...@postgis.refractions.net [mailto:postgis-users-boun...@postgis.refractions.net] On Behalf Of ju
Sent: 26 Nisan 2012 18:02
To: PostGIS Users Discussion
Subject: Re: [postgis-users] [!! SPAM] multipolygon to single polygon

 

not clear...

1) if you have 4 polygons in 4 rows table distinct, this is not a multi object issu. for  this case use
 dissolve to group polygone into only one, this is not a topic of dump.


2) if you have 1 geometry and 1 row on the tablme, so this is a multi object topic
you must sperate the differents objet of the collection

here : http://www.postgis.org/docs/ST_GeometryN.html

--Extracting all geometries (useful when you want to assign an id)
SELECT gid, n, ST_GeometryN(the_geom, n)
FROM sometable CROSS JOIN generate_series(1,100) n
WHERE n <= ST_NumGeometries(the_geom);


best regards, julien



Le 26/04/2012 16:27, Mehmet Erkek a écrit :

 

I have multipolygons which I would like to convert a single polygon. is there a way to do this? please check the attached image. I tried st_dump and afterwards st_union , but eventually I get a multipolygon again, not polygon.

 

 

 

Mehmet Erkek

www.REIDIN.com 

 


This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. Please Consider the Environment Before Printing This Email


_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users



-- 
Julien-Pierre Guilloux
Service scientifique - Géomatique
Parc National des Ecrins
Domaine de Charance
05 000 GAP
tél : 04.92.40.20.10
fax : 04.92.52.38.34
julien.guill...@ecrins-parcnational.fr

This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. Please Consider the Environment Before Printing This Email

_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

-- 
Julien-Pierre Guilloux
Service scientifique - Géomatique
Parc National des Ecrins
Domaine de Charance
05 000 GAP
tél : 04.92.40.20.10
fax : 04.92.52.38.34
julien.guill...@ecrins-parcnational.fr


_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

-- 
Julien-Pierre Guilloux
Service scientifique - Géomatique
Parc National des Ecrins
Domaine de Charance
05 000 GAP
tél : 04.92.40.20.10
fax : 04.92.52.38.34
julien.guill...@ecrins-parcnational.fr

_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to