名前

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))
                

関連情報

ST_AsEWKT, ST_3DExtent, ST_SetSRID, ST_SRID