## 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`)`;

## 설명

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.

 1.3.4 미만 버전에서 이 함수에 만곡 도형(curve)을 담고 있는 도형을 입력하면 충돌이 일어났습니다. 1.3.4 버전부터 이 버그가 해결됐습니다.

1.2.2 버전부터 사용할 수 있습니다.

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

This method supports Circular Strings and Curves.

## 예시

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))
```