次に示す関数は,PostGISが提供する,sumやaverageのような他のSQL集計関数とにている,空間集計関数です.
次に示す関数は,SQL/MM 3 標準に対応したPostGIS関数です.
![[注意]](images/note.png) | |
---|
SQL-MMでは,全てのジオメトリコンストラクタのデフォルトSRIDは0となっています.PostGISはデフォルトを-1としています.
|
次に示す関数と演算子は入力または出力にgeographyデータ型を扱うPostGIS関数/演算子です.
![[注意]](images/note.png) | |
---|
(T)の付いた関数はネイティブなジオグラフィ関数ではなく,実行時にST_Transformを使ってジオメトリとの変換を行います.結果として,日付変更線や極を超えたり,ひとつのUTMゾーンではカバーできない巨大なジオメトリを使用する場合に,予期しないふるまいが発生することがあります.基本的な変換としては,UTMが望ましいですが,ランベルト正積方位図法(北/南),最悪のシナリオでメルカトルに頼ります.
|
- ST_Area - ポリゴンまたはマルチポリゴンの場合にはサーフェスの面積を返します.ジオメトリ型の面積はSRIDに基づく単位で,ジオグラフィ型の面積は平方メートルです.
- ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します.
- ST_AsGML - GML第2版または第3版としてジオメトリを返します.
- ST_AsGeoJSON - GeoJSON要素としてジオメトリを返します.
- ST_AsKML - ジオメトリをKML要素で返します.いくつかの形式があります.デフォルトはversion=2, precision=15です.
- ST_AsSVG - ジオメトリまたはジオグラフィで与えられたSVGパスデータによるジオメトリを返します.
- ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します.
- ST_Buffer - (T) ジオメトリ: このジオメトリからの距離が指定された距離以下となるポイント全てを表現するジオメトリを返します.計算は,ジオメトリの空間参照系で行われます.ジオグラフィ: 平面変換ラッパを使います.形状制御のために異なる終端キャップと継ぎ目の設定のサポートが1.5で導入されました.buffer_styleオプションは,quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.# となります.
- ST_CoveredBy - ジオメトリ/ジオグラフィAの点がジオメトリ/ジオグラフィBの外に無い場合に,1(TRUE)を返します.
- ST_Covers - ジオメトリBにジオメトリAの外となるポイントが無い場合には,1(TRUE)を返します.
- ST_DWithin - ジオメトリが,指定したジオメトリから指定した距離内にある場合に,TRUEを返します.ジオメトリについては,距離は空間参照系で定義されている単位になります.ジオグラフィについては,メートル単位で,デフォルトではuse_spheroid=true(回転楕円体を使った計算)となり,速いチェックをするにはuse_spheroid=falseとして球面を使って計算します.
- ST_Distance - ジオメトリ型については,二つのジオメトリの,二次元の最小デカルト距離(空間参照系に基づきます)を,投影された単位で返します. ジオグラフィ型については,デフォルトでは,二つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します.
- ST_GeogFromText - Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します.
- ST_GeogFromWKB - Well-Known Binaryジオメトリ表現(WKB)または拡張WKB(EWKB)からジオグラフィインスタンスを生成します.
- ST_GeographyFromText - Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します.
- = - Aのバウンダリボックスが,Bのバウンダリボックスと同じ場合にTRUEを返します.
- && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します.
- ~= - AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します.
- ST_Intersection - (T) geomAとgeomBの共有部分を表すジオメトリを返します.ジオグラフィ実装では,インタセクトするためにジオメトリに変換して,WGS84に戻します.
- ST_Intersects - ジオメトリ/ジオグラフィが「空間的にインタセクトする」(空間に共有部分がある)場合には,TRUEを返します.そうでない(非接続)場合はFALSEを返します.ジオグラフィ -- 許容量は0.00001メートルです(どの閉じた点でもインタセクトを考慮されます).
- ST_Length - LINESTRINGまたはMULTILINESTRINGの場合に,ジオメトリの二次元長を返します.ジオメトリでは,単位は空間参照系の単位です.ジオグラフィでは,メートル単位です(デフォルトの回転楕円体)
次に示す関数は,PostGIS空間型の中のbox系を扱うPostGIS関数です.ボックス系にはbox2d, box3d, box3d_extentがあります.
- Box2D - ジオメトリの最大範囲を表すBOX2Dを返します.
- Box3D - ジオメトリの最大範囲を表すBOX3Dを返します.
- ST_Estimated_Extent - 与えられた空間テーブルの「見積もられた」範囲を返します.ジオメトリカラムの統計情報から見積もります.指定されていない場合は現在のスキーマが使われます.
- ST_Expand - 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します.倍精度浮動小数点数を使います.
- ST_Extent - ジオメトリのバウンディングボックスを返す集計関数です.
- ST_Extent3D - ジオメトリの三次元バウンディングボックスを返す集計関数です.
- ST_MakeBox2D - 与えられたポイントジオメトリから定義されるBOX2Dを生成します.
- ST_MakeBox3D - 与えられた三次元ポイントジオメトリから定義されるBOX3Dを生成します.
- ST_XMax - 二次元,三次元ジオメトリのバウンダリボックスのX最大値を返します.
- ST_XMin - 二次元,三次元ジオメトリのバウンダリボックスのX最小値を返します.
- ST_YMax - 二次元,三次元ジオメトリのバウンダリボックスのY最大値を返します.
- ST_YMin - 二次元,三次元ジオメトリのバウンダリボックスのY最小値を返します.
- ST_ZMax - 二次元,三次元ジオメトリのバウンダリボックスのZ最大値を返します.
- ST_ZMin - 二次元,三次元ジオメトリのバウンダリボックスのZ最小値を返します.
次に示す関数はZインデクスを放り出さないPostGIS関数です.
8.7.
PostGIS曲線ジオメトリサポート関数
次に示す関数は,CIRCULARSTRING, CURVEDPOLYGON等の曲線ジオメトリ型が使えるPostGIS関数です.
次に示すのは,アルファベット順に並べたPostGIS空間関数と,動作する空間タイプの種類,対応しようとしてOGC/SQL準拠を示しています.
は,ネイティブで,その型と派生型とに対応しています.
は,
動作しますが,
ジオメトリにキャストして「最善のSRID」に投影変換したうえでジオグラフィに戻す,ビルトイン変換キャストを使います.
大きな面積の領域や,極にある領域についてゃ,予期しない結果になることがありますし,浮動小数点数のごみを蓄積することがあります.
は,直接的なサポートでなくbox3dへの変換といった他からの自動キャストで動作します.
8.9.1.
PostGIS 1.5で新しくできた関数,ふるまいが変わった関数,機能強化された関数
次に示す関数は,今回のメジャーリリースで導入または強化されたPostGIS関数です.
- ST_GMLToSQL - Availability: 1.5 GML表現から指定したST_Geometry値を返します.これはST_GeomFromGMLの別名です.
- ST_GeomFromKML - Availability: 1.5 ジオメトリのKML表現の入力をとり,PostGISジオメトリオブジェクトを出力します.
- ST_Length - Availability: 1.5.0 geography support was introduced in 1.5. LINESTRINGまたはMULTILINESTRINGの場合に,ジオメトリの二次元長を返します.ジオメトリでは,単位は空間参照系の単位です.ジオグラフィでは,メートル単位です(デフォルトの回転楕円体)
8.9.2.
PostGIS 1.4で新しくできた関数,ふるまいが変わった関数,機能強化された関数
次に示す関数は,1.4リリースで導入または強化されたPostGIS関数です.
8.9.3.
PostGIS 1.3で新しくできた関数
次に示す関数は,1.3リリースで導入されたPostGIS関数です.