[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