# 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
```