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
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.
This is not the same as [lrs].[STRemoveMeasure] which remove measures etc and returns a pure 2D geometry.
@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.
The function returns the input linestring with all its M ordinates set to NULL.
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))