Thanks Darafei, perfect!
Just for newbees like me if they read this mail:
you have missed one “)” at the near end
UPDATE public."Ocean"
SET the_geom = coalesce(ST_Multi(ST_Difference("Ocean".the_geom, (select 
ST_Union(the_geom) from "Islands" as b where ST_Intersects( "Ocean ".the_geom,  
b.the_geom)))), the_geom);


Från: postgis-users [mailto:postgis-users-boun...@lists.osgeo.org] För Darafei 
"Kom?pa" Praliaskouski
Skickat: den 20 augusti 2019 15:38
Till: PostGIS Users Discussion
Ämne: Re: [postgis-users] create holes in ocean polygons with island polygons

You're getting a copy of each ocean for each island with that island removed, 
and only one gets back into the table. You probably want to remove an union of 
all islands from each ocean.

UPDATE public."Ocean"
SET the_geom = coalesce(ST_Multi(ST_Difference("Ocean".the_geom, (select 
ST_Union(the_geom) from "Islands" where ST_Intersects( "Ocean ".the_geom,  
b.the_geom))), the_geom);

On Tue, Aug 20, 2019 at 4:35 PM <paul.m...@lfv.se<mailto:paul.m...@lfv.se>> 
wrote:
Hi,
I have a table with ocean polygons and would like to create holes in those 
polygons with an island layer (including island polygons).
I’ve tried this:

UPDATE public."Ocean"
SET the_geom = ST_Multi(ST_Difference("Ocean".the_geom, b.the_geom))
FROM "Islands" as b
WHERE ST_Intersects( "Ocean ".the_geom,  b.the_geom)
Postgresql reports  5 uppdates.
But there are no holes in the ocean polygons, in the location of the islands.

What are I’m doing wrong?

Kind regards,
Paul
_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org<mailto:postgis-users@lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/postgis-users


--
Darafei Praliaskouski
Support me: http://patreon.com/komzpa
_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/postgis-users

Reply via email to