ST_3DExtent — ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
box3d ST_3DExtent(
geometry set geomfield)
;
ST_3DExtentはジオメトリの集合を囲むbox3d(Z座標を含む)のバウンディングボックスを返します。ST_Extentは、PostgreSQL用語で言うところの「集計関数」です。SUM()やMEAN()と同じ方法でデータリストの操作を行うことを意味します。
バウンディングボックスを返しますが、空間単位はSRIDで示された空間参照系の単位です。
ST_3DExtentはバウンディングボックスを返しますが、SRIDメタデータは失います。ST_SetSRIDを使って、SRIDメタデータをジオメトリに強制的に戻します。座標値の単位は元のジオメトリの空間参照系の単位です。 |
機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
変更: 2.0.0 In prior versions this used to be called ST_Extent3D
この関数は3次元に対応しています。Zインデクスを削除しません。
このメソッドは曲線ストリングと曲線に対応しています
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網(TIN)に対応しています。
SELECT ST_3DExtent(foo.the_geom) As b3extent FROM (SELECT ST_MakePoint(x,y,z) As the_geom FROM generate_series(1,3) As x CROSS JOIN generate_series(1,2) As y CROSS JOIN generate_series(0,2) As Z) As foo; b3extent -------------------- BOX3D(1 1 0,3 2 2) --Get the extent of various elevated circular strings SELECT ST_3DExtent(foo.the_geom) As b3extent FROM (SELECT ST_Translate(ST_Force_3DZ(ST_LineToCurve(ST_Buffer(ST_MakePoint(x,y),1))),0,0,z) As the_geom FROM generate_series(1,3) As x CROSS JOIN generate_series(1,2) As y CROSS JOIN generate_series(0,2) As Z) As foo; b3extent -------------------- BOX3D(1 0 0,4 2 2)