"Konrad Garus" <konrad.garus@gmail.com> writes:
> && operator seems to be broken for polygons whose bounding boxes intersect:
> select polygon'((0,0), (1,2), (0,2))' && polygon'((0.5, 0), (1,0), (1,1))';
> ?column?
> ----------
> t
> (1 row)
This is fixed as of 9.0; see the release notes at
http://www.postgresql.org/docs/9.0/static/release-9-0.html
which say
Correct calculations of "overlaps" and "contains" operations for polygons (Teodor Sigaev)
The polygon && (overlaps) operator formerly just checked to see
if the two polygons' bounding boxes overlapped. It now does a
more correct check. The polygon @> and <@ (contains/contained
by) operators formerly checked to see if one polygon's vertexes
were all contained in the other; this can wrongly report "true"
for some non-convex polygons. Now they check that all line
segments of one polygon are contained in the other.
regards, tom lane