# STResetMeasure

**STResetMeasure** is a TSQL function that sets all existing assigned measures to NULL.

**TSQL Function Specification.**

Function [lrs].[STResetMeasure] ( @p_geometry geometry, @p_marker_measure float = -999999999, @p_round_xy int = 3, @p_round_zm int = 2 ) Returns geometry

**Description.**

Sets all measures of a measured linestring to supplied** @p_marker_measure value** leaving dimensionality of geometry alone.

So, a linestring with XYM remains so, but all measures are set to value of -999999999 if @p_marker_measure is NULL, and @p_marker_measure if otherwise.

If null, then Vertex 2 in a linestring with value of 10.23,5.75,2.65 will be set to 10.23,5.75,-999999999.

If 9.9 is the passed @p_marker_measure value then Vertex 2 will be set to 10.23,5.75,9.9.

Supports CircularString and CompoundCurve geometry objects and subelements from 2012 onwards.

**Notes.**

This is not the same as **[lrs].[STRemoveMeasure]** which **remove measures** etc and returns a pure 2D geometry.

**Parameters.**

@p_geometry (geometry) - Supplied Linestring geometry. @p_marker_measure (float) - Marker Measure applied to all measure values: Default is -999999999, @p_round_xy (int) - Decimal degrees of precision to which calculated XY ordinates are rounded. @p_round_zm (int) - Decimal degrees of precision to which calculated ZM ordinates are rounded.

**Result.**

The function returns the input linestring with all its M ordinates set to NULL.

**Example**

SELECT [lrs].[STResetMeasure] ( geometry::STGeomFromText('MULTILINESTRING((1 1 NULL 1,2 2 NULL 2),(3 3 NULL 3,4 4 NULL 4))',0), default, 3, 2 ).AsTextZM() as ResetMeasureLine GO ResetMeasureLine MULTILINESTRING ((1 1 NULL -999999999, 2 2 NULL -999999999), (3 3 NULL -999999999, 4 4 NULL -999999999))