Added to the wiki: https://trac.osgeo.org/postgis/wiki/UsersWikiLinearRefFunctions
It seems a bit awkward to use this as it stands for inserting a vertex in a line at the closest point. I wonder if the function should also return the closest point itself? (In fact, I am certain that it should if it is implemented as a native function, since that additional useful information costs very little to obtain). On Wed, Aug 5, 2020 at 8:46 AM Bruce Rindahl <[email protected]> wrote: > My two cents: > Since you are computing the distance, why not return it? Also make the > index zero based like most of the other st_ functions. > > CREATE OR REPLACE FUNCTION ST_LineLocateN( line geometry, pt geometry ) > RETURNS table(index integer, dist double precision) > AS $$ > SELECT i - 1, dist FROM ( > SELECT i, ST_Distance( > ST_MakeLine( ST_PointN( line, s.i ), ST_PointN( line, s.i+1 ) ), > pt) AS dist > FROM generate_series(1, ST_NumPoints( line )-1) AS s(i) > ORDER BY dist > ) AS t LIMIT 1; > $$ > LANGUAGE sql STABLE STRICT; > _______________________________________________ > postgis-users mailing list > [email protected] > https://lists.osgeo.org/mailman/listinfo/postgis-users
_______________________________________________ postgis-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/postgis-users
