[postgis-users] Problems with GeomUnion

Bill Binko bill at binko.net
Fri Apr 8 14:57:31 PDT 2005


On Fri, 8 Apr 2005 strk at refractions.net wrote:

> On Fri, Apr 08, 2005 at 11:08:59AM -0400, Bill Binko wrote:
> > On Thu, 7 Apr 2005, Martin Davis wrote:
> > 
> > > > Now I need a way to fix self-intersecting shapes.  
> > > 
> > > If you do a buffer(0) on the shapes as you load them (or after you load
> > > them), that will convert them to valid geometry while preserving their
> > > outline.
> > > 
> > 
> > I'm having some issues with that solution (and I was very excited to hear 
> > such a simple one!).  When I run this:
> > 
> > update parcels set parcel_shape = buffer(parcel_shape, 0);
> > 
> > I get:
> > 
> > ERROR:  new row for relation "parcels" violates check constraint "enforce_geotype_parcelShape"
> 
> What version of postgis/geos are you running ?
> Could you provide an .sql file containing the 2d geometry that
> fed to buffer(0) becomes a non-2d one ? 
> --strk;

select postgis_full_version() reads:

 POSTGIS="1.0.0RC6" GEOS="2.1.1" PROJ="Rel. 4.4.7, 31 March 2003"
USE_STATS DBPROC="0.3.0" RELPROC="0.3.0"

I've put a dump of all of the offensive shapes at 
http://www.binko.net/dump.gz However, I cannot tell which are causing the 
failures, since the buffer() calls never complete and the transaction 
rolls back.

I'm open to suggestions on narrowing those down.

Bill



More information about the postgis-users mailing list