ST_TRANSLATE
📄字数 870
👁️阅读量 加载中...
功能描述
按给定的偏移量平移几何图形。
语法格式
sql
GEOMETRY ST_TRANSLATE(GEOMETRY g1, DOUBLE deltax, DOUBLE deltay);
GEOMETRY ST_TRANSLATE(GEOMETRY g1, DOUBLE deltax, DOUBLE deltay, DOUBLE deltaz);参数说明
- g1:目标GEOMETRY对象。
- deltax:X偏移量。
- deltay:Y偏移量。
- deltaz:Z偏移量。
函数返回类型
GEOMETRY类型
使用说明
- 偏移单位基于该几何的空间参考(SRID)中定义的单位。
- 该函数支持3D对象,并且不会删除Z坐标。
- 该函数支持圆形字符串(CIRCULARSTRING)、曲线(CURVES)类型几何对象。
示例
将点移动1度经度:
sql
SQL> SELECT TO_CHAR(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度纬度:
sql
SQL> SELECT TO_CHAR(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点:
sql
SQL> SELECT TO_CHAR(ST_AsEWKT(ST_Translate(CAST('POINT(0 0 0)' As geometry), 5, 12,3)));
+---------------+
| EXPR1 |
+---------------+
| POINT(5 12 3) |
+---------------+移动曲线和点:
sql
SQL> SELECT TO_CHAR(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)));
+------------------------------------------------------------------------------------------------------------+
| EXPR1 |
+------------------------------------------------------------------------------------------------------------+
| GEOMETRYCOLLECTION(CURVEPOLYGON(CIRCULARSTRING(5 5,4.12 2.878,2 2,-0.121 7.1213,7 9,9 11,5 5)),POINT(2 5)) |
+------------------------------------------------------------------------------------------------------------+