ST_ROTATEZ
📄字数 716
👁️阅读量 加载中...
功能描述
将几何体围绕Z轴逆时针旋转指定角度。
语法格式
sql
GEOMETRY ST_ROTATEZ(GEOMETRY geomA, DOUBLE rotRadians);提示
ST_RotateZ(geomA, rotRadians)是SELECT ST_Affine(geomA, cos(rotRadians), -sin(rotRadians), 0, sin(rotRadians), cos(rotRadians), 0, 0, 0, 1, 0, 0, 0)的简写。
参数说明
- geomA:目标GEOMETRY对象。
- rotRadians:旋转角度。
函数返回类型
GEOMETRY类型
使用说明
- 该函数支持3D对象,并且不会删除Z坐标。
- 该函数支持圆形字符串(CIRCULARSTRING)、曲线(CURVES)、多面体表面(POLYHEDRALSURFACE)、三角形(TRIANGLE)、不规则三角形格网(Triangulated Irregular Network,TIN)类型几何对象。
示例
线串围绕Z轴逆时针旋转90°:
sql
SQL> SELECT TO_CHAR(ST_AsEWKT(ST_RotateZ(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), pi()/2)));
+---------------------------+
| EXPR1 |
+---------------------------+
| LINESTRING(-2 1 3,-1 1 1) |
+---------------------------+圆形字符串围绕Z轴逆时针旋转90°:
sql
SQL> SELECT TO_CHAR(ST_AsEWKT(ST_RotateZ(geom, pi()/2)))
FROM (SELECT ST_LineToCurve(ST_Buffer(ST_GeomFromText('POINT(234 567)'), 3)) As geom) As foo;
+-------------------------------------------------------------------------------------------------------+
| EXPR1 |
+-------------------------------------------------------------------------------------------------------+
| CURVEPOLYGON(CIRCULARSTRING(-567 237.00000000000003,-567 231.00000000000003,-567 237.00000000000003)) |
+-------------------------------------------------------------------------------------------------------+