ST_Extent — ジオメトリのバウンディングボックスを返す集約関数です。
box2d ST_Extent(
geometry set geomfield)
;
ST_Extentは、ジオメトリの集合を囲むバウンディングボックスを返します。ST_Extentは、PostgreSQL用語で言うところの「集約関数」です。SUM()やMEAN()と同じ方法でデータリストの操作を行うことを意味します。
バウンディングボックスを返しますが、空間単位はSRIDで示された空間参照系の単位です。
ST_ExtentはOracle Spatial/LocatorのSDO_AGGR_MBRと似た発想のものです。
ST_Extentはバウンディングボックスを返しますが、SRIDメタデータは失います。ST_SetSRIDを使って、SRIDメタデータをジオメトリに強制的に戻します。座標値の単位は元のジオメトリの空間参照系の単位です。 |
ST_Extentは(X,Y,Z)を持っていても、X値とY値のボックスを返します。X,Y,Zを維持するにはST_Extent3Dを使います。 |
Availability: 1.4.0 |
Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
This function supports Polyhedral surfaces.
This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
次に示す例では、フィート単位のマサチューセッツ州平面 (SRID=2249)を使っています。 |
SELECT ST_Extent(the_geom) as bextent FROM sometable; st_bextent ------------------------------------ BOX(739651.875 2908247.25,794875.8125 2970042.75) -- ジオメトリの各カテゴリの範囲を返します SELECT ST_Extent(the_geom) as bextent FROM sometable GROUP BY category ORDER BY category; bextent | name ----------------------------------------------------+---------------- BOX(778783.5625 2951741.25,794875.8125 2970042.75) | A BOX(751315.8125 2919164.75,765202.6875 2935417.25) | B BOX(739651.875 2917394.75,756688.375 2935866) | C -- ジオメトリに強制的戻し、ジオメトリのEWKT表現を表示します SELECT ST_SetSRID(ST_Extent(the_geom),2249) as bextent FROM sometable; bextent -------------------------------------------------------------------------------- SRID=2249;POLYGON((739651.875 2908247.25,739651.875 2970042.75,794875.8125 2970042.75, 794875.8125 2908247.25,739651.875 2908247.25))