CG_ForceLHR — 强制 LHR 方向
geometry CG_ForceLHR(geometry geom);
Returns an equivalent geometry whose polygonal components follow the left-hand rule: exterior rings are counter-clockwise and interior rings are clockwise. Rings are reversed as needed; coordinates and dimensionality are preserved. The input must be valid.
可用性:3.5.0
该方法需要SFCGAL后端。
该函数支持 3d 并且不会丢失 z-index。
该函数支持多面体曲面。
此函数支持三角形和不规则三角网面 (TIN)。
Reorient a polygon and its hole to the left-hand rule.
WITH data AS (
SELECT 'POLYGON((0 0,0 4,4 4,4 0,0 0),
(1 1,3 1,3 3,1 3,1 1))'::geometry AS geom
)
SELECT geom AS input_polygon,
CG_ForceLHR(geom) AS lhr_polygon,
ST_IsPolygonCCW(geom) AS input_is_lhr,
ST_IsPolygonCCW(CG_ForceLHR(geom)) AS output_is_lhr
FROM data;
POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,3 1,3 3,1 3,1 1)) | POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1,1 3,3 3,3 1,1 1)) | f | t