Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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