[postgis-devel] Testing ST_LineMerge issue
Kevin Neufeld
kneufeld at refractions.net
Fri Dec 19 11:07:37 PST 2008
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.
>
More information about the postgis-devel
mailing list