[postgis-users] intersects(), touches(), overlaps() documentation issue

Michael Fuhr mike at fuhr.org
Tue Mar 7 09:07:24 PST 2006

On Tue, Mar 07, 2006 at 08:38:13AM -0800, Amit Kulkarni wrote:
> I had a situation where a line overlapped another line for a very small
> distance near its endpoints. touches() returned true but I was confused
> why my stored proc was not executing as it should. After some
> frustrated hours checking inside the loop, I thought to pull up the
> offending segments in a Desktop GIS and lo! I saw the overlap
> immediately.
> I was under the impression that touches() returns true and only true if
> endpoints touched. Is that impression invalid? intersects() returns
> true but overlap() doesn't return true?

The spec defines Touches as the intersection of the interiors being
the empty set and the intersection of the geometries not being the
empty set.  In other words, no intersection of the interiors but
an intersection of the boundaries or of the boundary of one and the
interior of the other.

Could you post the geometries?  What do Intersection(a, b) and
Relate(a, b) return?

Michael Fuhr

More information about the postgis-users mailing list