[postgis-devel] [PostGIS] #475: ST_Simple should return false with duplicate points

Martin Davis mbdavis at refractions.net
Wed Mar 31 09:49:13 PDT 2010


IMO the semantics of isSimple are fine the way they are.  Consecutive 
duplicate points aren't *materially* non-simple - they're just a  
topologically irrelevant structural artifact.

The SFS states that:

2.1.5 Curve

Topologically a Curve is a one-dimensional geometric object that is the 
homeomorphic image of a real,
closed, interval D = [a, b] = {x Î R ½ a <= x <= b} under a mapping 
f:[a,b] ® Â2 as defined in [1],
section 3.12.7.2.

I think you can read both statements as applying only to situations 
where the duplicate points occur at *different* indexes in the closed 
interval [a,b].  This is *not* the case for duplicate points which occur 
consecutively in the coordinate list - they are the image of the *same* 
index x in the parameterization [a,b].

Martin

PostGIS wrote:
> #475: ST_Simple should return false with duplicate points
> ----------------------+-----------------------------------------------------
>  Reporter:  kneufeld  |       Owner:  pramsey      
>      Type:  defect    |      Status:  new          
>  Priority:  low       |   Milestone:  PostGIS 2.0.0
> Component:  postgis   |     Version:  trunk        
>  Keywords:            |  
> ----------------------+-----------------------------------------------------
>  The OGS specs state: ''"has no anomalous geometric points, such as self
>  intersection or self tangency"'' and ''"is simple if it does not pass
>  through the same point twice"''. (2.1.5)
>
>  The SQL/MM specs state: ''"is not simple if any interior point has the
>  same location as another interior point or a point on the boundary"''
>  (4.1.4)
>
>  So, by definition then, this should return false.
>
>  {{{
>  select st_issimple(
>    'LINESTRING(0 0, 1 1, 1 1)'::geometry
>  );
>   st_issimple
>  -------------
>   t
>  (1 row)
>  }}}
>
>   

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022




More information about the postgis-devel mailing list