STMove

STMoveis a function that moves a geometry using the supplied delta X, Y, Z and M ordinate values.

TSQL Function Specification.

Function STMove (
           @p_geometry geometry,
           @p_dX       float,
           @p_dY       float,
           @p_dZ       float,
           @p_dM       float,
           @p_round_xy int = 3,
           @p_round_zm int = 2
         )
Returns geometry

Description.

The STMove function moves the supplied geometry’s ordinates using the supplied x, y, z and m delta ordinate values.

The computed ordinates of the new geometry are rounded to @p_round_xy/@p_round_zm number of decimal digits of precision.

Parameters.

    @p_geometry (geometry) - Supplied geometry of any type.
    @p_dX          (float) - X ordinate delta shift.
    @p_dy          (float) - Y ordinate delta shift.
    @p_dZ          (float) - Z ordinate delta shift.
    @p_dM          (float) - M ordinate delta shift.
    @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 moves the input geometry by supplied ordinate deltas.

Example.

SELECT [dbo].[STMove](geometry::ST_GeomFromText('LINESTRING(0.1 0.2,1.4 45.2)',0),-5.0,30.1,default,default,2,1).AsTextZM() as movedGeom
GO

movedGeom
'LINESTRING(-4.9 30.2,-3.6 31.5)'