PostGIS

ST_Translate

Prev

8.15. Affine Transformations

Next

Name

ST_Translate — Translates a geometry by given offsets.

Synopsis

geometry +`*`+ST_Translate*(`geometry `g1, float deltax, float deltay`)`;

geometry +`*`+ST_Translate*(`geometry `g1, float deltax, float deltay, float deltaz`)`;

Description

Returns a new geometry whose coordinates are translated delta x,delta y,delta z units. Units are based on the units defined in spatial reference (SRID) for this geometry.

Note

Prior to 1.3.4, this function crashes if used with geometries that contain CURVES. This is fixed in 1.3.4+

Availability: 1.2.2

check This function supports 3d and will not drop the z-index.

check This method supports Circular Strings and Curves

Examples

Move a point 1 degree longitude

    SELECT ST_AsText(ST_Translate(ST_GeomFromText('POINT(-71.01 42.37)',4326),1,0)) As wgs_transgeomtxt;

    wgs_transgeomtxt
    ---------------------
    POINT(-70.01 42.37)

Move a linestring 1 degree longitude and 1/2 degree latitude

SELECT ST_AsText(ST_Translate(ST_GeomFromText('LINESTRING(-71.01 42.37,-71.11 42.38)',4326),1,0.5)) As wgs_transgeomtxt;
           wgs_transgeomtxt
    ---------------------------------------
    LINESTRING(-70.01 42.87,-70.11 42.88)

Move a 3d point

SELECT ST_AsEWKT(ST_Translate(CAST('POINT(0 0 0)' As geometry), 5, 12,3));
    st_asewkt
    ---------
    POINT(5 12 3)

Move a curve and a point

SELECT ST_AsText(ST_Translate(ST_Collect('CURVEPOLYGON(CIRCULARSTRING(4 3,3.12 0.878,1 0,-1.121 5.1213,6 7, 8 9,4 3))','POINT(1 3)'),1,2));
                                                         st_astext
------------------------------------------------------------------------------------------------------------
 GEOMETRYCOLLECTION(CURVEPOLYGON(CIRCULARSTRING(5 5,4.12 2.878,2 2,-0.121 7.1213,7 9,9 11,5 5)),POINT(2 5))

See Also

Prev

Up

Next

ST_Scale

Home

ST_TransScale