[postgis-devel] Testing ST_LineMerge issue

Martin Davis mbdavis at refractions.net
Tue Dec 23 09:26:36 PST 2008

My take on this is that repeated points do *not* make a LineString 
non-simple.  If you look at the definition of Curves and simplicity in 
the SFS (sec 2.1.5) the definitions are based on the topological notion 
of a curve being a homeomorphic mapping of a real interval.  Repeated 
vertices are topologically irrelevant in this system (and in fact cannot 
even be expressed). 

My feeling about the treatment of repeated vertices is that they are a 
syntactic issue only, and generally should not influence the output of 
geometric operations.

Kevin Neufeld wrote:
> I find that simplicity / validity is always a big topic, so I upgraded 
> the section (with pictures and all) in the PostGIS docs regarding the 
> OGC's definitions.
> http://postgis.refractions.net/documentation/manual-svn/ch04.html#OGC_Validity 
> To answer your question Mark, the OGC specs say that a LINESTRING is 
> simple if it does not pass through the same point twice.  To me, this 
> means self-intersections and perhaps coincident vertices.  At the 
> moment, PostGIS returns true for this when by rights it should be false:
> SELECT issimple('LINESTRING(0 0, 1 1, 1 1, 2 2)');
>  issimple
> ----------
>  t
> (1 row)
> Something to look into?  Are coincident vertices considered to be a 
> self-intersection?
> Also, Regina, I think the examples in ST_IsSimple and ST_IsValid 
> should be clarified.  The example in ST_Simple tests the simplicity on 
> a polygon, even though this will always return true.  ST_IsValid tests 
> the validity of a linestring, even though this will always return true 
> (except for cases when the linestring is actually a linearring ... and 
> even then, I believe it just tests to see if the linestring has > 2 
> points).
> Cheers,
> Kevin
> Mark Cave-Ayland wrote:
>> Obe, Regina wrote:
>>> Now there are 2 issues here.
>>> 1) GEOS ST_LineMerge is obviously not smart enough to realize that
>>> linemerging something like that is silly.
>> Ooops :)
>>> 2) ST_MakeLine lets you get away with creating this monstrosity.  Which
>>> hmm I suppose there are reasons why someone may want to, but perhaps we
>>> shouldn't go there.
>> This reminds me actually, what is the OGC-SFS take on repeated 
>> points? I  don't remember seeing any mention of this in any of the 
>> parser/unparser work I did earlier, although it seems to be required 
>> for a geometry to be valid. So is it also required for a geometry to 
>> be simple?
>> ATB,
>> Mark.
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel

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

More information about the postgis-devel mailing list