[postgis-devel] ST_Line_Substring

nicklas.aven at jordogskog.no nicklas.aven at jordogskog.no
Sun Aug 30 13:17:50 PDT 2009


The function ST_Line_Substring is some mixture between 2D and 3D. It preserves the z-value but don't use it in calculation. The documentation describes this but the note that the function supports 3D I think is false. 
 
Why not make it real 3D so it considers the third dimmension in the calculation.
 
Now this query:

select st_asewkt(ST_Line_Substring(the_geom,0.2, 0.8))
 from
(SELECT ST_GeomFromEWKT('SRID=4269;LINESTRING(1 1 1,1 1 3, 1 1 5, 1 1 8)') as the_geom ) a;

gives the little bit strange result:
"SRID=4269;LINESTRING(1 1 3,1 1 5)"
 
I think t would be much better to make it fully 3D-supportive. Then the result of this query is:
"SRID=4269;LINESTRING(1 1 2.4,1 1 3,1 1 5,1 1 6.6)"
 
I have attached a patch that makes this.
 
The reason I started to look at this was that I wanted a function that takes distances instead of fraction of the total length. 
I hve a working finction that takes the startdistance and end-distance from the start of the line to pull out the substring-line. In some cases that is more straight on than going via the fractions. Should I post it or will there be to many functions too little difference?
The question is if I should put effort in writing the documentation and regression-tests.
 
Greetings
Nicklas
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20090830/d7f760a9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ptarray.patch
Type: application/octet-stream
Size: 747 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/postgis-devel/attachments/20090830/d7f760a9/attachment.obj>


More information about the postgis-devel mailing list