ST_Translate — 依照給定的偏移量平移幾何物件。
geometry ST_Translate(
geometry g1, float deltax, float deltay)
;
geometry ST_Translate(
geometry g1, float deltax, float deltay, float deltaz)
;
傳回一個新的幾何物件,其座標會依照 delta x、delta y 和 delta z 單位平移。單位基於此幾何物件的空間參考 (SRID) 中定義的單位。
![]() |
|
在 1.3.4 之前的版本中,如果用於包含 CURVES 的幾何物件,此函數會崩潰。此問題已在 1.3.4+ 中修正。 |
可用性:1.2.2
此函數支援 3D,並且不會捨棄 z 索引。
此方法支援圓弧字串和曲線。
將點移動 1 度經度
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)
將線串移動 1 度經度及 1/2 度緯度
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)
移動 3D 點
SELECT ST_AsEWKT(ST_Translate(CAST('POINT(0 0 0)' As geometry), 5, 12,3)); st_asewkt --------- POINT(5 12 3)
移動曲線和點
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))