FW: [geos-devel] Issues with relate not handling GeometryCollections?

Martin Davis mbdavis at VividSolutions.com
Thu Dec 5 12:07:49 EST 2002



There's two problems:

- GeometryCollections generally don't "partition" nicely, since they allow components to overlap

- The main problem is that depending on how you define the semantics of relate for GCs, you may not be able to evaluate it robustly without using exact arithmetic.  

Norman, the spatial partioning you are referring to would involve disk-based spatial indexes and serialized graph structures - a WHOLE  bunch harder than doing it all in memory.  Beside, that's what PostGIS is for. 8^)

Martin Davis, Senior Technical Specialist
Vivid Solutions Inc.
Suite #1A-2328 Government Street   Victoria, B.C.   V8T 5G5
Phone: (250) 385 6040    Fax: (250) 385 6046
EMail: mbdavis at vividsolutions.com  Web: www.vividsolutions.com


> -----Original Message-----
> From: Norman Vine [mailto:nhv at cape.com]
> Sent: Wednesday, December 04, 2002 6:31 PM
> To: GEOS Development List
> Subject: Re: [geos-devel] Issues with relate not handling
> GeometryCollections?
> 
> 
> Martin Davis writes:
> >
> > Here's an issue which is really more of a general JTS 
> issue, but it may impact the integration with PostGIS, so I 
> thought I'd
> throw it out here:
> >
> > Currently JTS does NOT handle GeometryCollections as input 
> to relate. This is for two reasons:
> >
> > (i) the SFS did not define the semantics for this
> >
> > (ii) the semantics which I suspect are most useful are to 
> treat the GC as the union of its components.  Unfortunately, I don't
> know how to compute this robustly (either implicitly or 
> explicitly).  (Well, I do, but it's a LOT of work).  This is 
> annoying, since
> you really want relate to be robust AND exact.  Since I 
> couldn't do this, I chose to make GC's an invalid argument to relate.
> >
> > The question is, is this a big deal for PostGIS?  It *is* a 
> pain not having operators complete over the entire space of
> representable objects.'
> 
> >There is a cheesy way of defining relate over GCs, to be the 
> "sum" of relate over the individual components.  This works for
> intersection (an important case) but produces 
> counterintuitive results for some of the other predicates.
> >
> > Thoughts, anyone?
> >
> 
> I was mildly surprised that there is no spatial partitioning in GEOS.
> 
> i.e. subdividing the elements into pieces coresponding to their
> spatial bucket, performing the 'spatial operations' on the pieces
> within each bucket, and then reassembling the resulting objects.
> 
> Once the problem space gets big enough something similar
> is needed any way or you are going to run out of core.
> 
> Cheers
> 
> Norman
> 
> 
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
> 



More information about the geos-devel mailing list