[postgis-users] Function ST_CONTAINS respectively CONTAINS does not find Start-Endpoints in MultiLineString

Martin Davis mbdavis at refractions.net
Wed Oct 1 08:48:46 PDT 2008


The OGC definition of contains is equivalent to:

A contains B iff Every point of the B is a point of A, and the interiors 
of A and B have at least one point in common.

A consequence of this definition is that "Geometries do not contain 
their boundary" - if B lies wholly in the boundary of A, it is A does 
*not* contain B.  This is the situation that you are seeing.

Weird maybe - but that's the spec.

pleasecontactmee at aim.com wrote:
> Hello,
>
> Can you please help me, where am I wrong by using the PostGIS Function 
> "Contains(geometry A, geometry B)" (referring to chapter 6.1. OpenGIS 
> Functions of PostGIS manual)
> which delivers back only points within a MULTILINESTRING except 
> "start-" and "endpoint" of it?
>
> Here are some examples
> This statement returns "false" even though the first POINT(7.0 50.0) 
> is part of the MultiLineString
> SELECT Contains (GeomFromEWKT('SRID=4326;MULTILINESTRING((7.0 50.0,8.0 
> 51.0,9.0 52.0))'), (GeomFromEWKT('SRID=4326;POINT(7.0 50.0)')) );
> e.g. the "middle" point delivers what I expect="true"
> SELECT Contains (GeomFromEWKT('SRID=4326;MULTILINESTRING((7.0 50.0,8.0 
> 51.0,9.0 52.0))'), (GeomFromEWKT('SRID=4326;POINT(8.0 51.0)')) );
>
> What I need is a function which is able to find ONE point within a 
> MULTILINESTRING which can be the first, last or a point between them.
> I am using pgAdminIII v1.6.3, "PostgreSQL 8.2.5" and PostGIS Version 
> "1.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1"
>
> Thank you very much,
> Wolfgang
> ------------------------------------------------------------------------
> *AOL eMail auf Ihrem Handy!*Ab sofort können Sie auch unterwegs Ihre 
> AOL email abrufen. Registrieren <http://www.aol.de/Webmail/> Sie sich 
> jetzt kostenlos.
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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




More information about the postgis-users mailing list