> Dear users,
>
>
> with "SELECT astext(pointOnSurface(the_geom)) from ways where gid=14730"
> I get the coordinates of a point that lies on the surface of a
> MULTILINESTRING.
>
> I get: POINT(897169.996155569 6850066.73917209)
>
> Then I try
> SELECT overlaps (the_geom,Geomfromtext('POINT(897169.996155569
> 6850066.73917209)',900913)) from ways where gid=14730;
>
> ...and I get FALSE ???
>
> (I also tried with "touches" and "intersects" --> the
> result there also FALSE).
>
>
> Has anybody an idea how this can be?
>
Hi Kai,
Yes, this can be because of the OGC specifications, that define very
precisely these predicates, in terms of relationship between interior,
boundary and exterior of each object.
A point cannot overlap a polygon, for instance (as far as I remember)
Looking at the predicates definitions in the specifications may help
to understand what they mean, for each kind of objects (points, lines,
polygons):
http://www.opengeospatial.org/standards/sfs
(don't trust your 'human' understanding of what 'touches' or 'overlaps' mean)
You may also look at the Jump documentation, as it contains nice
graphics showing some common misunderstandings with these predicates
(http://www.vividsolutions.com/JUMP/)
HTH
Nicolas
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users