ST_ForceSFS — ジオメトリーを SFS 1.1 または 1.2 のジオメトリータイプに強制します。
geometry ST_ForceSFS(geometry geomA);
geometry ST_ForceSFS(geometry geomA, text version);
ジオメトリーを OGC Simple Features Specification の指定したバージョンで定義されているジオメトリータイプを使うよう強制します。デフォールトは SFS 1.1. 曲線ジオメトリーは直線表現に変換され、TRIANGLE は POLYGON に変換され、TIN と POLYHEDRALSURFACE は GEOMETRYCOLLECTION とし、要素として POLYGON を入れます。
version が 1.2 で始まる場合には、曲線ジオメトリーはなお直線表現に変換されますが、TRIANGLE、TIN、POLYHEDRALSURFACE は維持されます。他のバージョン値ではデフォルトの SFS 1.1 を使います。ジオメトリーコレクションは再帰的に処理され、SRID と Z値、M値 は維持されます。
Availability: 2.1.0
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
このメソッドは曲線ストリングと曲線に対応しています。
この関数は3次元に対応し、Z値を削除しません。
SFS 1.1 (デフォルト) と SFS 1.2 で生成したジオメトリータイプ。それぞれの行を入力タイプから結果カラムに向いて読みます。
WITH inputs(geom) AS (VALUES
('CIRCULARSTRING(0 0, 1 1, 2 0)'::geometry),
('TRIANGLE((0 0, 0 2, 2 0, 0 0))'::geometry),
('TIN(((0 0, 0 2, 2 0, 0 0)))'::geometry),
('POLYHEDRALSURFACE(((0 0, 0 2, 2 0, 0 0)))'::geometry)
)
SELECT ST_GeometryType(geom) || ' →' AS input,
ST_GeometryType(ST_ForceSFS(geom)) AS "SFS 1.1 (default)",
ST_GeometryType(ST_ForceSFS(geom, '1.2')) AS "SFS 1.2"
FROM inputs;
input | SFS 1.1 (default) | SFS 1.2 ------------------------+-----------------------+---------------------- ST_CircularString → | ST_LineString | ST_LineString ST_Triangle → | ST_Polygon | ST_Triangle ST_Tin → | ST_GeometryCollection | ST_Tin ST_PolyhedralSurface → | ST_GeometryCollection | ST_PolyhedralSurface (4 rows)