ST_ForceSFS — Tvinga geometrier att använda geometrityper enligt SFS 1.1 eller 1.2.
geometry ST_ForceSFS(geometry geomA);
geometry ST_ForceSFS(geometry geomA, text version);
Tvingar en geometri att använda de geometrityper som definieras av den begärda versionen av OGC Simple Features Specification. Standardvärdet är SFS 1.1. Krökta geometrier omvandlas till linjära representationer, TRIANGLE omvandlas till POLYGON och TIN och POLYHEDRALSURFACE omvandlas till GEOMETRYCOLLECTION-värden som innehåller POLYGON-element.
Om version börjar med 1.2 omvandlas krökta geometrier fortfarande till linjära representationer, men TRIANGLE, TIN och POLYHEDRALSURFACE bevaras. Andra versionsvärden använder standardbeteendet för SFS 1.1. Geometrisamlingar bearbetas rekursivt och SRID samt Z/M-koordinater bevaras.
Tillgänglighet: 2.1.0
Denna funktion stöder polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
Denna metod stöder cirkulära strängar och kurvor.
Denna funktion stöder 3d och kommer inte att tappa z-index.
Jämför geometrityperna som skapas för SFS 1.1 (standard) och SFS 1.2. Läs varje rad från indatatypen i riktning mot resultatkolumnerna.
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)