Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_TRANSSCALE

📄字数 698
👁️阅读量 加载中...

功能描述

将几何对象的坐标值偏移指定的数值和因子,使用参数deltaX和deltaY平移,再使用XFactor和YFactor缩放。仅支持2D对象(X和Y坐标)。

语法格式

sql
GEOMETRY ST_TRANSSCALE(GEOMETRY geomA, DOUBLE deltaX, DOUBLE deltaY, DOUBLE XFactor, DOUBLE YFactor);

提示

ST_TransScale(geomA, deltaX, deltaY, XFactor, YFactor)ST_Affine(geomA, XFactor, 0, 0, 0, YFactor, 0, 0, 0, 1, deltaX*XFactor, deltaY*YFactor, 0)的简写。

参数说明

  • geomA:目标GEOMETRY对象。
  • deltax:X偏移量。
  • deltay:Y偏移量。
  • XFactor:X缩放因子。
  • YFactor:Y缩放因子。

函数返回类型

GEOMETRY类型

使用说明

  • 该函数支持3D对象,并且不会删除Z坐标。
  • 该函数支持圆形字符串(CIRCULARSTRING)、曲线(CURVES)类型几何对象。

示例

移动并缩放LINESTRING。

sql
SQL> SELECT TO_CHAR(ST_AsEWKT(ST_TransScale(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), 0.5, 1, 1, 2)));

+-----------------------------+
|            EXPR1            |
+-----------------------------+
| LINESTRING(1.5 6 3,1.5 4 1) |
+-----------------------------+

移动并缩放Curve。

sql
SQL> SELECT TO_CHAR(ST_AsText(ST_Transscale(ST_LineToCurve(ST_Buffer('POINT(234 567)', 3)),1,2,3,4)));

+----------------------------------------------------------+
|                          EXPR1                           |
+----------------------------------------------------------+
| CURVEPOLYGON(CIRCULARSTRING(714 2276,696 2276,714 2276)) |
+----------------------------------------------------------+