名前

ST_Extent — ジオメトリのバウンディングボックスを返す集計関数です.

概要

box3d_extent 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 からbox2dの代わりにbox3d_extentを返します.

[注意]

次に示す例では,フィート単位マサチューセッツ州平面(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

 --ジオメトリに戻し,ジオメトリの拡張文字列表現を表示
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_Extent3D, ST_SetSRID, ST_SRID