[postgis-users] Finding if a polygons is fully covered by others

Nicklas Avén nicklas.aven at jordogskog.no
Mon Jan 18 11:27:18 PST 2010


Yes, sorry, I see I missunderstood you in my last answer. I was confused, because:Is the area-solution working at all. If there is many overlapping bbox-polygons in the table isn't that going to give a too big area. If I'm not still on wrong trac I guess you can easily get negative answers from your query. and Martin, why is difference better here than CoveredBy or something like that to compare your unioned box with the query-polygon. Is difference a faster solution? /Nicklas

2010-01-18 Martin Davis wrote:

The way I'd look at doing this is:
>
>- find all bounding boxes which intersect the query polygon
>- union the boxes
>- compute the difference between the box union and the query poly
>- If the difference is non-empty, the boxes do not cover the polygon.
>
>This should be a bit more accurate than simply using the areas. It could 
>be more performance as well, given the new fast-union functions.
>
>Nicolas Gillet - MARKET-IP wrote:
>>
>> Hello,
>>
>> I am looking for some help in optimizing a query.
>>
>> I have a table with bounding boxes and sometimes I need to find if a 
>> new given polygon can be fully covered by existing bounding boxes of 
>> my table.
>>
>> Right now I can find it out by summing the areas of intersections 
>> between my polygon and those in my table and comparing this computed 
>> area with my polygon area.
>>
>> Here’s the query :
>>
>> SELECT ST_area(ST_GeometryFromText('POLYGON((-1 0, -1 1, 1 1, 1 0, -1 
>> 0))', 4326) ) -
>>
>> (SELECT SUM(st_area(st_intersection(the_geom, 
>> ST_GeometryFromText('POLYGON((-1 0, -1 1, 1 1, 1 0, -1 0))', 4326) ) ))
>>
>> FROM tests WHERE the_geom && ST_GeometryFromText('POLYGON((-1 0, -1 1, 
>> 1 1, 1 0, -1 0))', 4326) )
>>
>> => if query returns 0 then my polygon can be fully covered if != 0 
>> then it can’t.
>>
>> But I was wondering if there couldn’t be an easier way to do this.
>>
>> Thank you.
>>
>> Nicolas.
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>> 
>
>-- 
>Martin Davis
>Senior Technical Architect
>Refractions Research, Inc.
>(250) 383-3022
>
>_______________________________________________
>postgis-users mailing list
>postgis-users at postgis.refractions.net
>http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20100118/e51311c3/attachment.html>


More information about the postgis-users mailing list