[postgis-users] masking out part of a MULTILINESTRING

Purvis, Charlton cpurvis at asg.sc.edu
Thu Apr 21 07:05:34 PDT 2005


What a difference difference makes.  Thanks for the help, strk.  But I've
got a related question now.  Hope I haven't worn out my welcome.

The difference(the_geom,***) works beautifully when done as part of the DATA
clause in a .map, but I'm ready to nuke the data directly in the table so
that I won't have to mask out the unwanted area every time.

However, when I do that, I end up w/ a total of 3 different geometries:

etopo2_bathy=# select
distinct(GeometryType(difference(the_geom,GeometryFromText('BOX3D(-87 24,-79
31)'::box3d,-1)))) from etopo2_contours;

    geometrytype    
--------------------
 GEOMETRYCOLLECTION
 LINESTRING
 MULTILINESTRING

My original table has MULTILINESTRINGs and are bathymetry contours.  Of
course, when I try to do an update, I get constraint problems on the
geometry type.  I'm happy to drop the constraint if that's what I need to
do.  And masking doesn't seem to do the trick, either.  I would have thought
that a GEOMETRYCOLLECTION geometry type could handle it all, ach no.

Any ideas?

Thanks.

________________________________________
From: Purvis, Charlton [mailto:cpurvis at asg.sc.edu] 
Sent: Wednesday, April 20, 2005 1:02 PM
To: 'PostGIS Users Discussion'
Subject: RE: [postgis-users] masking out part of a MULTILINESTRING

> This should be difference(geom, box); 
> --strk; 
Genius!  Works like a charm.  Thanks. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20050421/a406a491/attachment.html>


More information about the postgis-users mailing list