CG_ForceLHR — LHR (Left Hand Rule) 方向に強制します。
geometry CG_ForceLHR(geometry geom);
ポリゴン系要素が左手規則に従う等価のジオメトリーを返します。この場合、外側リングは反時計回りで、内側リングは時計回りです。リングは必要に応じて逆順にします。座標と次元は維持されます。入力は妥当なものでなければなりません。
Availability: 3.5.0
このメソッドには SFCGAL バックエンドが必要です。
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN) に対応しています。
ポリゴンを左手規則に揃えなおす。
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