名称

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) 中定义的单位。

[Note]

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

另请参见

ST_AffineST_AsTextST_GeomFromText