ST_Move for MySQL Spatial

A version of my Move functions for SQL Server Spatial and Oracle Spatial is available.

Function Declaration

 DELIMITER $$
 CREATE FUNCTION `ST_Move`
 (
   p_geometry geometry,
   p_dX       DOUBLE,
   p_dY       DOUBLE,
   p_round    INT
 )
 RETURNS geometry
 BEGIN
   -- Processing
   RETURN geometry;
 END; 
 DELIMITER ;

Function Testing

 SELECT ST_AsText(ST_Move(ST_PointFromText('POINT(0 0)',0), -5.0, 30.1, 1)) AS movedGeom;
 # movedGeom
 'POINT(-5 -5)'
 --
 SELECT ST_AsText(ST_Move(ST_GeomFromText('LINESTRING(0.1 0.2,1.4 45.2)',0),-5.0,30.1, 1)) AS movedGeom;
 # movedGeom
 'LINESTRING(-4.9 30.2,-3.6 31.5)'
 --
 SELECT ST_AsText(ST_Move(ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))',0),-5.0,30.1, 2)) AS movedGeom;
 # movedGeom
 'POLYGON((-5 30.1,5 40.1,5 40.1,-5 30.1,-5 30.1))'

If you think this is of use to you, make a donation and I will release the code to you along with any other MySQL functions I have created.

Leave a Reply

Your email address will not be published. Required fields are marked *