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