STFindMeasure
STFindMeasure — Snaps input point to measured linestring returning measure value
Function Specification.
Function [lrs].[STFindMeasure] ( @p_linestring geometry, @p_point geometry, @p_round_xy int = 3, @p_round_zm int = 2 ) Returns float
Description.
Given a point near a the supplied measure @p_linestring, this function returns the measure of the closest point on the measured @p_linestring.
Returned measure value is rounded to @p_round_zm decimal digits of precision.
Notes.
Is wrapper over [lrs].[STInterpolatePoint].
Srid of @p_linestring and @p_point must be the same.
@p_linestring must be measured.
Parameters.
@p_linestring (geometry) - Measured (Multi)LineString geometry. @p_point (geometry) - Offset Point for which closest linestring point measure is needed. @p_round_xy (int) - Decimal digits of precision for XY ordinates. @p_round_zm (int) - Decimal digits of precision for M ordinate.
Result.
The function returns the measure of the closest point on supplied line to supplied point.
Example.
select [lrs].[STFindMeasure] ( geometry::STGeomFromText('LINESTRING(-4 -4 0 1, 0 0 0 5.6, 10 0 0 15.61, 10 10 0 25.4)',28355), geometry::Point(8,8,28355), 3,2) as measure union all select [lrs].[STFindMeasure]( geometry::STGeomFromText('LINESTRING(-4 -4 0 1, 0 0 0 5.6, 10 0 0 15.61, 10 10 0 25.4)',28355), geometry::Point(10,0,28355), 3,2) as measure GO measure 23.44 15.61