ST_Extent — ジオメトリのバウンディングボックスを返す集計関数です。
box2d ST_Extent(
geometry set geomfield)
;
ST_Extentは、ジオメトリの集合を囲むバウンディングボックスを返します。ST_Extentは、PostgreSQL用語で言うところの「集計関数」です。SUM()やMEAN()と同じ方法でデータリストの操作を行うことを意味します。
バウンディングボックスを返しますが、空間単位はSRIDで示された空間参照系の単位です。
ST_ExtntはOracle Spatial/LocatorのSDO_AGGR_MBRと似た発想のものです。
ST_Extentはバウンディングボックスを返しますが、SRIDメタデータは失います。ST_SetSRIDを使って、SRIDメタデータをジオメトリに強制的に戻します。座標値の単位は元のジオメトリの空間参照系の単位です。 |
ST_Extentは(X,Y,Z)を持っていても、X値とY値のボックスを返します。X,Y,Zを維持するにはST_Extent3Dを使います。 |
初出: 1.4.0 |
機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網(TIN)に対応しています。
Examples below use Massachusetts State Plane ft (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))