名稱

ST_RotateZ — 繞 Z 軸旋轉幾何物件。

概要

geometry ST_RotateZ(geometry geomA, float rotRadians);

描述

將幾何物件 geomA 繞 Z 軸旋轉 - rotRadians 弧度。

[Note]

這是 ST_Rotate 的同義詞。

[Note]

ST_RotateZ(geomA, rotRadians)SELECT ST_Affine(geomA, cos(rotRadians), -sin(rotRadians), 0, sin(rotRadians), cos(rotRadians), 0, 0, 0, 1, 0, 0, 0) 的簡寫。

增強功能:2.0.0 版本引入了對多面體表面、三角形和不規則三角網 (TIN) 的支援。

可用性:1.1.2 版本。在 1.2.2 版本中,名稱從 RotateZ 更改為 ST_RotateZ。

[Note]

在 1.3.4 版本之前,如果幾何物件包含曲線,則此函數會崩潰。此問題已在 1.3.4+ 版本中修復。

此函數支援 3D,並且不會捨棄 z 索引。

此方法支援圓形字串和曲線。

此函數支援多面體表面。

此函數支援三角形和不規則三角網表面 (TIN)。

範例

--Rotate a line 90 degrees along z-axis
SELECT ST_AsEWKT(ST_RotateZ(ST_GeomFromEWKT('LINESTRING(1 2 3, 1 1 1)'), pi()/2));
		 st_asewkt
---------------------------
 LINESTRING(-2 1 3,-1 1 1)

 --Rotate a curved circle around z-axis
SELECT ST_AsEWKT(ST_RotateZ(geom, pi()/2))
FROM (SELECT ST_LineToCurve(ST_Buffer(ST_GeomFromText('POINT(234 567)'), 3)) As geom) As foo;

													   st_asewkt
----------------------------------------------------------------------------------------------------------------------------
 CURVEPOLYGON(CIRCULARSTRING(-567 237,-564.87867965644 236.12132034356,-564 234,-569.12132034356 231.87867965644,-567 237))