Folks,

after seeing some polygons disappear during the generalization process, I found out that ST_Union and ST_Collect are different beasts when dealing with intersecting lines.

I did generalization by: breaking original polygons into lines, generalizing them and them assembling back lines into (multi) polygons.

At first I used ST_Collect for the last step:
ST_Multi(ST_BuildArea(ST_Collect(r2.wkb_geometry)))

...but some of the lines intersected, especially over intricate coastlines, causing big polygons to be silently dropped.

But when I switched to ST_union:
ST_Multi(ST_BuildArea(ST_Union(r2.wkb_geometry)))

all polygons where built (except for the ones that had to be dropped because their area was 0, usually islets).

Is this by design (I wasn't able to find documentation on the different behaviour of these two functions) ?

Regards,

P.S.
Sandro, I did not forget to help speeding up the topology construction routines, it is just that next week we have a deadline, hence I gave a lower priority to the task of setting up a machine with the configuration you requested... stay tuned.

Luca Morandini
Data Architect - AURIN project
Department of Computing and Information Systems
University of Melbourne

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

Reply via email to