ST_Extent3D — ジオメトリの三次元バウンディングボックスを返す集計関数です.
box3d ST_Extent3D(
geometry set geomfield)
;
ST_Extentは,ジオメトリの集合を囲む,Z軸を含むバウンディングボックスを返します.ST_Extentは,PostgreSQL用語で言うところの「集計関数」です.SUM()やMEAN()と同じ方法でデータリストの操作を行うことを意味します.
バウンディングボックスを返しますが,空間単位はSRIDで示された空間参照系の単位です.
ST_Extentはバウンディングボックスを返しますが,SRIDメタデータは失います.ST_SetSRIDを使って,SRIDメタデータをジオメトリに強制的に戻します.座標値の単位は元のジオメトリの空間参照系の単位です. |
この関数は三次元をサポートします.Zインデクスを削除しません.
このメソッドは曲線ストリングと曲線をサポートします.
SELECT ST_Extent3D(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_Extent3D(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)