ST_Boundary — ジオメトリの境界を返します。
geometry ST_Boundary(geometry geomA);
ジオメトリの組み合わせ境界の閉包を返します (訳注: ラインストリングは端点、ポリゴンはエッジ、複合オブジェクトは境界のうち奇数番)。組み合わせ境界はOGC仕様の3.12.3.2節に記述されています。結果として出てくる境界は、OGC SPEC 3.12.2で議論されているように、ジオメトリプリミティブを使って表現できます。
GEOSモジュールで実現しています。
|
|
|
2.0.0より前の版では、この関数は |
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 OGC SPEC s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1.17
この関数は3次元に対応し、Z値を削除しません。
Enhanced: 2.1.0 三角対応が導入されました。
Changed: 3.2.0 TINに対応しました。GEOSを使いません。曲線を線形化しません。
LineString with boundary points overlaid.
SELECT ST_Boundary(geom)
FROM (SELECT 'LINESTRING(100 150,50 60,70 80,160 170)'::geometry As geom) As f;
MULTIPOINT((100 150),(160 170))
Polygon holes with the boundary MultiLineString overlaid.
SELECT ST_Boundary(geom)
FROM (SELECT
'POLYGON (( 10 130,50 190,110 190,140 150,150 80,100 10,20 40,10 130 ),
( 70 40,100 50,120 80,80 110,50 90,70 40 ))'::geometry As geom) As f;
MULTILINESTRING((10 130,50 190,110 190,140 150,150 80,100 10,20 40,10 130),
(70 40,100 50,120 80,80 110,50 90,70 40))
SELECT ST_Boundary('LINESTRING(1 1,0 0,-1 1)');
MULTIPOINT((1 1),(-1 1))
SELECT ST_Boundary('POLYGON((1 1,0 0,-1 1,1 1))');
LINESTRING(1 1,0 0,-1 1,1 1)
この例では3次元ポリゴンを使用しています。
SELECT ST_Boundary('POLYGON((1 1 1,0 0 1,-1 1 1,1 1 1))');
LINESTRING(1 1 1,0 0 1,-1 1 1,1 1 1)
この例では3次元マルチラインストリングを使用しています。
SELECT ST_Boundary('MULTILINESTRING((1 1 1,0 0 0.5,-1 1 1),(1 1 0.5,0 0 0.5,-1 1 0.5,1 1 0.5) )');
MULTIPOINT(1 1 1,-1 1 1)