[postgis-users] Overlap Queries - speed

Bill Binko bill at binko.net
Mon Oct 3 14:53:22 PDT 2005


Fair enough: you can replace my intersects() with distance(a, b) <= 0

I can't keep track of all the tricks, I just realized that his && was not 
going to be sufficient.

Bill
On Mon, 3 Oct 2005, Obe, Regina     DND\MIS wrote:

> Yes I thought so too and I thought in general that the GEOS functions were a
> little slower than the non-geos ones or has that changed?  Given that
> intersects is a GEOS function I would expect it to be slower.  I haven't
> tested to verify those assumptions though.
> 
>  Another check?  How much memory do you have allocated for worker_mem?  It
> doesn't sound like you have all that much memory to work with, but boosting
> that may help a little since you are working with fairly large geometries.
> 
> -----Original Message-----
> From: Ethan Alpert [mailto:ealpert at digitalglobe.com] 
> Sent: Monday, October 03, 2005 5:12 PM
> To: PostGIS Users Discussion
> Subject: RE: [postgis-users] Overlap Queries - speed
> 
> 
> 
> 
> Bill I thought it was discovered that distance() was faster than
> intersects()
> 
> -e
> 
> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net
> [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of Bill
> Binko
> Sent: Monday, October 03, 2005 2:28 PM
> To: PostGIS Users Discussion
> Subject: Re: [postgis-users] Overlap Queries - speed
> 
> 
> On Mon, 3 Oct 2005, Robert Burgholzer wrote:
> 
> > I have a question regarding performance, running postGIS 1.0.4 on
> > postgreSQL 8.0.3. running on RedHat Enterprise ES, 1.113 GHz Inter 
> > Pentium III, 376 Megs of RAM
> > 
> > I am performing an intersection calculation on two spatial tables, the
> 
> > tables are as follows:
> > 
> > bmp_multiseg : 6579 records
> > p5lrsegs : 2364 records
> > 
> > QUERY:
> >    select a.msid, b.lrseg, b.landseg, b.riverseg,   
> >    area2d(intersection(a.the_geom, b.the_geom))/area2d(b.the_geom)
> from 
> >    bmp_multiseg as a, p5lrsegs as b where a.the_geom && b.the_geom;
> > 
> > basically, there are several inputs in bmp_multiseg at a number of
> > overlapping resolutions that I am distributing amongst the second 
> > table p5lrsegs, with an average of ~ 6 overlaps from bmp_multiseg to 
> > p5lrsegs, making a total of ~ 15,000 records in the resulting query. 
> > This query takes over an hour to complete with spatial indices on both
> 
> > tables geometry field.
> > 
> > The geometries are not simple, they range in size from between 5-20K
> > per row, perhaps this is part of the problem?
> > 
> > Any insight would be appreciated. Even if you tell me that this is
> > reasonable and I have to just suck it up, or look for another tool to 
> > do my calculations, those kinds of insights are good to know.
> 
> Well, one thing that might help would be to add an intersects() to your 
> where clause.  If you shapes are very irregular, your && will cause many
> 
> false positives causing too many empty intersection shapes to be created.  
> (Someone correct me if I'm wrong).
> 
> So you might try:
>  QUERY:
>     select a.msid, b.lrseg, b.landseg, b.riverseg,   
>     area2d(intersection(a.the_geom, b.the_geom))/area2d(b.the_geom) from
> 
>     bmp_multiseg as a, p5lrsegs as b where a.the_geom && b.the_geom AND 
> intersects(a, b);
> 
> Another thing (obviously) is to make sure that your indexes are being 
> used.  Run a EXPLAIN  on that query and post the results.
> 
> Bill
>  
> 
> _______________________________________________
> postgis-users mailing list postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> _______________________________________________
> postgis-users mailing list postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> 
> 



More information about the postgis-users mailing list