Thread: polygon overlay

polygon overlay

From
Gary Fu
Date:
Hi,

I don't see any overlap between the polygon and the box in the following 
sql. Can anyone explain why it returns 't'?
 select polygon(path '((0,0),(10,10),(20,10),(10,0))') && polygon(box 
'((16,0),(17,1))'); ?column?
---------- t
(1 row)

Thanks,
Gary


Re: polygon overlay

From
Tom Lane
Date:
Gary Fu <gfu@sigmaspace.com> writes:
> I don't see any overlap between the polygon and the box in the following 
> sql. Can anyone explain why it returns 't'?

>   select polygon(path '((0,0),(10,10),(20,10),(10,0))') && polygon(box 
> '((16,0),(17,1))');
>   ?column?
> ----------
>   t
> (1 row)

Up to 8.4 the poly_overlap function did this:
* Determine if polygon A overlaps polygon B by determining if* their bounding boxes overlap.** XXX ought to do a more
correctcheck!
 

I see it's been improved for 9.0 ...
        regards, tom lane