第13章 PostGIS空間関数索引

目次

13.1. PostGIS集計関数
13.2. PostGIS SQL-MM対応関数
13.3. PostGISジオグラフィ対応関数
13.4. PostGISラスタ対応関数
13.5. PostGISジオメトリ/ジオグラフィ/ラスタダンプ関数
13.6. PostGISボックス関数
13.7. 3次元対応PostGIS関数
13.8. PostGIS曲線ジオメトリ対応関数
13.9. PostGIS多面体サーフェス対応関数
13.10. PostGIS関数対応マトリクス
13.11. 新規作成/機能強化/変更されたPostGIS関数
13.11.1. PostGIS 2.0で新規作成/機能強化/変更された関数
13.11.2. PostGIS 2.0での関数の挙動変更
13.11.3. PostGIS 1.5で新規作成/機能強化/挙動変更された関数
13.11.4. PostGIS 1.4で新規作成/機能強化/挙動変更された関数
13.11.5. PostGIS 1.3で新規作成された関数

13.1. PostGIS集計関数

次に示す関数は、PostGISが提供する、sumやaverageのような他のSQL集計関数と同じような、空間集計関数です。

  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_Accum - 集計関数です。ジオメトリの配列を生成します。
  • ST_Collect - 他のジオメトリのコレクションから、指定したST_Geometry値を返します。
  • ST_Extent - ジオメトリのバウンディングボックスを返す集計関数です。
  • ST_MakeLine - ポイントまたはラインジオメトリからラインストリングを生成します。
  • ST_MemUnion - ST_Unionと同じですが、メモリフレンドリ(少ないメモリ使用、多いCPU時間)です。
  • ST_Polygonize - 集計関数。ジオメトリの集合のラインから形成されうるポリゴンを含むジオメトリコレクションを生成します。
  • ST_Union - ジオメトリの結合の点集合を表現するジオメトリを返します。
  • ST_Union - ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
  • ST_Union - ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
  • ST_Union - ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
  • TopoElementArray_Agg - lement_idとタイプの配列(topoelements)からなるtopoelementarrayを返します。

13.2. PostGIS SQL-MM対応関数

次に示す関数は、SQL/MM 3標準に対応したPostGIS関数です。

  • ST_3DDWithin - 3次元(XYZ)ジオメトリ型について、2つのジオメトリの3次元距離が指定した数の内にある場合にtrueを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM ?
  • ST_3DDistance - ジオメトリ型について、2つのジオメトリの、3次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM ?
  • ST_3DIntersects - ジオメトリが3次元で「空間的にインタセクトする」場合にTRUEを返します。ポイントとラインストリングのみで動作します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: ?
  • ST_AddEdgeModFace - 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを編集し、1つのフェイスを追加します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.13
  • ST_AddEdgeNewFaces - 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを削除して、分割した2つのフェイスに置き換えます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.12
  • ST_AddIsoEdge - anodeとanothernodeで指定される2つの既存孤立ノードを接続するトポロジに、ジオメトリaliestringで定義される孤立エッジを追加し、新しいエッジの識別番号を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.4
  • ST_AddIsoNode - フェイスに孤立ノードを追加し、新しいノードの識別番号を返します。フェイスがNULLの場合でもノードは生成されます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Net Routines: X+1.3.1
  • ST_Area - ポリゴンまたはマルチポリゴンの場合にはサーフェスの面積を返します。ジオメトリ型の「面積」はSRIDに基づく単位で、ジオグラフィ型の面積は平方メートルです。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.2, 9.5.3
  • ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.37
  • ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.25
  • ST_Boundary - ジオメトリの組み合わせ境界の閉包を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.14
  • ST_Buffer - (T) ジオメトリ: このジオメトリからの距離が指定された距離以下となるポイント全てを表現するジオメトリを返します。計算は、ジオメトリの空間参照系で行われます。ジオグラフィ: 平面変換ラッパを使います。形状制御のために異なる終端キャップと継ぎ目の設定のサポートが1.5で導入されました。buffer_styleオプションは、quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.# となります。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.17
  • ST_Centroid - ジオメトリの幾何学的重心を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.4, 9.5.5
  • ST_ChangeEdgeGeom - Cトポロジ構造に影響を与えることなくエッジの形状を変更します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details X.3.6
  • ST_Contains - BのポイントがAの外部に無く、かつBの内部の少なくとも1つの点がAの内部にある場合に限って、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.31
  • ST_ConvexHull - 凸包は与えられた集合の全てのジオメトリを含む最小の閉じた凸ジオメトリです。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.16
  • ST_CoordDim - ST_Geometry値の座標次元を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.3
  • ST_CreateTopoGeo - 空のトポロジにジオメトリのコレクションを追加し、成否を示すメッセージを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details -- X.3.18
  • ST_Crosses - 与えられたジオメトリが共通の内部の点を持ち、かつそうでない点を持つ場合に、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.29
  • ST_CurveToLine - CIRCULARSTRING/CURVEPOLYGONをLINESTRING/POLYGONに変換します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.7
  • ST_Difference - ジオメトリBにインタセクトしないジオメトリAの部分を表現するジオメトリを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.20
  • ST_Dimension - ジオメトリの固有次元を返します。座標次元以下でなければなりません。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.2
  • ST_Disjoint - ジオメトリが「空間的にインタセクトしていない」すなわち、空間を共有ししていない場合に、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.26
  • ST_Distance - ジオメトリ型については、2つのジオメトリの、2次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。ジオグラフィ型については、デフォルトでは、2つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.23
  • ST_EndPoint - LINESTRINGの最後のポイントをPOINTで返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.4
  • ST_Envelope - ジオメトリの浮動小数点数(float8)バウンディングボックスを表現するジオメトリを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.15
  • ST_Equals - 与えられたジオメトリ表現が同じ場合にはTRUEを返します。方向は無視されます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.24
  • ST_ExteriorRing - POLYGONの外環を表現するラインストリングを返します。ジオメトリがポリゴンでない場合はNULLを返します。マルチポリゴンでは動作しません。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.3, 8.3.3
  • ST_GMLToSQL - GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.50 (except for curves support).
  • ST_GeomCollFromText - ジオメトリのコレクションをWKTのコレクションと与えられたSRIDから生成します。SRIDが与えられていない場合は-1とします。 このメソッドはSQL/MM仕様の実装です。
  • ST_GeomFromText - Well-Known Text表現(WKT)から指定したST_Geometryを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.40
  • ST_GeomFromWKB - Well-Knwon Binaryジオメトリ表現(WKB)と任意パラメタのSRIDからジオメトリインスタンスを生成します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.41
  • ST_GeometryFromText - Well-Knwon Text表現(WKT)から指定したST_Geometry値を返します。これはST_GeomFromTextの別名です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.40
  • ST_GeometryN - GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGONの場合には、1はじまりでN番目のジオメトリを返します。それ以外の場合にはNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.1.5
  • ST_GeometryType - ST_Geometry値のジオメトリ型を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.4
  • ST_GetFaceEdges - 順序番号を含む、afaceの境界となる、整列したエッジの集合を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 Topo-Geo and Topo-Net 3: Routine Details: X.3.5
  • ST_GetFaceGeometry - 指定されたトポロジの中の、フェイス識別番号で指定されたポリゴンを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 Topo-Geo and Topo-Net 3: Routine Details: X.3.16
  • ST_InitTopoGeo - 新しいトポロジスキーマを生成し、topology.topologyテーブルに新しいスキーマを登録し、処理の概要を表示します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 Topo-Geo and Topo-Net 3: Routine Details: X.3.17
  • ST_InteriorRingN - ポリゴンのN番目の内環を返します。ジオメトリがポリゴンでないかNが範囲外の場合はNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.6, 8.3.5
  • ST_Intersection - (T) geomAとgeomBの共有部分を表すジオメトリを返します。ジオグラフィ実装では、インタセクトするためにジオメトリに変換して、WGS84に戻します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.18
  • ST_Intersects - ジオメトリ/ジオグラフィが「2次元空間で空間的にインタセクトする」(空間に共有部分がある)場合には、TRUEを返します。そうでない(非接続)場合はFALSEを返します。ジオグラフィについては、許容量は0.00001メートルです(どの閉じた点でもインタセクトを考慮されます)。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.27
  • ST_IsClosed - LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスの場合は閉じています(ボリュームです)。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.5, 9.3.3
  • ST_IsEmpty - ジオメトリが、空のジオメトリコレクション、ポリゴン、ポイント等の場合に、trueを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.7
  • ST_IsRing - LINESTRINGが閉じていて、かつ単純である場合にTRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.6
  • ST_IsSimple - ジオメトリが自己インタセクションや自己接触のような異常な幾何学ポイントを持っていない場合にTRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.8
  • ST_IsValid - ST_Geometryが整形されている場合にtrueを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.9
  • ST_Length - LINESTRINGまたはMULTILINESTRINGの場合に、ジオメトリの2次元長を返します。ジオメトリでは、単位は空間参照系の単位です。ジオグラフィでは、メートル単位です(回転楕円体がデフォルトです)。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.2, 9.3.4
  • ST_LineFromText - WKT表現と与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は-1(不明)となります。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.8
  • ST_LineFromWKB - WKB表現と与えられたSRIDからLINESTRINGを生成します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.9
  • ST_LinestringFromWKB - WKB表現と与えられたSRIDからジオメトリを生成します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.9
  • ST_M - ポイントのM座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。 このメソッドはSQL/MM仕様の実装です。
  • ST_MLineFromText - WKT表現から指定したST_MultiLineString値を返します。 このメソッドはSQL/MM仕様の実装です。SQL-MM 3: 9.4.4
  • ST_MPointFromText - Well-Known Text(WKT)表現と与えられたSRIDからジオメトリを生成します。SRIDを与えない場合は-1(不明)となります。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.2.4
  • ST_MPolyFromText - Well-Known Text(WKT)表現と与えられたSRIDからマルチポリゴンを生成します。SRIDを与えない場合は-1(不明)となります。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.6.4
  • ST_ModEdgeHeal - 2つのエッジについて、接続しているノードを削除して修復します。1番目のエッジを編集して、2番目のエッジを削除します。削除されたノードの識別番号を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.9
  • ST_ModEdgeSplit - 既存のエッジに沿って新しいノードを生成してエッジを分割します。もとのエッジは変更され、エッジが1つ追加されます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.9
  • ST_MoveIsoNode - トポロジ内の孤立ノードを別の位置に移動させます。新しい apointジオメトリがノードとして存在しているなら、エラーが投げられます。移動に関する記述を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Net Routines: X.3.2
  • ST_NewEdgeHeal - 2つのエッジについて、接続しているノードを削除して修復します。両方のエッジを削除し、1番目のエッジと同じ方向のエッジに置き換えます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.9
  • ST_NewEdgesSplit - 新しいノードを既存のエッジに沿って作成して、エッジを分割します。もとのエッジは削除され、2つのエッジに置き換えられます。2つの新しいエッジに接続する新しいノードの識別番号を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Net Routines: X.3.8
  • ST_NumGeometries - ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.1.4
  • ST_NumInteriorRing - ジオメトリの最初のポリゴンの内環の数を返します。ST_NumInteriorRingsと同義です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.5
  • ST_NumInteriorRings - ジオメトリの最初のポリゴンの内環数を返します。この関数はポリゴンとマルチポリゴンの両方で動作しますが、最初のポリゴンしか見ません。ジオメトリにポリゴンが存在しない場合はNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.5
  • ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: ?
  • ST_NumPoints - ST_LineStringまたはST_CircularStringのポイント数を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.4
  • ST_OrderingEquals - 与えられたジオメトリが同じジオメトリを示し、ポイントの順序が同じである場合に、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.43
  • ST_Overlaps - ジオメトリが共有空間を持ち、同じ次元で、かつ完全には一方に含まれていない場合に、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.32
  • ST_PatchN - ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: ?
  • ST_Perimeter - ST_SrrfaceまたはST_MultiSurface(POLYGONまたはMULTIPOLYGON)の境界の長さの計測値を返します。ジオメトリの単位は空間参照系によります。ジオグラフィはメートル単位になります。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.3, 9.5.4
  • ST_Point - 与えられた座標値のST_Pointを返します。ST_MakePointのOGC別名です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.2
  • ST_PointFromText - WKTと与えられたSRIDからポイントジオメトリを生成します。SRIDが与えられていない場合は-1(不明)とします。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.8
  • ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.9
  • ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。ラインストリングが存在しない場合はNULLを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.5, 7.3.5
  • ST_PointOnSurface - サーフェス上にあることを保障されたPOINTを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.5, 9.5.6. According to the specs, ST_PointOnSurface works for surface geometries (POLYGONs, MULTIPOLYGONS, CURVED POLYGONS). So PostGIS seems to be extending what the spec allows here. Most databases Oracle,DB II, ESRI SDE seem to only support this function for surfaces. SQL Server 2008 like PostGIS supports for all common geometries.
  • ST_Polygon - 指定されたラインストリングとSRIDからポリゴンを生成します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.3.2
  • ST_PolygonFromText - WKTと与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は-1(不明)とします。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.3.6
  • ST_Relate - intersectionMatrixPatternの値について、2つのジオメトリの内部、境界、外部のインタセクションを見て、指定したジオメトリがもうひとつのジオメトリと空間的に関係している場合に、TRUEを返します。intersectionMatrixPatternが無い場合には、2ジオメトリについての最大のintersectionMatrixPatternを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.25
  • ST_RemEdgeModFace - エッジを削除し、削除対象エッジでフェイスが2つに分割されているなら、両方の空間をとるため、ひとつを削除して、もうひとつを編集します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.15
  • ST_RemEdgeNewFace - エッジを削除し、消去対象エッジでフェイスが2つに分割されているなら、分割されているフェイスを削除し、1つのフェイスに置き換えます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.14
  • ST_RemoveIsoNode - 孤立ノードを削除し、実行結果が返されます。ノードが孤立していない(エッジの始端または終端である)場合、例外が投げられます。 このメソッドはSQL/MM仕様の実装です。 SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X+1.3.3
  • ST_SRID - ST_Geometryのspatial_ref_sysテーブルで定義されている空間参照系の識別番号を返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.5
  • ST_StartPoint - LINESTRINGの最初のポイントをPOINTとして返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.3
  • ST_SymDifference - AとBの、インタセクトしていない部分を表現するジオメトリを返します。対称と呼ばれるのは、ST_SymDifference(A,B) = ST_SymDifference(B,A) となるからです。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.21
  • ST_Touches - ジオメトリが共通のポイントを少なくとも1つ持ち、内部でインタセクトしない場合に、TRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.28
  • ST_Transform - 整数パラメータで参照されるSRIDに座標変換し、新しいジオメトリを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.6
  • ST_Union - ジオメトリの結合の点集合を表現するジオメトリを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.19 the z-index (elevation) when polygons are involved.
  • ST_WKBToSQL - Well-Known Binary表現(WKB)からST_Geometry値を生成します。これはSRIDを取らないST_GeomFromWKBの別名です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.36
  • ST_WKTToSQL - Well-Known Text表現(WKT)からST_Geometry値を生成します。これはSRIDを取らないST_GeomFromTextの別名です。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.34
  • ST_Within - ジオメトリAが完全にジオメトリBの内側にある場合にTRUEを返します。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.30
  • ST_X - ポイントのX座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.3
  • ST_Y - ポイントのY座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。 このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.4
  • ST_Z - ポイントのZ座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。 このメソッドはSQL/MM仕様の実装です。

13.3. PostGISジオグラフィ対応関数

次に示す関数と演算子は入力または出力にgeographyデータ型を扱うPostGIS関数/演算子です。

[注記]

(T)の付いた関数はネイティブなジオグラフィ関数ではなく、実行時にST_Transformを使ってジオメトリとの変換を行います。結果として、日付変更線や極を超えたり、ひとつのUTMゾーンではカバーできない巨大なジオメトリを使用する場合に、予期しない挙動になることがあります。基本的な変換としては、UTMが望ましいですが、ランベルト正積方位図法(北/南)、最悪のシナリオでメルカトルに頼ります。

  • ST_Area - ポリゴンまたはマルチポリゴンの場合にはサーフェスの面積を返します。ジオメトリ型の「面積」はSRIDに基づく単位で、ジオグラフィ型の面積は平方メートルです。
  • ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text(WKT)表現を返します。
  • 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_Azimuth - pointAとPointBで定義されるベクタの、水平面での方位をラジアン単位で返します。方位は時計回りで、前半は下向き方向で後半は上向き方向になります。時計でいうと12=0; 3=PI/2; 6=PI; 9=3PI/4となります。
  • 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 - ジオメトリ型については、2つのジオメトリの、2次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。ジオグラフィ型については、デフォルトでは、2つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します。
  • ST_GeogFromText - Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します。
  • ST_GeogFromWKB - Well-Known Binaryジオメトリ表現(WKB)または拡張WKB(EWKB)からジオグラフィインスタンスを生成します。
  • ST_GeographyFromText - Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します。
  • = - Aのバウンダリボックスが、Bのバウンダリボックスと同じ場合にTRUEを返します。バウンディングボックスには倍精度浮動小数点数を使います。
  • ST_Intersection - (T) geomAとgeomBの共有部分を表すジオメトリを返します。ジオグラフィ実装では、インタセクトするためにジオメトリに変換して、WGS84に戻します。
  • ST_Intersects - ジオメトリ/ジオグラフィが「2次元空間で空間的にインタセクトする」(空間に共有部分がある)場合には、TRUEを返します。そうでない(非接続)場合はFALSEを返します。ジオグラフィについては、許容量は0.00001メートルです(どの閉じた点でもインタセクトを考慮されます)。
  • ST_Length - LINESTRINGまたはMULTILINESTRINGの場合に、ジオメトリの2次元長を返します。ジオメトリでは、単位は空間参照系の単位です。ジオグラフィでは、メートル単位です(回転楕円体がデフォルトです)。
  • ST_Project - 方位と距離を使って始点から算出されたPOINTを返します。
  • ST_Summary - ジオメトリについての要約文を返します。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。

13.4. PostGISラスタ対応関数

次に示す関数と演算子は、rasterデータ型を入力に取ったり、返り値にしたりする、PostGIS関数/演算子です。アルファベット順に示します。

  • Box3D - ラスタを囲むボックスのbox3d表現を返します。
  • &< - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの左にある場合にTRUEを返します。
  • &> - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの右にある場合にTRUEを返します。
  • && - のバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。
  • ST_AddBand - 与えられたタイプで、与えられた初期値にした新しいバンドを、与えられたインデクス位置に付けたラスタを返します。インデクス位置を指定していない場合には、バンドは末尾に追加されます。
  • ST_AsBinary - SRIDメタデータを持たないラスタのWell-Known Binary(WKB)表現を返します。
  • ST_AsGDALRaster - 指定されたGDALラスタ書式でラスタタイルを返します。ラスタ書式はコンパイルしたライブラリが対応するものです。ライブラリが対応する書式の一覧を得るにはST_GDALRasters()を使います。
  • ST_AsJPEG - ラスタの選択されたバンドを、単一のJoint Photographic Exports Group (JPEG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3以上のバンドがある場合には、1番バンドを使用します。3バンドのみ指定した場合には、3バンドを使用し、RGBに対応付けます。
  • ST_AsPNG - ラスタの選択されたバンドを、単一のportable network graphics(PNG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3バンド化4バンドある場合には、全てのバンドを使用します。バンドを指定せず、2バンドか4以上のバンドがある場合には、1番バンドを使用します。対象バンドはRGBまたはRGBAに対応付けられます。
  • ST_AsRaster - PostGISジオメトリをPostGISラスタに変換します。
  • ST_AsTIFF - ラスタの選択されたバンドを、単一のTIFF画像として返します。バンドを指定しない場合には、全てのバンドの使用を試みます。
  • ST_Aspect - 標高ラスタバンドの斜面方位を返します。地形解析に使います。
  • ST_Band - 既存のラスタの1つ以上のバンドを新しいラスタとして返します。既存のラスタから新しいラスタを構築する際に使います。
  • ST_BandIsNoData - 指定したバンドがNODATA値で満たされている場合にはTRUEを返します。
  • ST_BandMetaData - 指定したラスタバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
  • ST_BandNoDataValue - 指定されたバンドについてデータが無いことを表現する値を返します。バンド番号を指定しない場合には、1番と仮定します。
  • ST_BandPath - ファイルシステムに格納されているバンドのシステムファイルパスを返します。バンド番号が指定されていない場合には1番と仮定します。
  • ST_BandPixelType - 指定したバンドのピクセルタイプを返します。バンド番号が指定されていない場合には、1番と仮定します。
  • ST_Clip - 入力ジオメトリで切り取ったラスタを返します。バンドが指定されていない場合には、全てのバンドが返されます。cropが指定されていない場合はTRUEと仮定され、出力ラスタをクロップします。
  • ST_ConvexHull - BandNoDataValueと等しいピクセル値を含むラスタの凸包ジオメトリを返します。一般的な形状で回転していないラスタでは、ST_Envelopeと同じ結果になります。不規則な形状をしているか回転しているラスタでのみ使います。
  • ST_Count - ラスタまたはラスタカバレッジの指定したバンドのピクセル数を返します。バンドを指定しない場合は1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
  • ST_DumpAsPolygons - 指定されたラスタバンドからgeomval(geom,val)行の集合を返します。バンドを指定しない場合のデフォルトは1番です。
  • ST_Envelope - ラスタの範囲のポリゴン表現を返します。
  • ST_GeoReference - 一般的にワールドファイルでみられるGDALまたはESRI書式の地理参照メタデータを返します。デフォルトはGDALです。
  • ST_HasNoBand - 指定したバンド番号のバンドが無い場合にTRUEを返します。バンド番号を指定していない場合には、1番と仮定します。
  • ST_Height - ラスタの高さをピクセル単位で返します。
  • ST_HillShade - 方位、高度、輝度、標高スケールの入力を使って、標高ラスタバンドの仮定的な光による明暗を返します。地形の視覚化に使用します。
  • ST_Histogram - ラスタまたはラスタカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
  • ST_Intersection - 2つのラスタの共有部分またはベクタ化したラスタとジオメトリとのインタセクションを表現する、ラスタまたはジオメトリとピクセル値のペアの集合を返します。
  • ST_Intersects - バンド番号が省略された場合はラスタの凸包を考慮するだけです。指定したバンドのNODATA値でない値を持つピクセルがインタセクトする場合のみTRUEを返します。
  • ST_IsEmpty - ラスタが空(width = 0かつheight = 0)の場合にはTRUEを返します。他の場合にはFALSEを返します。
  • ST_MakeEmptyRaster - 与えられたピクセル範囲(width, height)、左上のX,Y、ピクセルサイズ、回転(scalex, scaley, skewx, skewy)と空間参照系(SRID)が指定された空ラスタ(バンドを持たないラスタ)を返します。ラスタが渡されると、新しいラスタは渡されたラスタと同じサイズ、アラインメント、SRIDになります。SRIDが指定されていない場合には、空間参照系は不明(0)とされます。
  • ST_MapAlgebraExpr - 1バンド版: 入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。
  • ST_MapAlgebraExpr - 2バンド版: 2つの入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合はどちらも1番と仮定します。結果ラスタは、ひとつめのラスタのアラインメント(スケール、スキュー、ピクセル角位置)にあわされます。範囲は"extenttype"引数で定義されます。取りうる"extenttype"の値はINTERSECTION, UNION, FIRST, SECONDです。
  • ST_MapAlgebraFct - 1バンド版 - 入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。
  • ST_MapAlgebraFct - 2ラスタ版 - 2つの入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。"extenttype"のデフォルトはINTERSECTIONです。
  • ST_MapAlgebraFctNgb - 1バンド版: ユーザ定義PostgreSQL関数を使用する最近傍地図代数関数です。入力ラスタバンドの近傍の値を与えたPL/pgSQLユーザ定義関数の結果からなるラスタを返します。
  • ST_MetaData - ピクセルサイズ、回転(skew)、左上隅位置等のラスタオブジェクトに関する基本的なメタデータを返します。
  • ST_NumBands - ラスタオブジェクトのバンド数を返します。
  • ST_PixelAsPolygon - 指定した行と列のピクセルの境界となるジオメトリを返します。
  • ST_PixelAsPolygons - 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。
  • ST_PixelHeight - 空間参照系の単位での地理的なピクセルの高さを返します。
  • ST_PixelWidth - 空間参照系の単位での地理的なピクセルの幅を返します。
  • ST_Polygon - NODATA値でないピクセル値を持つピクセルの結合で形成されるポリゴンジオメトリを返します。バンド番号を設定しない場合には、デフォルトは1番バンドです。
  • ST_Quantile - ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。
  • ST_Raster2WorldCoordX - ラスタの指定した列と行における左上隅の地理座標X値を返します。列と行の番号は1始まりです。
  • ST_Raster2WorldCoordY - ラスタの指定した列と行における左上隅の地理座標Y値を返します。列と行の番号は1始まりです。
  • ST_Reclass - 元のラスタから再分類したバンドタイプからなるラスタを生成します。nbandは変更するバンドです。nbandが指定されていない場合は1番と仮定します。他の全てのバンドは変更せずに返します。可視画像の書式としてより単純な描画を行うために、16BUIバンドを8BUIバンドに変換する、等のために使います。
  • ST_Resample - 指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの角、定義するか他のラスタから借りてきた地理参照属性を使ってリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Rescale - スケール(ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Reskew - スキュー(回転パラメタ)の調整によるリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Rotation - ラスタの回転をラジアンで返します。
  • ST_SRID - ラスタのspatial_ref_sysテーブルで定義されている空間参照系識別番号を返します。
  • ST_SameAlignment - ラスタが同じスキュー、スケール、空間参照系を持つ場合にはTRUEを返し、そうでない場合は問題を詳述する通知とともにFALSEを返します。
  • ST_ScaleX - 空間参照系の単位での地理的なピクセル幅のX成分を返します。
  • ST_ScaleY - 空間参照系の単位での地理的なピクセルの高さのY成分を返します。
  • ST_SetBandIsNoData - バンドのisnodataフラグをTRUEにします。ST_BandIsNoData(rast, band) != ST_BandIsNodata(rast, band, TRUE)となり、isnodataフラグが汚れている場合に使用することがあります。バンドを指定しない場合は1番バンドと仮定します。
  • ST_SetBandNoDataValue - 指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合は1番と仮定します。NODATA値を持たないようにするには、nodatavalue = NULLとします。
  • ST_SetGeoReference - 1回の関数呼び出しで6つの地理参照パラメータを設定します。値は空白区切りです。GDALまたはESRI書式の入力を受け付けます。デフォルトはGDALです。
  • ST_SetRotation - ラスタの回転をラジアン単位で設定します。
  • ST_SetSRID - ラスタのSRIDを、指定した整数でspatial_ref_sysテーブルで定義されているSRIDに設定します。
  • ST_SetScale - ピクセルのXとYのサイズを空間参照系の単位で設定します。数値はunits/pixelで、幅、高さの順です。
  • ST_SetSkew - XとYのスキュー(回転パラメータ)を設定します。引数を1つだけ渡した場合には、XとYは同じ値に設定されます。
  • ST_SetUpperLeft - ラスタの左上隅の地理参照のX,Y座標値を設定します。
  • ST_SetValue - 指定したバンドの指定した列Xと行Yのピクセルまたは指定したジオメトリポイントとインタセクトするピクセルの値を設定することから得られた変更結果を返します。バンド番号は1始まりで、指定しない場合には1と仮定します。
  • ST_SkewX - 空間参照のXスキュー(回転パラメータ)を返します。
  • ST_SkewY - 空間参照のYスキュー(回転パラメータ)を返します。
  • ST_Slope - 標高ラスタバンドの傾斜角を返します。地形解析に使います。
  • ST_SnapToGrid - グリッドにスナップさせるリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_SummaryStats - ラスタまたはラスタカバレッジの指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合は1番と仮定します。
  • ST_Transform - ラスタを既知の空間参照系から他の既知の空間参照系に、指定したリサンプリングアルゴリズムで投影変換します。選択肢は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、があります。デフォルトは最近傍補完です。
  • ST_Union - ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
  • ST_UpperLeftX - 適用されている空間参照系でのラスタの左上隅のX座標値を返します。
  • ST_UpperLeftY - 適用されている空間参照系でのラスタの左上隅のY座標値を返します。
  • ST_Value - 指定したバンドの指定した列Xと行Yまたはジオメトリポイントに対応するピクセルの値を返します。バンド番号は1始まりで、指定しない場合には1と仮定します。exclude_nodata_valueがFALSEに設定された場合には、nodataピクセルを含む全てのピクセルがインタセクトするかが考慮され、値を返します。exclude_nodata_valueを渡さない場合には、ラスタのメタデータから読みます。
  • ST_ValueCount - ラスタ(またはラスタカバレッジの)指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合は1番と仮定します。デフォルトではNODATA値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
  • ST_Width - ラスタの幅をピクセル単位で返します。
  • ST_World2RasterCoordX - ラスタのワールド空間参照系に基づくポイントジオメトリ(pt)またはX,Y座標値(xw,yw)に対応するラスタの列を返します。
  • ST_World2RasterCoordY - ラスタのワールド空間参照系に基づくポイントジオメトリ(pt)またはX,Y座標値(xw,yw)に対応するラスタの行を返します。

13.5. PostGISジオメトリ/ジオグラフィ/ラスタダンプ関数

次に示す関数は単一のgeometry_dumpデータ型またはgeomvalデータ型のオブジェクトを扱うPostGIS関数です。

  • ST_DumpAsPolygons - 指定されたラスタバンドからgeomval(geom,val)行の集合を返します。バンドを指定しない場合のデフォルトは1番です。
  • ST_Intersection - 2つのラスタの共有部分またはベクタ化したラスタとジオメトリとのインタセクションを表現する、ラスタまたはジオメトリとピクセル値のペアの集合を返します。
  • ST_Dump - ジオメトリg1から作られたgeometry_dump(geom, path)行の集合を返します。
  • ST_DumpPoints - ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_DumpRings - ポリゴンの外環と内環を表すgeometry_dump行の集合を返します。

13.6. PostGISボックス関数

次に示す関数は、PostGIS空間型の中のbox系を型を入力に取ったり、返り値にしたりする、PostGIS関数です。ボックス系にはbox2d, and box3dがあります。

  • Box2D - ジオメトリの最大範囲を表すBOX2Dを返します。
  • Box3D - ジオメトリの最大範囲を表すBOX3Dを返します。
  • Box3D - ラスタを囲むボックスのbox3d表現を返します。
  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_3DMakeBox - 与えられた3次元ポイントジオメトリから定義されるBOX3Dを生成します。
  • ST_Estimated_Extent - 与えられた空間テーブルの「見積もられた」範囲を返します。ジオメトリカラムの統計情報から見積もります。指定されていない場合は現在のスキーマが使われます。
  • ST_Expand - 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します。倍精度浮動小数点数を使います。
  • ST_Extent - ジオメトリのバウンディングボックスを返す集計関数です。
  • ST_MakeBox2D - 与えられたポイントジオメトリから定義されるBOX2Dを生成します。
  • ST_XMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最大値を返します。
  • ST_XMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最小値を返します。
  • ST_YMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最大値を返します。
  • ST_YMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最小値を返します。
  • ST_ZMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるZの最大値を返します。
  • ST_ZMin - 2次元または3次元ジオメトリのバウンディングボックスにおけるZの最小値を返します。

13.7. 3次元対応PostGIS関数

次に示す関数は、Zインデクスを放り出さないPostGIS関数です。

  • AddGeometryColumn - ジオメトリカラムを既存の属性テーブルに追加します。デフォルトでは、制約の定義でなく型の変更を使います。use_typmodパラメタをfalseで渡すと制約ベースの古い挙動で動作します。
  • Box3D - ジオメトリの最大範囲を表すBOX3Dを返します。
  • DropGeometryColumn - ジオメトリカラムを空間テーブルから除去します。
  • GeometryType - ジオメトリ型を'LINESTRING', 'POLYGON', 'MULTIPOINT'などの文字列で返します。
  • ST_3DClosestPoint - g1上の、g2に最も近い3次元ポイントを返します。3次元最短線のひとつめのポイントです。
  • ST_3DDFullyWithin - 3次元ジオメトリが他のジオメトリとの距離が指定した範囲内ならtrueを返します。
  • ST_3DDWithin - 3次元(XYZ)ジオメトリ型について、2つのジオメトリの3次元距離が指定した数の内にある場合にtrueを返します。
  • ST_3DDistance - ジオメトリ型について、2つのジオメトリの、3次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_3DIntersects - ジオメトリが3次元で「空間的にインタセクトする」場合にTRUEを返します。ポイントとラインストリングのみで動作します。
  • ST_3DLength - LINESTRINGまたはMULTILINESTRINGに対して、ジオメトリの3次元長または2次元長を返します。
  • ST_3DLength_Spheroid - 標高を考慮に入れて回転楕円体上の長さを計算します。これはST_Length_Spheroidの別名です。
  • ST_3DLongestLine - 2つのジオメトリの3次元長が最長となるラインを返します。
  • ST_3DMakeBox - 与えられた3次元ポイントジオメトリから定義されるBOX3Dを生成します。
  • ST_3DMaxDistance - ジオメトリ型について、2つのジオメトリの、3次元の最大デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DPerimeter - POLYGONまたはMULTIPOLYGONジオメトリの場合に、3次元周囲長を返します。
  • ST_3DShortestLine - 2つのジオメトリの3次元長が最短となるラインを返します。
  • ST_Accum - 集計関数です。ジオメトリの配列を生成します。
  • ST_AddMeasure - 開始点と終了点の間の線型的にM値を内挿した派生ジオメトリを返します。ジオメトリがM軸を持たない場合は追加されます。ジオメトリがM軸を持つ場合は新しい値に上書きされます。LINESTRINGSとMULTILINESTRINGSのみサポートされます。
  • ST_AddPoint - ラインストリングに対して指定した<position>(0はじまり)の前にポイントを追加します。
  • ST_Affine - 3次元アフィン変換をジオメトリに適用して移動、回転、拡大縮小を一度に行います。
  • ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKB - ジオメトリのSRIDメタデータが付いたWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text(WKT)表現を返します。
  • ST_AsGML - GML第2版または第3版としてジオメトリを返します。
  • ST_AsGeoJSON - GeoJSON要素としてジオメトリを返します。
  • ST_AsHEXEWKB - ジオメトリのHEXEWKB表現(文字列)を返します。リトルエンディアン(NDS)またはビッグエンディアン(XDR)のどちらかのエンコーディングを使います。
  • ST_AsKML - ジオメトリをKML要素で返します。いくつかの形式があります。デフォルトはversion=2, precision=15です。
  • ST_AsX3D - ジオメトリをX3Dノード要素書式(ISO-IEC-19776-1.2-X3DEncodings-XML)で返します。
  • ST_Boundary - ジオメトリの組み合わせ境界の閉包を返します。
  • ST_Collect - 他のジオメトリのコレクションから、指定したST_Geometry値を返します。
  • ST_ConvexHull - 凸包は与えられた集合の全てのジオメトリを含む最小の閉じた凸ジオメトリです。
  • ST_CoordDim - ST_Geometry値の座標次元を返します。
  • ST_CurveToLine - CIRCULARSTRING/CURVEPOLYGONをLINESTRING/POLYGONに変換します。
  • ST_Difference - ジオメトリBにインタセクトしないジオメトリAの部分を表現するジオメトリを返します。
  • ST_Dump - ジオメトリg1から作られたgeometry_dump(geom, path)行の集合を返します。
  • ST_DumpPoints - ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_DumpRings - ポリゴンの外環と内環を表すgeometry_dump行の集合を返します。
  • ST_EndPoint - LINESTRINGの最後のポイントをPOINTで返します。
  • ST_ExteriorRing - POLYGONの外環を表現するラインストリングを返します。ジオメトリがポリゴンでない場合はNULLを返します。マルチポリゴンでは動作しません。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使います。
  • ST_ForceRHR - ポリゴンの頂点の方向を右回りに強制します。
  • ST_Force_2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force_3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force_3DZ - ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_Force_4D - ジオメトリをXYZMモードに強制します。
  • ST_Force_Collection - ジオメトリをGEOMETRYCOLLECTIONに変換します。
  • ST_GeomFromEWKB - 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します。
  • ST_GeomFromEWKT - 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します。
  • ST_GeomFromGML - ジオメトリのGML表現を入力とし、PostGISジオメトリオブジェクトを出力します。
  • ST_GeomFromGeoJSON - ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
  • ST_GeomFromKML - ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
  • ST_GeometryN - GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGONの場合には、1はじまりでN番目のジオメトリを返します。それ以外の場合にはNULLを返します。
  • ST_GeometryType - ST_Geometry値のジオメトリ型を返します。
  • ST_HasArc - ジオメトリまたはジオメトリコレクションが曲線ストリングを含む場合に、TRUEを返します。
  • ST_InteriorRingN - ポリゴンのN番目の内環を返します。ジオメトリがポリゴンでないかNが範囲外の場合はNULLを返します。
  • ST_InterpolatePoint - ジオメトリの、指定したポイントに近いポイントにおけるM値を返します。
  • ST_IsClosed - LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスの場合は閉じています(ボリュームです)。
  • ST_IsCollection - 引数がコレクション(MULTI*, GEOMETRYCOLLECTION, ...)の場合にTRUEを返します。
  • ST_IsSimple - ジオメトリが自己インタセクションや自己接触のような異常な幾何学ポイントを持っていない場合にTRUEを返します。
  • ST_Length_Spheroid - LINESTRINGまたはMULTILINESTRINGに対して、回転楕円体上の2次元長または3次元長を返します。ジオメトリの座標が経度/緯度で、投影変換なしに距離を求める場合に使います。
  • ST_LineFromMultiPoint - MULTIPOINTジオメトリからLINESTRINGを生成します。
  • ST_LineToCurve - LINESTRING/POLYGONをCIRCULARSTRINGとCURVED POLYGONに変換します。
  • ST_Line_Interpolate_Point - 線に沿った内挿点を返します。第2引数はfloat8で0から1の区間で、そのポイントが位置するラインストリングの総延長についての割合です。
  • ST_Line_Substring - 2次元長に対する割合で示された開始位置と終了位置で切り取られた部分ラインストリングを返します。第2引数と第3引数は、float8で0から1の区間です。
  • ST_LocateBetweenElevations - 指定したZ値の範囲内にある要素からなる、派生ジオメトリ(コレクション)値を返します。3次元、4次元のLINESTRINGSとMULTILINESTRINGSのみをサポートします。
  • ST_M - ポイントのM座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
  • ST_MakeLine - ポイントまたはラインジオメトリからラインストリングを生成します。
  • ST_MakePoint - 2次元、XYZの3次元、4次元のポイントジオメトリを生成します。
  • ST_MakePolygon - 与えられた外環で形成されるポリゴンを生成します。入力ジオメトリは閉じたラインストリングでなければなりません。
  • ST_MakeValid - 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
  • ST_MemUnion - ST_Unionと同じですが、メモリフレンドリ(少ないメモリ使用、多いCPU時間)です。
  • ST_Mem_Size - ジオメトリが取る容量(バイト単位)を返します。
  • ST_NDims - オメトリの座標次元をsmall intで返します。値は2, 3, 4のいずれかです。
  • ST_NPoints - ジオメトリのポイント(バーテック)数を返します。
  • ST_NRings - ジオメトリがポリゴンまたはマルチポリゴンの場合、リング数を返します。
  • ST_Node - ラインストリングの集合にノードを作成します。
  • ST_NumGeometries - ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。
  • ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
  • ST_PatchN - ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。
  • ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。
  • ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。ラインストリングが存在しない場合はNULLを返します。
  • ST_PointOnSurface - サーフェス上にあることを保障されたPOINTを返します。
  • ST_Polygon - 指定されたラインストリングとSRIDからポリゴンを生成します。
  • ST_RemovePoint - ラインストリングからポイントを削除します。オフセットは0はじまりです。
  • ST_RemoveRepeatedPoints - 入力ジオメトリから重複ポイントを除いたものを返します。
  • ST_Rotate - ジオメトリを、原点について反時計回りにrotRadiasnぶん回転させます。
  • ST_RotateX - ジオメトリをX軸についてrotRadians回転させます。
  • ST_RotateY - ジオメトリgeomAをY軸についてrotRadians回転させます。
  • ST_RotateZ - ジオメトリをZ軸についてrotRadians回転させます。
  • ST_Scale - パラメータで軸を乗算してジオメトリを新しいサイズに拡大縮小します。ST_Scale(geom, Xfactor, Yfactor, Zfactor)となります。
  • ST_SetPoint - ラインストリングのN番目を与えられたポイントに置き換えます。インデクスは0はじまりです。
  • ST_Shift_Longitude - ジオメトリの全ての地物の全ての構成要素の全てのポイント/頂点を読み、経度が0未満なら360を足します。結果は、180度を中心とした地図にプロットされる0度から360度の間にあるデータとなります。
  • ST_SnapToGrid - 入力ジオメトリの全ての点を規則的なグリッドにスナップします。
  • ST_StartPoint - LINESTRINGの最初のポイントをPOINTとして返します。
  • ST_SymDifference - AとBの、インタセクトしていない部分を表現するジオメトリを返します。対称と呼ばれるのは、ST_SymDifference(A,B) = ST_SymDifference(B,A) となるからです。
  • ST_TransScale - deltaXとdeltaY引数を使ってジオメトリを移動させ、XFactor,YFactor引数で拡大縮小させます。2次元でのみ動作します。
  • ST_Translate - 整数パラメータをオフセットにして新しい位置にジオメトリを移動させます。ST_Translate(geom, X, Y)またはST_Translate(geom, X, Y, Z)になります。
  • ST_UnaryUnion - ST_Unionに似ていますが、ジオメトリ要素レベルで動作します。
  • ST_X - ポイントのX座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
  • ST_XMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最大値を返します。
  • ST_XMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最小値を返します。
  • ST_Y - ポイントのY座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
  • ST_YMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最大値を返します。
  • ST_YMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最小値を返します。
  • ST_Z - ポイントのZ座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
  • ST_ZMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるZの最大値を返します。
  • ST_ZMin - 2次元または3次元ジオメトリのバウンディングボックスにおけるZの最小値を返します。
  • ST_Zmflag - ポイントのZM(次元の意味)フラグをsmall intで返します。値は 0=XY, 1=XYM, 2=XYZ, 3=XYZMとなります。
  • UpdateGeometrySRID - ジオメトリカラムの全てのフィーチャーのSRID、geometry_columnsメタデータとSRIDテーブル制約を更新します。
  • geometry_overlaps_nd - 3次元バウンディングボックスがBの3次元バウンディングボックスにインタセクトする場合にTRUEを返します。

13.8. PostGIS曲線ジオメトリ対応関数

次に示す関数は、CIRCULARSTRING, CURVEDPOLYGON等の曲線ジオメトリ型が使えるPostGIS関数です。

  • AddGeometryColumn - ジオメトリカラムを既存の属性テーブルに追加します。デフォルトでは、制約の定義でなく型の変更を使います。use_typmodパラメタをfalseで渡すと制約ベースの古い挙動で動作します。
  • Box2D - ジオメトリの最大範囲を表すBOX2Dを返します。
  • Box3D - ジオメトリの最大範囲を表すBOX3Dを返します。
  • DropGeometryColumn - ジオメトリカラムを空間テーブルから除去します。
  • GeometryType - ジオメトリ型を'LINESTRING', 'POLYGON', 'MULTIPOINT'などの文字列で返します。
  • PostGIS_AddBBox - ジオメトリにバウンディングボックスを追加します。
  • PostGIS_DropBBox - バウンディングボックスのキャッシュをジオメトリから削除します。
  • PostGIS_HasBBox - このジオメトリのバウンディングボックスがキャッシュされているならTRUEを、それ以外ならFALSEを返します。
  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_Accum - 集計関数です。ジオメトリの配列を生成します。
  • ST_Affine - 3次元アフィン変換をジオメトリに適用して移動、回転、拡大縮小を一度に行います。
  • ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKB - ジオメトリのSRIDメタデータが付いたWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text(WKT)表現を返します。
  • ST_AsHEXEWKB - ジオメトリのHEXEWKB表現(文字列)を返します。リトルエンディアン(NDS)またはビッグエンディアン(XDR)のどちらかのエンコーディングを使います。
  • ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します。
  • ST_Collect - 他のジオメトリのコレクションから、指定したST_Geometry値を返します。
  • ST_CoordDim - ST_Geometry値の座標次元を返します。
  • ST_CurveToLine - CIRCULARSTRING/CURVEPOLYGONをLINESTRING/POLYGONに変換します。
  • ST_Dump - ジオメトリg1から作られたgeometry_dump(geom, path)行の集合を返します。
  • ST_DumpPoints - ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_Estimated_Extent - 与えられた空間テーブルの「見積もられた」範囲を返します。ジオメトリカラムの統計情報から見積もります。指定されていない場合は現在のスキーマが使われます。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使います。
  • ST_Force_2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force_3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force_3DM - ジオメトリをXYMモードに強制します。
  • ST_Force_3DZ - ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_Force_4D - ジオメトリをXYZMモードに強制します。
  • ST_Force_Collection - ジオメトリをGEOMETRYCOLLECTIONに変換します。
  • ST_GeoHash - ジオメトリのGeoHash表現(geohash.org)を返します。
  • ST_GeogFromWKB - Well-Known Binaryジオメトリ表現(WKB)または拡張WKB(EWKB)からジオグラフィインスタンスを生成します。
  • ST_GeomFromEWKB - 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します。
  • ST_GeomFromEWKT - 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します。
  • ST_GeomFromText - Well-Known Text表現(WKT)から指定したST_Geometryを返します。
  • ST_GeomFromWKB - Well-Knwon Binaryジオメトリ表現(WKB)と任意パラメタのSRIDからジオメトリインスタンスを生成します。
  • ST_GeometryN - GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGONの場合には、1はじまりでN番目のジオメトリを返します。それ以外の場合にはNULLを返します。
  • = - Aのバウンダリボックスが、Bのバウンダリボックスと同じ場合にTRUEを返します。バウンディングボックスには倍精度浮動小数点数を使います。
  • &<| - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの下にある場合にTRUEを返します。
  • ST_HasArc - ジオメトリまたはジオメトリコレクションが曲線ストリングを含む場合に、TRUEを返します。
  • ST_IsClosed - LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスの場合は閉じています(ボリュームです)。
  • ST_IsCollection - 引数がコレクション(MULTI*, GEOMETRYCOLLECTION, ...)の場合にTRUEを返します。
  • ST_IsEmpty - ジオメトリが、空のジオメトリコレクション、ポリゴン、ポイント等の場合に、trueを返します。
  • ST_LineToCurve - LINESTRING/POLYGONをCIRCULARSTRINGとCURVED POLYGONに変換します。
  • ST_Mem_Size - ジオメトリが取る容量(バイト単位)を返します。
  • ST_NPoints - ジオメトリのポイント(バーテック)数を返します。
  • ST_NRings - ジオメトリがポリゴンまたはマルチポリゴンの場合、リング数を返します。
  • ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。
  • ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。ラインストリングが存在しない場合はNULLを返します。
  • ST_Rotate - ジオメトリを、原点について反時計回りにrotRadiasnぶん回転させます。
  • ST_RotateZ - ジオメトリをZ軸についてrotRadians回転させます。
  • ST_SRID - ST_Geometryのspatial_ref_sysテーブルで定義されている空間参照系の識別番号を返します。
  • ST_Scale - パラメータで軸を乗算してジオメトリを新しいサイズに拡大縮小します。ST_Scale(geom, Xfactor, Yfactor, Zfactor)となります。
  • ST_SetSRID - ジオメトリのSRIDを特定の整数値に設定します。
  • ST_TransScale - deltaXとdeltaY引数を使ってジオメトリを移動させ、XFactor,YFactor引数で拡大縮小させます。2次元でのみ動作します。
  • ST_Transform - 整数パラメータで参照されるSRIDに座標変換し、新しいジオメトリを返します。
  • ST_Translate - 整数パラメータをオフセットにして新しい位置にジオメトリを移動させます。ST_Translate(geom, X, Y)またはST_Translate(geom, X, Y, Z)になります。
  • ST_XMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最大値を返します。
  • ST_XMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるXの最小値を返します。
  • ST_YMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最大値を返します。
  • ST_YMin - 2次元,3次元バウンディングボックスまたはジオメトリにおけるYの最小値を返します。
  • ST_ZMax - 2次元,3次元バウンディングボックスまたはジオメトリにおけるZの最大値を返します。
  • ST_ZMin - 2次元または3次元ジオメトリのバウンディングボックスにおけるZの最小値を返します。
  • ST_Zmflag - ポイントのZM(次元の意味)フラグをsmall intで返します。値は 0=XY, 1=XYM, 2=XYZ, 3=XYZMとなります。
  • UpdateGeometrySRID - ジオメトリカラムの全てのフィーチャーのSRID、geometry_columnsメタデータとSRIDテーブル制約を更新します。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。
  • &&& - 3次元バウンディングボックスがBの3次元バウンディングボックスにインタセクトする場合にTRUEを返します。

13.9. PostGIS多面体サーフェス対応関数

次に示す関数は、POLYHEDRALSURFACE, POLYHEDRALSURFACEMジオメトリが使えるPostGIS関数です。

  • Box2D - ジオメトリの最大範囲を表すBOX2Dを返します。
  • Box3D - ジオメトリの最大範囲を表すBOX3Dを返します。
  • GeometryType - ジオメトリ型を'LINESTRING', 'POLYGON', 'MULTIPOINT'などの文字列で返します。
  • ST_3DClosestPoint - g1上の、g2に最も近い3次元ポイントを返します。3次元最短線のひとつめのポイントです。
  • ST_3DDFullyWithin - 3次元ジオメトリが他のジオメトリとの距離が指定した範囲内ならtrueを返します。
  • ST_3DDWithin - 3次元(XYZ)ジオメトリ型について、2つのジオメトリの3次元距離が指定した数の内にある場合にtrueを返します。
  • ST_3DDistance - ジオメトリ型について、2つのジオメトリの、3次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_3DIntersects - ジオメトリが3次元で「空間的にインタセクトする」場合にTRUEを返します。ポイントとラインストリングのみで動作します。
  • ST_3DLongestLine - 2つのジオメトリの3次元長が最長となるラインを返します。
  • ST_3DMaxDistance - ジオメトリ型について、2つのジオメトリの、3次元の最大デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DShortestLine - 2つのジオメトリの3次元長が最短となるラインを返します。
  • ST_Accum - 集計関数です。ジオメトリの配列を生成します。
  • ST_Affine - 3次元アフィン変換をジオメトリに適用して移動、回転、拡大縮小を一度に行います。
  • ST_Area - ポリゴンまたはマルチポリゴンの場合にはサーフェスの面積を返します。ジオメトリ型の「面積」はSRIDに基づく単位で、ジオグラフィ型の面積は平方メートルです。
  • ST_AsBinary - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKB - ジオメトリのSRIDメタデータが付いたWell-Known Binary(WKB)表現を返します。
  • ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text(WKT)表現を返します。
  • ST_AsGML - GML第2版または第3版としてジオメトリを返します。
  • ST_AsX3D - ジオメトリをX3Dノード要素書式(ISO-IEC-19776-1.2-X3DEncodings-XML)で返します。
  • ST_CoordDim - ST_Geometry値の座標次元を返します。
  • ST_Dimension - ジオメトリの固有次元を返します。座標次元以下でなければなりません。
  • ST_Dump - ジオメトリg1から作られたgeometry_dump(geom, path)行の集合を返します。
  • ST_DumpPoints - ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_Expand - 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します。倍精度浮動小数点数を使います。
  • ST_Extent - ジオメトリのバウンディングボックスを返す集計関数です。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使います。
  • ST_ForceRHR - ポリゴンの頂点の方向を右回りに強制します。
  • ST_Force_2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force_3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force_3DZ - ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_Force_Collection - ジオメトリをGEOMETRYCOLLECTIONに変換します。
  • ST_GeomFromEWKB - 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します。
  • ST_GeomFromEWKT - 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します。
  • ST_GeomFromGML - ジオメトリのGML表現を入力とし、PostGISジオメトリオブジェクトを出力します。
  • ST_GeometryN - GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGONの場合には、1はじまりでN番目のジオメトリを返します。それ以外の場合にはNULLを返します。
  • ST_GeometryType - ST_Geometry値のジオメトリ型を返します。
  • = - Aのバウンダリボックスが、Bのバウンダリボックスと同じ場合にTRUEを返します。バウンディングボックスには倍精度浮動小数点数を使います。
  • &<| - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの下にある場合にTRUEを返します。
  • ~= - AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。
  • ST_IsClosed - LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスの場合は閉じています(ボリュームです)。
  • ST_Mem_Size - ジオメトリが取る容量(バイト単位)を返します。
  • ST_NPoints - ジオメトリのポイント(バーテック)数を返します。
  • ST_NumGeometries - ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。
  • ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
  • ST_PatchN - ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。
  • ST_RemoveRepeatedPoints - 入力ジオメトリから重複ポイントを除いたものを返します。
  • ST_Rotate - ジオメトリを、原点について反時計回りにrotRadiasnぶん回転させます。
  • ST_RotateX - ジオメトリをX軸についてrotRadians回転させます。
  • ST_RotateY - ジオメトリgeomAをY軸についてrotRadians回転させます。
  • ST_RotateZ - ジオメトリをZ軸についてrotRadians回転させます。
  • ST_Scale - パラメータで軸を乗算してジオメトリを新しいサイズに拡大縮小します。ST_Scale(geom, Xfactor, Yfactor, Zfactor)となります。
  • ST_Shift_Longitude - ジオメトリの全ての地物の全ての構成要素の全てのポイント/頂点を読み、経度が0未満なら360を足します。結果は、180度を中心とした地図にプロットされる0度から360度の間にあるデータとなります。
  • ST_Transform - 整数パラメータで参照されるSRIDに座標変換し、新しいジオメトリを返します。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。
  • &&& - 3次元バウンディングボックスがBの3次元バウンディングボックスにインタセクトする場合にTRUEを返します。

13.10. PostGIS関数対応マトリクス

次に示すのは、アルファベット順に並べたPostGIS空間関数と、動作する空間タイプの種類、対応しようとしてOGC/SQL準拠を示しています。

  • は、ネイティブで、その型と派生型とに対応しています。
  • は、動作しますが、ジオメトリにキャストして「最善のSRID」に投影変換したうえでジオグラフィに戻す、組み込み変換キャストを使います。大きな面積の領域や、極にある領域については、予期しない結果になることがありますし、浮動小数点数のごみを蓄積することがあります。
  • は、直接的な対応でなくbox3dへの変換といった他からの自動キャストで動作します。
  • geom - 基本的な2次元ジオメトリ(x,y)に対応しています。
  • geog - 基本的な2次元ジオグラフィ(x,y)に対応しています。
  • 2.5D - 3次元/4次元(ZまたはM座標を持つ)空間内の基本的な2次元ジオメトリに対応しています。
  • PS - 多面体サーフェス(Polyhedral Surface)に対応しています。
  • T - 三角形と不規則三角網(TIN)に対応しています。

関数geomgeog2.5DCurvesSQL MMPST
Box2D    
Box3D   
Find_SRID        
GeometryType   
ST_3DClosestPoint     
ST_3DDFullyWithin     
ST_3DDWithin    
ST_3DDistance    
ST_3DExtent   
ST_3DIntersects    
ST_3DLength      
ST_3DLength_Spheroid      
ST_3DLongestLine     
ST_3DMakeBox      
ST_3DMaxDistance     
ST_3DPerimeter      
ST_3DShortestLine     
ST_Accum   
ST_AddMeasure      
ST_AddPoint      
ST_Affine   
ST_Area    
ST_AsBinary
ST_AsEWKB   
ST_AsEWKT  
ST_AsGML   
ST_AsGeoJSON     
ST_AsHEXEWKB     
ST_AsKML     
ST_AsLatLonText       
ST_AsSVG      
ST_AsText    
ST_AsX3D    
ST_Azimuth      
ST_BdMPolyFromText       
ST_BdPolyFromText       
ST_Boundary     
ST_Buffer     
ST_BuildArea       
ST_Centroid      
ST_ClosestPoint       
ST_Collect     
ST_CollectionExtract       
ST_CollectionHomogenize       
ST_ConcaveHull       
ST_Contains      
ST_ContainsProperly       
ST_ConvexHull     
ST_CoordDim  
ST_CoveredBy      
ST_Covers      
ST_Crosses      
ST_CurveToLine    
ST_DFullyWithin       
ST_DWithin      
ST_Difference     
ST_Dimension    
ST_Disjoint      
ST_Distance     
ST_Distance_Sphere       
ST_Distance_Spheroid       
ST_Dump   
ST_DumpPoints   
ST_DumpRings      
ST_EndPoint     
ST_Envelope      
ST_Equals      
ST_Estimated_Extent      
ST_Expand     
ST_Extent     
ST_ExteriorRing     
ST_FlipCoordinates   
ST_ForceRHR     
ST_Force_2D    
ST_Force_3D    
ST_Force_3DM      
ST_Force_3DZ    
ST_Force_4D     
ST_Force_Collection    
ST_GMLToSQL     
ST_GeoHash      
ST_GeogFromText       
ST_GeogFromWKB      
ST_GeographyFromText       
ST_GeomCollFromText      
ST_GeomFromEWKB   
ST_GeomFromEWKT   
ST_GeomFromGML    
ST_GeomFromGeoJSON      
ST_GeomFromKML      
ST_GeomFromText     
ST_GeomFromWKB     
ST_GeometryFromText      
ST_GeometryN  
ST_GeometryType    
|>>       
<<|       
~       
@       
=    
<<       
|&>       
&<|     
&<       
&>       
>>       
~=      
ST_HasArc     
ST_HausdorffDistance       
ST_InteriorRingN     
ST_InterpolatePoint      
ST_Intersection     
ST_Intersects     
ST_IsClosed   
ST_IsCollection     
ST_IsEmpty     
ST_IsRing      
ST_IsSimple     
ST_IsValid      
ST_IsValidDetail       
ST_IsValidReason       
ST_Length     
ST_Length2D       
ST_Length2D_Spheroid       
ST_Length_Spheroid      
ST_LineCrossingDirection      
ST_LineFromMultiPoint      
ST_LineFromText      
ST_LineFromWKB      
ST_LineMerge       
ST_LineToCurve     
ST_Line_Interpolate_Point      
ST_Line_Locate_Point       
ST_Line_Substring      
ST_LinestringFromWKB      
ST_LocateAlong       
ST_LocateBetween       
ST_LocateBetweenElevations      
ST_LongestLine       
ST_M     
ST_MLineFromText      
ST_MPointFromText      
ST_MPolyFromText      
ST_MakeBox2D       
ST_MakeEnvelope       
ST_MakeLine      
ST_MakePoint      
ST_MakePointM       
ST_MakePolygon      
ST_MakeValid      
ST_MaxDistance       
ST_MemUnion      
ST_Mem_Size   
ST_MinimumBoundingCircle       
ST_Multi       
ST_NDims      
ST_NPoints    
ST_NRings     
ST_Node      
ST_NumGeometries   
ST_NumInteriorRing      
ST_NumInteriorRings      
ST_NumPatches    
ST_NumPoints      
ST_OffsetCurve       
ST_OrderingEquals      
ST_Overlaps      
ST_PatchN    
ST_Perimeter      
ST_Perimeter2D       
ST_Point      
ST_PointFromText      
ST_PointFromWKB    
ST_PointN    
ST_PointOnSurface     
ST_Point_Inside_Circle       
ST_Polygon     
ST_PolygonFromText      
ST_Polygonize       
ST_Project       
ST_Relate      
ST_RelateMatch        
ST_RemovePoint      
ST_RemoveRepeatedPoints     
ST_Reverse       
ST_Rotate   
ST_RotateX    
ST_RotateY    
ST_RotateZ   
ST_SRID     
ST_Scale   
ST_Segmentize       
ST_SetPoint      
ST_SetSRID      
ST_SharedPaths       
ST_Shift_Longitude    
ST_ShortestLine       
ST_Simplify      
ST_SimplifyPreserveTopology       
ST_Snap       
ST_SnapToGrid      
ST_Split       
ST_StartPoint     
ST_Summary      
ST_SymDifference     
ST_Touches      
ST_TransScale     
ST_Transform    
ST_Translate     
ST_UnaryUnion      
ST_Union      
ST_WKBToSQL      
ST_WKTToSQL      
ST_Within      
ST_X     
ST_XMax     
ST_XMin     
ST_Y     
ST_YMax     
ST_YMin     
ST_Z     
ST_ZMax     
ST_ZMin     
ST_Zmflag     
<#>       
<->       
&&    
&&&   

13.11. 新規作成/機能強化/変更されたPostGIS関数

13.11.1. PostGIS 2.0で新規作成/機能強化/変更された関数

次に示す関数は、2.0リリースで新規作成/機能強化/変更(「PostGIS 2.0での関数の挙動変更」)されたPostGIS関数です。

新ジオメトリタイプ: TINと多面体サーフェスが2.0で導入されました。

[注記]

トポロジ機能の大幅な改良がありました。詳細情報については11章トポロジを参照して下さい。

[注記]

PostGIS 2.0では、ラスタ型とラスタ機能がPostGISに統合されました。ここに一覧を出すには、新しいラスタ関数はあまりに多く、全ての関数が新しいので、有効なラスタ関数の詳細については9章ラスタ リファレンスを参照して下さい。2.0より前では、raster_columnsとraster_overviewsは実際のテーブルでした。2.0リリースでビューに変更されました。ST_AddRasterColumn等の関数は削除され、AddRasterConstraints, DropRasterConstraintsに置き換えられました。結果として、ラスタテーブルを生成するアプリケーションは変更が必要になるかも知れなくなりました。

[注記]

Tiger GeocoderはTIGER 2010センサスデータで動作するよう更新され、 現在はPostGIS文書の中心的な文書に取り込まれています(訳注: 訳していません)。 逆ジオコーダ関数も追加されました。 詳細については「Tiger Geocoder」を参照して下さい。

  • &&& - 初出: 2.0.0 3次元バウンディングボックスがBの3次元バウンディングボックスにインタセクトする場合にTRUEを返します。
  • <#> - 初出: 2.0.0 PostgreSQL 9.1以上でのみ有効です。 2ジオメトリのバウンディングボックス間の距離を返します。ポイントの場合は、距離とほとんど同じ(バウンディングボックスは単精度であり、ジオメトリは倍精度なので異なる)かを調べます。KNN GiST機能を使った距離による並べ替えと近傍の制限とに使います。
  • <-> - 初出: 2.0.0 PostgreSQL 9.1以上でのみ有効です。 2つのポイントの間の距離を返します。ポイントでは、ポイントは単精度(元となるポイントジオメトリが倍精度ですが)を使って調べます。他のジオメトリタイプでは、バウンディングボックスの重心どうしの距離を返します。KNN GiST機能を使った距離による並べ替えや近傍の制限に使います。
  • AddEdge - 初出: 2.0.0 GEOS 3.3.0以上が必要 指定したラインストリングジオメトリを使って指定したトポロジスキーマにおいて、ラインストリングエッジをエッジテーブルに追加し、関連する始点終点のノードをノードテーブルに追加し、新しい(または既存の)エッジの識別番号を返します。
  • AddFace - 初出: 2.0.0 フェイスプリミティブをトポロジに登録し、その識別番号を得ます。
  • AddNode - 初出: 2.0.0 指定したトポロジスキーマのノードテーブルにポイントノードを追加し、新しいノードの識別番号を返します。指定したポイントに既にノードがある場合は既存のノード識別番号を返します。
  • AddRasterConstraints - 初出: 2.0.0 ロードされたラスタテーブルの特定のカラムにラスタ制約を追加します。制約には空間参照系、スケール、ブロックサイズ、アラインメント、バンド、バンド型、ラスタカラムが規則正しいブロックかどうかを示すフラグがあります。テーブルは制約が推論されるためのデータがロードされなければなりません。制約の設定が完了するとtrueを返し、問題があると通知を返します。
  • AsGML - 初出: 2.0.0 TopoGeometryのGML表現を返します。
  • CopyTopology - 初出: 2.0.0 トポロジ構造(ノード、エッジ、フェイス、レイヤ、TopoGeometry)を複写します。
  • DropRasterConstraints - 初出: 2.0.0 ラスタテーブルカラムへの参照であるPostGISラスタ制約を削除します。データの再読み込みやラスタカラムデータの更新の際に使います。
  • GetEdgeByPoint - 初出: 2.0.0 - GEOS 3.3.0以上が必要 与えられたポイントにインタセクトするエッジの識別番号を探索します。
  • GetFaceByPoint - 初出: 2.0.0 - GEOS 3.3.0以上が必要 与えられたポイントにインタセクトするフェイスの識別番号を探索します。
  • GetNodeByPoint - 初出: 2.0.0 - GEOS 3.3.0以上が必要 ポイント位置にあるノードの識別番号を探索します。
  • GetNodeEdges - 初出: 2.0 与えられたノードへのエッジのインシデンスの集合を整列して返します。
  • GetRingEdges - 初出: 2.0 与えられたエッジで環を形成するエッジの集合を整列して返します。
  • GetTopologySRID - 初出: 2.0.0 トポロジ名からtopology.topologyテーブル内にあるトポロジのSRIDを返します。
  • Polygonize - 初出: 2.0.0 トポロジエッジで定義されるフェイスを探索し、追加します。
  • ST_3DClosestPoint - 初出: 2.0.0 g1上の、g2に最も近い3次元ポイントを返します。3次元最短線のひとつめのポイントです。
  • ST_3DDFullyWithin - 初出: 2.0.0 3次元ジオメトリが他のジオメトリとの距離が指定した範囲内ならtrueを返します。
  • ST_3DDWithin - 初出: 2.0.0 3次元(XYZ)ジオメトリ型について、2つのジオメトリの3次元距離が指定した数の内にある場合にtrueを返します。
  • ST_3DDistance - 初出: 2.0.0 ジオメトリ型について、2つのジオメトリの、3次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DIntersects - 初出: 2.0.0 ジオメトリが3次元で「空間的にインタセクトする」場合にTRUEを返します。ポイントとラインストリングのみで動作します。
  • ST_3DLongestLine - 初出: 2.0.0 2つのジオメトリの3次元長が最長となるラインを返します。
  • ST_3DMaxDistance - 初出: 2.0.0 ジオメトリ型について、2つのジオメトリの、3次元の最大デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。
  • ST_3DShortestLine - 初出: 2.0.0 2つのジオメトリの3次元長が最短となるラインを返します。
  • ST_AddEdgeModFace - 初出: 2.0 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを編集し、1つのフェイスを追加します。
  • ST_AddEdgeNewFaces - 初出: 2.0 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを削除して、分割した2つのフェイスに置き換えます。
  • ST_AsGDALRaster - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 指定されたGDALラスタ書式でラスタタイルを返します。ラスタ書式はコンパイルしたライブラリが対応するものです。ライブラリが対応する書式の一覧を得るにはST_GDALRasters()を使います。
  • ST_AsJPEG - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 ラスタの選択されたバンドを、単一のJoint Photographic Exports Group (JPEG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3以上のバンドがある場合には、1番バンドを使用します。3バンドのみ指定した場合には、3バンドを使用し、RGBに対応付けます。
  • ST_AsLatLonText - 初出: 2.0 与えられたポイントの度・分・秒表現を返します。
  • ST_AsPNG - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 ラスタの選択されたバンドを、単一のportable network graphics(PNG)画像としてバイト配列で返します。バンドを指定せず、1バンドか3バンド化4バンドある場合には、全てのバンドを使用します。バンドを指定せず、2バンドか4以上のバンドがある場合には、1番バンドを使用します。対象バンドはRGBまたはRGBAに対応付けられます。
  • ST_AsRaster - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 PostGISジオメトリをPostGISラスタに変換します。
  • ST_AsTIFF - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 ラスタの選択されたバンドを、単一のTIFF画像として返します。バンドを指定しない場合には、全てのバンドの使用を試みます。
  • ST_AsX3D - 初出: 2.0.0: ISO-IEC-19776-1.2-X3DEncodings-XML ジオメトリをX3Dノード要素書式(ISO-IEC-19776-1.2-X3DEncodings-XML)で返します。
  • ST_Aspect - 初出: 2.0.0 標高ラスタバンドの斜面方位を返します。地形解析に使います。
  • ST_Band - 初出: 2.0.0 既存のラスタの1つ以上のバンドを新しいラスタとして返します。既存のラスタから新しいラスタを構築する際に使います。
  • ST_BandIsNoData - 初出: 2.0.0 指定したバンドがNODATA値で満たされている場合にはTRUEを返します。
  • ST_Clip - 初出: 2.0.0 入力ジオメトリで切り取ったラスタを返します。バンドが指定されていない場合には、全てのバンドが返されます。cropが指定されていない場合はTRUEと仮定され、出力ラスタをクロップします。
  • ST_CollectionHomogenize - 初出: 2.0.0 ジオメトリコレクションを与えると、「最も単純な」表現を返します。
  • ST_ConcaveHull - 初出: 2.0.0 凹包は、集合の範囲内におけるすべてのジオメトリーを囲む、できる限り凹となるジオメトリを表現するものです。収縮包装とみることができます。
  • ST_Count - 初出: 2.0.0 ラスタまたはラスタカバレッジの指定したバンドのピクセル数を返します。バンドを指定しない場合は1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
  • ST_CreateTopoGeo - 初出: 2.0 空のトポロジにジオメトリのコレクションを追加し、成否を示すメッセージを返します。
  • ST_Distinct4ma - 初出: 2.0.0 近傍における一意となるピクセル値の数を計算するラスタ処理関数です。Raster processing function that calculates the number of unique pixel values in a neighborhood.
  • ST_FlipCoordinates - 初出: 2.0.0 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使います。
  • ST_GDALDrivers - 初出: 2.0.0 - GDAL 1.6.0以上が必要です。 使用しているGDALライブラリが対応するラスタ書式の一覧を返します。ST_AsGDALRasterを使って出力できるラスタの書式です。
  • ST_GeomFromGeoJSON - 初出: 2.0.0 JSON-C 0.9以上が必要です。 ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
  • ST_GetFaceEdges - 初出: 2.0 順序番号を含む、afaceの境界となる、整列したエッジの集合を返します。
  • ST_HasNoBand - 初出: 2.0.0 指定したバンド番号のバンドが無い場合にTRUEを返します。バンド番号を指定していない場合には、1番と仮定します。
  • ST_HillShade - 初出: 2.0.0 方位、高度、輝度、標高スケールの入力を使って、標高ラスタバンドの仮定的な光による明暗を返します。地形の視覚化に使用します。
  • ST_Histogram - 初出: 2.0.0 ラスタまたはラスタカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
  • ST_InterpolatePoint - 初出: 2.0.0 ジオメトリの、指定したポイントに近いポイントにおけるM値を返します。
  • ST_IsValidDetail - 初出: 2.0.0 - GEOS 3.3.0以上が必要です。 ジオメトリが妥当か否かを示すvalid_detail (valid,reason,location)行を返します。不正である場合には、理由と位置を示します。
  • ST_IsValidReason - 初出: 2.0 - requires GEOS >= 3.3.0 flagsを受け付ける版 ジオメトリが妥当か否かを示すテキストを返し、不正な場合は理由を返します。
  • ST_MakeLine - 初出: 2.0.0 - ラインストリング入力要素が導入されました。 ポイントまたはラインジオメトリからラインストリングを生成します。
  • ST_MakeValid - 初出: 2.0.0, GEOS 3.3.0以上が必要です。 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
  • ST_MapAlgebraExpr - 初出: 2.0.0 1バンド版: 入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。
  • ST_MapAlgebraExpr - 初出: 2.0.0 2バンド版: 2つの入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合はどちらも1番と仮定します。結果ラスタは、ひとつめのラスタのアラインメント(スケール、スキュー、ピクセル角位置)にあわされます。範囲は"extenttype"引数で定義されます。取りうる"extenttype"の値はINTERSECTION, UNION, FIRST, SECONDです。
  • ST_MapAlgebraFct - 初出: 2.0.0 1バンド版 - 入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。
  • ST_MapAlgebraFct - 初出: 2.0.0 2ラスタ版 - 2つの入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプの1バンドのラスタを生成します。バンドを指定しない場合は1番と仮定します。"extenttype"のデフォルトはINTERSECTIONです。
  • ST_MapAlgebraFctNgb - 初出: 2.0.0 1バンド版: ユーザ定義PostgreSQL関数を使用する最近傍地図代数関数です。入力ラスタバンドの近傍の値を与えたPL/pgSQLユーザ定義関数の結果からなるラスタを返します。
  • ST_Max4ma - 初出: 2.0.0 近傍における最大ピクセル値を計算するラスタ処理関数です。
  • ST_Mean4ma - 初出: 2.0.0 近傍におけるピクセル値の平均を計算するラスタ処理関数です。
  • ST_Min4ma - 初出: 2.0.0 近傍における最小ピクセル値を計算するラスタ処理関数です。
  • ST_ModEdgeHeal - 初出: 2.0 2つのエッジについて、接続しているノードを削除して修復します。1番目のエッジを編集して、2番目のエッジを削除します。削除されたノードの識別番号を返します。
  • ST_NewEdgeHeal - 初出: 2.0 2つのエッジについて、接続しているノードを削除して修復します。両方のエッジを削除し、1番目のエッジと同じ方向のエッジに置き換えます。
  • ST_Node - 初出: 2.0.0 - GEOS 3.3.0以上が必要です。 ラインストリングの集合にノードを作成します。
  • ST_NumPatches - 初出: 2.0.0 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
  • ST_OffsetCurve - 初出: 2.0 - GEOS 3.2以上、GEOS 3.3以上で改善されました。 与えられた距離と方面に入力ラインをずらしたラインを返します。中心線と平行する線を引く際に使用します。
  • ST_PatchN - 初出: 2.0.0 ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。
  • ST_Perimeter - 初出: 2.0.0 ジオグラフィが導入されました。 ST_SrrfaceまたはST_MultiSurface(POLYGONまたはMULTIPOLYGON)の境界の長さの計測値を返します。ジオメトリの単位は空間参照系によります。ジオグラフィはメートル単位になります。
  • ST_Quantile - 初出: 2.0.0 ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。
  • ST_Range4ma - 初出: 2.0.0 近傍におけるピクセル値の範囲合計を計算するラスタ処理関数です。
  • ST_Reclass - 初出: 2.0.0 元のラスタから再分類したバンドタイプからなるラスタを生成します。nbandは変更するバンドです。nbandが指定されていない場合は1番と仮定します。他の全てのバンドは変更せずに返します。可視画像の書式としてより単純な描画を行うために、16BUIバンドを8BUIバンドに変換する、等のために使います。
  • ST_RelateMatch - 初出: 2.0.0 - GEOS 3.3.0以上が必要です。 intersectionMattrixPattern1がintersectionMatrixPattern2を含む場合にTRUEを返します。
  • ST_RemEdgeModFace - 初出: 2.0 エッジを削除し、削除対象エッジでフェイスが2つに分割されているなら、両方の空間をとるため、ひとつを削除して、もうひとつを編集します。
  • ST_RemEdgeNewFace - 初出: 2.0 エッジを削除し、消去対象エッジでフェイスが2つに分割されているなら、分割されているフェイスを削除し、1つのフェイスに置き換えます。
  • ST_RemoveRepeatedPoints - 初出: 2.0.0 入力ジオメトリから重複ポイントを除いたものを返します。
  • ST_Resample - 初出: 2.0.0 GDAL 1.6.1以上が必要です。 指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの角、定義するか他のラスタから借りてきた地理参照属性を使ってリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Rescale - 初出: 2.0.0 GDAL 1.6.1以上が必要です。 スケール(ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Reskew - 初出: 2.0.0 GDAL 1.6.1以上が必要です。 スキュー(回転パラメタ)の調整によるリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_SameAlignment - 初出: 2.0.0 ラスタが同じスキュー、スケール、空間参照系を持つ場合にはTRUEを返し、そうでない場合は問題を詳述する通知とともにFALSEを返します。
  • ST_SetBandIsNoData - 初出: 2.0.0 バンドのisnodataフラグをTRUEにします。ST_BandIsNoData(rast, band) != ST_BandIsNodata(rast, band, TRUE)となり、isnodataフラグが汚れている場合に使用することがあります。バンドを指定しない場合は1番バンドと仮定します。
  • ST_SharedPaths - 初出: 2.0.0 GEOS 3.3.0以上が必要です。 2つの入力LINESTRING/MULTILINESTRINGが共有するパスのコレクションを返します。
  • ST_Slope - 初出: 2.0.0 標高ラスタバンドの傾斜角を返します。地形解析に使います。
  • ST_Snap - 初出: 2.0.0 GEOS 3.3.0以降が必要です。 入力ジオメトリの辺と頂点を参照ジオメトリの頂点にスナップします。
  • ST_SnapToGrid - 初出: 2.0.0 GDAL 1.6.1以上が必要です。 グリッドにスナップさせるリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
  • ST_Split - 初出: 2.0.0 ジオメトリを分割したジオメトリのコレクションを返します。
  • ST_StdDev4ma - 初出: 2.0.0 近傍におけるピクセル値の標準偏差を計算するラスタ処理関数です。
  • ST_Sum4ma - 初出: 2.0.0 近傍におけるピクセル値の合計を計算するラスタ処理関数です。
  • ST_SummaryStats - 初出: 2.0.0 ラスタまたはラスタカバレッジの指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合は1番と仮定します。
  • ST_Transform - 初出: 2.0.0 GDAL 1.6.1以上が必要です。 ラスタを既知の空間参照系から他の既知の空間参照系に、指定したリサンプリングアルゴリズムで投影変換します。選択肢は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、があります。デフォルトは最近傍補完です。
  • ST_UnaryUnion - 初出: 2.0.0 - GEOS 3.3.0以上が必要です。 ST_Unionに似ていますが、ジオメトリ要素レベルで動作します。
  • ST_Union - 初出: 2.0.0 ラスタタイルの集合を1バンドの単一のラスタに結合します。バンドを指定しない場合は1番と仮定します。結果ラスタの範囲は、集合全体の範囲となります。インタセクトする場合には、結果値はp_expressionで定義されます。p_expressionはLAST, MEAN, SUM, FIRST, MAX, MINで、デフォルトはLASTです。
  • ST_ValueCount - 初出: 2.0.0 ラスタ(またはラスタカバレッジの)指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合は1番と仮定します。デフォルトではNODATA値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
  • TopoElementArray_Agg - 初出: 2.0.0 lement_idとタイプの配列(topoelements)からなるtopoelementarrayを返します。
  • TopoGeo_AddLineString - 初出: 2.0.0 許容差を使って既存のトポロジにラインストリングを追加し、可能ならエッジ/フェイスを分割します。
  • TopoGeo_AddPoint - 初出: 2.0.0 許容差を使って既存のトポロジにポイントを追加し、可能ならエッジを分割します。
  • TopoGeo_AddPolygon - 初出: 2.0.0 許容差を使って既存のトポロジにポリゴンを追加し、可能ならエッジ/フェイスを分割します。
  • TopologySummary - 初出: 2.0.0 トポロジ名を取得し、トポロジ内のオブジェクトの型に関する概の全体を提供します。
  • toTopoGeom - 初出: 2.0 単純なジオメトリからTopoGeometryを生成します。

次に示す関数は、PostGIS 2.0で機能強化された関数です。

  • AddGeometryColumn - 機能強化: 2.0.0では、use_typmod引数が導入されました。デフォルトでは制約を基にしたものでなくtypmodジオメトリカラムが生成されます。
  • Box2D - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • Box3D - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • GeometryType - 機能強化: 2.0.0で多面体サーフェス、三角、TINが導入されました。
  • Populate_Geometry_Columns - 機能強化: 2.0.0では、use_typmod引数が導入されました。カラムが型修飾子で作られるか制約チェックで作られるかの制御ができます。
  • ST_Intersection - 機能強化: 2.0.0 - ラスタ空間のインタセクションが導入されました。2.0.0より前の版では、ベクタ空間でのインタセクションの計算のみに対応していました。
  • ST_Intersects - 機能強化: 2.0.0 ラスタとラスタを引数にとる形式が導入されました。
  • ST_Value - 機能強化: 2.0.0 exclude_nodata_value optional argument was added.
  • ST_3DExtent - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Accum - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Affine - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Area - 機能強化: 2.0.0 - 2次元多面体サーフェスが導入されました。
  • ST_AsBinary - 機能強化: 2.0.0では、多角形サーフェス、三角形、TINが導入されました。
  • ST_AsBinary - 機能強化: 2.0.0では、高次元が導入されました。
  • ST_AsBinary - 機能強化: 2.0.0では、ジオグラフィでのエンディアン指定が導入されました。
  • ST_AsEWKB - 機能強化: 2.0.0では、多角形サーフェス、三角形、TINが導入されました。
  • ST_AsEWKT - 機能強化: 2.0.0では、ジオグラフィ、多面体サーフェス、三角形、TINが導入されました。
  • ST_AsGML - 機能強化: 2.0.0では、プレフィクスが導入されました。 GML 3用であるoptionsの4は、曲線のかわりにラインストリングを使えるようにするためのものです。GML 3の多面体サーフェスとTINが導入されました。optionsの32はボックスを出力するために導入されました。
  • ST_AsKML - 機能強化: 2.0.0 - プレフィクス名前空間を追加しました。デフォルトではプリフィクス無しです。
  • ST_Azimuth - 機能強化: 2.0.0では、ジオグラフィが導入されました。
  • ST_ChangeEdgeGeom - 機能強化: 2.0.0版で、トポロジ整合性の強制を追加しました。
  • ST_Dimension - 機能強化: 2.0.0で多面体サーフェスとTINが導入されました。空ジオメトリを与えた場合に例外を投げなくなりました。
  • ST_Dump - 機能強化: 2.0.0では、多角形サーフェス、三角形、TINが導入されました。
  • ST_DumpPoints - 機能強化: 2.0.0では、多角形サーフェス、三角形、TINが導入されました。
  • ST_Expand - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Extent - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_ForceRHR - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force_2D - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force_3D - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force_3DZ - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force_Collection - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_GMLToSQL - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GMLToSQL - 機能強化: 2.0.0で、任意パラメタにデフォルトのSRIDが追加されました。
  • ST_GeomFromEWKB - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromEWKT - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromGML - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromGML - 機能強化: 2.0.0で、任意パラメタにデフォルトのSRIDが追加されました。
  • ST_GeometryN - 機能強化: 2.0.0で、多面体サーフェス、三角形、TINが導入されました。
  • ST_GeometryType - 機能強化: 2.0.0で、多面体サーフェスが導入されました。
  • ST_IsClosed - 機能強化: 2.0.0で、多面体サーフェスが導入されました。
  • ST_MakeEnvelope - 機能強化: 2.0: SRID指定なしでエンベロープを指定できるようになりました。
  • ST_NPoints - 機能強化: 2.0.0で、多面体サーフェスが導入されました。
  • ST_NumGeometries - 機能強化: 2.0.0で、多面体サーフェス、三角形、TINが導入されました。
  • ST_Relate - 機能強化: 2.0.0 - 境界ノード規則が追加されました(GEOS 3,0以上が必要です)。
  • ST_Rotate - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Rotate - 機能強化: 2.0.0で、回転の原点を指定するパラメタを追加しました。
  • ST_RotateX - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_RotateY - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_RotateZ - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Scale - 機能強化: 2.0.0では、多面体サーフェス、三角形、TINが導入されました。
  • ST_Shift_Longitude - 機能強化: 2.0.0では、多面体サーフェスとTINが導入されました。
  • ST_Transform - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ValidateTopology - 機能強化: 2.0.0 で、エッジのクロス判定を効率化し、以前の版に出た偽陽性を解消しました。
  • && - 機能強化: 2.0.0では、多面体サーフェスを導入しました。

13.11.2. PostGIS 2.0での関数の挙動変更

次に示す関数は、PostGIS2.0で挙動変更したもので、アプリケーションの変更が必要になる場合があります。

[注記]

ほとんどの非推奨関数は削除されました。これらは、1.2から文書には出ていないか、絶対に文書化されない内部関数です。文書に無い関数を使用している場合には、非推奨関数になっているか、非推奨になろうとしているか、内部関数の可能性があります。これらは避けるべきです。非推奨関数を使っているアプリケーションやツールの対応に関する詳細情報については???を参照して下さい。

[注記]

ジオメトリのバウンディングボックスはfloat4から倍精度浮動小数点数(float8)に変わりました。バウンディングボックス演算子を使う場合とバウンディングボックスからジオメトリへのキャストに影響が出ます。たとえば、ST_SetSRID(abbox)では、しばしば、PostGIS 2.0以上でのビューポートクエリの答をわずかに変更するかもしれない以前の版より、精度の良い異なる答が得られます。

[注記]

hasnodata引数は、同じ意味ですがより目的がはっきり分かるexclude_nodata_valueに置き換えられました。

  • AddGeometryColumn - 変更: 2.0.0では、geometry_columnsがシステムカタログを読むビューになったため、geometry_columnsを更新しないようになりました。デフォルトでは制約を生成せず、PostgreSQLの型変更を使います。この関数でWGS 84のPOINTカラムを構築するのとALTER TABLE some_table ADD COLUMN geom geometry(Point,4326);とは等価です。
  • AddGeometryColumn - 変更: 2.0.0では、制約を使う必要がある場合には、use_typmodをfalseにします。
  • AddGeometryColumn - 変更: 2.0.0では、 ビューについては、geometry_columnsへの手動登録はできなくなりました。しかし、tyomodテーブルジオメトリに対して構築されていて、かつラッパ関数が無いビューは、親テーブルカラムのtypmodの挙動を継承するので、正しく登録されます。他のジオメトリを出力するジオメトリ関数を使うビューについては、ビューのジオメトリカラムが正しく登録されるようにするため、typmodジオメトリへのキャストが必要です。を参照して下さい。
  • DropGeometryColumn - 変更: 2.0.0では、この関数は後方互換のためのものです。geometry_columnsは現在はシステムカタログに対するビューですので、他のテーブルのカラムと同じようにALTER TABLEを使った削除が可能です。
  • DropGeometryTable - 変更: 2.0.0では、この関数は後方互換のためのものです。geometry_columnsは現在はシステムカタログに対するビューですので、他のテーブルのカラムと同じようにDROP TABLEを使った削除が可能です。
  • Populate_Geometry_Columns - 変更: 2.0.0では、ジオメトリタイプへの制約をチェックする替りに型修飾子を使用しています。use_typmodをfalseに設定して使うことで、制約をチェックすることができます。
  • Box3D - 変更: 2.0.0 2.0より前の版では、box3dの代わりにbox2dが使われていました。box2dは非推奨の型となり、box3dに変更しました。
  • ST_ScaleX - 変更: 2.0.0. WKTRaster版ではST_PixelSizeXと呼ばれていました。
  • ST_ScaleY - 変更: 2.0.0. In WKTRaster版ではST_PixelSizeYと呼ばれていました。
  • ST_SetScale - 変更: 2.0.0 WKTRaster版ではこれはST_SetPixelSizeと呼ばれていました。2.0.0で変更されました。
  • ST_3DExtent - 変更: 2.0.0 In prior versions this used to be called ST_Extent3D
  • ST_3DLength - 変更: 2.0.0 以前の版ではST_Length3Dと呼ばれていました。
  • ST_3DLength_Spheroid - 変更: 2.0.0 以前の版では、ST_LengthSpheroid3Dと呼ばれていました。
  • ST_3DMakeBox - 変更: 2.0.0以前の版ではST_MakeBox3Dと呼ばれていました。
  • ST_3DPerimeter - 変更: 2.0.0 以前の版ではST_Perimeter3Dと呼ばれていました。
  • ST_AsGML - 変更: 2.0.0では、デフォルトの名前付き引数を使います。
  • ST_AsGeoJSON - 変更: 2.0.0では、デフォルト引数と名前付き引数に対応しました。
  • ST_AsKML - 変更: 2.0.0 - デフォルト引数と名前付き引数に対応しました。
  • ST_AsSVG - 変更: 2.0.0では、デフォルト引数と名前付き引数に対応しました。
  • ST_EndPoint - 変更: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い振る舞いは記載されていませんでしたが、LINESTRINGとして格納されているデータを持っていると思われる人々は2.0でNULLが返って来ることを経験することでしょう。
  • ST_GeomFromText - 変更: 2.0.0以前ではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')が許されていました。SQL/MM標準への適合のためPostGIS 2.0.0では不正とされます。今はST_GeomFromText('GEOMETRYCOLLECTION EMPTY')となります。
  • ST_GeometryN - 変更: 2.0.0以前の版では非マルチのジオメトリではNULLが返りました。ST_GeometryN(..,1)の場合にはジオメトリを返すよう変更されました。
  • = - 変更: 2.0.0では、 ジオメトリのバウンディングボックスをfloat4使用から倍精度使用に変更しました。ほんの少し違う位置にある特定のポイントについて、float4でのバウンディングボックスなら同じになるのにfloat8(倍精度)でのバウンディングボックスでは異なるため、以前の版ではtrueが返ったのが2.0以上ではfalseが返る、という副作用があります。
  • ST_IsEmpty - 変更: 2.0.0以前の版のPostGISではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')を許しました。PostGIS 2.0.0では、SQL/MM標準により準拠させるため、これは不正となります。
  • ST_Length - 変更: 2.0.0 仕様変更 -- 以前の版では、ジオグラフィ型のPOLYGON/MULTIPOLYGONに対して周囲長を返していましたが、2.0.0では、ジオメトリでの0を返すように変更されました。ポリゴンの周囲長を求めるにはST_Perimeterを使用して下さい。
  • ST_LocateAlong - 変更: 2.0.0 - 以前の版ではST_Locate_Along_Measureと呼ばれていましたが、古い名前は非推奨となり、将来的には削除しますが現時点では有効です。
  • ST_LocateBetween - 変更: 2.0.0 - 以前の版でST_Locate_Between_Measuresと呼ばれていましたが、古い名前は非推奨となり、将来的には削除しますが現時点では後方互換のため有効になっています。
  • ST_ModEdgeSplit - 変更: 2.0 - 以前の版では名前を間違えてST_ModEdgesSplitになっていました。
  • ST_NumGeometries - 変更: 2.0.0より前の版では、ジオメトリがコレクション/マルチ系でない場合にはNULLを返しました。2.0.0以上では、POLYGON, LINESTRING, POINTといった単一ジオメトリについては1を返します。
  • ST_StartPoint - 変更: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い振る舞いは記載されていませんでしたが、LINESTRINGとして格納されているデータを持っていると思われる人々は2.0でNULLが返って来ることを経験することでしょう。

13.11.3. PostGIS 1.5で新規作成/機能強化/挙動変更された関数

次に示す関数は、本マイナーリリースで新規作成/機能強化/挙動変更されたPostGIS関数です。

  • PostGIS_LibXML_Version - 初出: 1.5 LibXML2ライブラリのバージョン番号を返します。
  • ST_AddMeasure - 初出: 1.5.0 開始点と終了点の間の線型的にM値を内挿した派生ジオメトリを返します。ジオメトリがM軸を持たない場合は追加されます。ジオメトリがM軸を持つ場合は新しい値に上書きされます。LINESTRINGSとMULTILINESTRINGSのみサポートされます。
  • ST_AsBinary - 初出: 1.5.0では、ジオグラフィが導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します。
  • ST_AsGML - 初出: 1.5.0では、ジオグラフィが導入されました。 GML第2版または第3版としてジオメトリを返します。
  • ST_AsGeoJSON - 初出: 1.5.0では、ジオグラフィが導入されました。 GeoJSON要素としてジオメトリを返します。
  • ST_AsText - 初出: 1.5 - ジオグラフィが導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します。
  • ST_Buffer - 初出: 1.5 - ST_Bufferが異なる終端と継ぎ目の型に対応するよう強化されました。たとえば、道路ラインストリングを、丸の代わりに平坦や四角形の終端を持つ道路ポリゴンに変換するのに使います。ジオグラフィ用の薄いラッパが追加されました。最新のジオメトリ機能の利点を得るにはGEOS 3.2以上が必要です。 (T) ジオメトリ: このジオメトリからの距離が指定された距離以下となるポイント全てを表現するジオメトリを返します。計算は、ジオメトリの空間参照系で行われます。ジオグラフィ: 平面変換ラッパを使います。形状制御のために異なる終端キャップと継ぎ目の設定のサポートが1.5で導入されました。buffer_styleオプションは、quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.# となります。
  • ST_ClosestPoint - 初出: 1.5.0 g1上の、g2に最も近い3次元ポイントを返します。2次元最短線のひとつめのポイントです。
  • ST_CollectionExtract - 初出: 1.5.0 (マルチ)ジオメトリを与えると、指定したタイプの要素でのみ構成される(マルチ)ジオメトリを返します。
  • ST_Covers - 初出: 1.5 - ジオグラフィが導入されました。 ジオメトリBにジオメトリAの外となるポイントが無い場合には、1(TRUE)を返します。
  • ST_DFullyWithin - 初出: 1.5.0 全てのジオメトリが、指定したジオメトリから指定した距離内にある場合に、TRUEを返します。
  • ST_DWithin - 初出: 1.5.0 ジオグラフィが導入されました。 ジオメトリが、指定したジオメトリから指定した距離内にある場合に、TRUEを返します。ジオメトリについては、距離は空間参照系で定義されている単位になります。ジオグラフィについては、メートル単位で、デフォルトではuse_spheroid=true(回転楕円体を使った計算)となり、速いチェックをするにはuse_spheroid=falseとして球面を使って計算します。
  • ST_Distance - 初出: 1.5.0 1.5でジオグラフィが導入されました。大きいジオメトリや頂点の多いジオメトリについての速度が改善しました。 ジオメトリ型については、2つのジオメトリの、2次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。ジオグラフィ型については、デフォルトでは、2つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します。
  • ST_Distance_Sphere - 初出: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 2つの経度緯度ジオメトリ間の最小距離をメートル単位で返します。半径6370986メートルの球面を用います。xref linkend="ST_Distance_Spheroid" />より早いですが精度が低くなります。PostGIS 1.5より前では、ポイントについてのみ実装されていました。
  • ST_Distance_Spheroid - 初出: 1.5 - ポイント以外のジオメトリ型が導入されました。以前の版ではポイントでのみ動作しました。 指定した回転楕円体による、2つのジオメトリ間の最小距離を返します。PostGIS 1.5より前ではポイントのみサポートされていました。
  • ST_DumpPoints - 初出: 1.5.0 ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_Envelope - 初出: 1.5.0で振る舞いが変更され出力がfloat4からfloat8になりました。 ジオメトリの浮動小数点数(float8)バウンディングボックスを表現するジオメトリを返します。
  • ST_GMLToSQL - 初出: 1.5, requires libxml2 1.6+ GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。
  • ST_GeomFromGML - 初出: 1.5, libxml2 1.6+が必要です。 ジオメトリのGML表現を入力とし、PostGISジオメトリオブジェクトを出力します。
  • ST_GeomFromKML - 初出: 1.5, libxml2 2.6以上が必要です。 ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
  • ~= - 初出: 1.5.0では、挙動を変更しました。 AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。
  • ST_HausdorffDistance - 初出: 1.5.0 - GEOS 3.2.0以上が必要です。 2つのジオメトリ間のハウスドルフ距離を返します。基本的にジオメトリが似ているかどうかを計測するものです。単位はジオメトリの空間参照系の単位です。
  • ST_Intersection - 初出: 1.5 では、ジオグラフィ型が導入されました。 (T) geomAとgeomBの共有部分を表すジオメトリを返します。ジオグラフィ実装では、インタセクトするためにジオメトリに変換して、WGS84に戻します。
  • ST_Intersects - 初出: 1.5 ジオメトリが導入されました。 ジオメトリ/ジオグラフィが「2次元空間で空間的にインタセクトする」(空間に共有部分がある)場合には、TRUEを返します。そうでない(非接続)場合はFALSEを返します。ジオグラフィについては、許容量は0.00001メートルです(どの閉じた点でもインタセクトを考慮されます)。
  • ST_Length - 初出: 1.5.0 ジオグラフィが導入されました。 LINESTRINGまたはMULTILINESTRINGの場合に、ジオメトリの2次元長を返します。ジオメトリでは、単位は空間参照系の単位です。ジオグラフィでは、メートル単位です(回転楕円体がデフォルトです)。
  • ST_LongestLine - 初出: 1.5.0 2つのジオメトリの2次元長が最長となるポイントを返します。見つかった最長線が複数ある場合は、最初のもののみ返します。返されるラインは常にg1側を始点、g2側を終点とします。この関数が返すラインの長さは、常に始点をg1に終点をg2にそれぞれ指定した場合のST_MaxDistanceが返す値と同じになります。
  • ST_MakeEnvelope - 初出: 1.5 与えられた最小値と最大値から長方形ポリゴンを生成します。入力値はSRIDで指定された空間参照系でなければなりません。
  • ST_MaxDistance - 初出: 1.5.0 2つのジオメトリ間の2次元距離の最大値を、投影法の単位で返します。
  • ST_ShortestLine - 初出: 1.5.0 2つのジオメトリの2次元長が最短となるラインを返します。
  • && - 初出: 1.5.0では、ジオグラフィを導入しました。 AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。

13.11.4. PostGIS 1.4で新規作成/機能強化/挙動変更された関数

次に示す関数は、1.4リリースで新規作成/機能強化/挙動変更されたPostGIS関数です。

  • Populate_Geometry_Columns - ジオメトリカラムが型修飾子で定義されるか、適切な制約を持つことを確実にします。ジオメトリカラムがgeometry_columnsに正しく登録されることを確実にします。デフォルトでは、型修飾子によらないジオメトリカラムを型修飾子によるジオメトリカラムに変換します。以前の挙動にするにはuse_typmod=falseとします。 初出: 1.4.0
  • ST_AsSVG - ジオメトリまたはジオグラフィで与えられたSVGパスデータによるジオメトリを返します。 初出: 1.2.2. 初出: 1.4.0 PostGIS 1.4.0でhttp://www.w3.org/TR/SVG/paths.html#PathDataBNFに従うため、絶対パスにLコマンドが入りました。
  • ST_Collect - 他のジオメトリのコレクションから、指定したST_Geometry値を返します。 初出: 1.4.0 - ST_Collect(geometry)が導入されました。ST_Collectがより多くのジオメトリをより早く扱えるよう強化されました。
  • ST_ContainsProperly - BがAの内部にインタセクトするが境界(または外部)にインタセクトしない場合に、TRUEを返します。Aは自身には、ContainsProperlyではありませんが、Containsです。 初出: 1.4.0 - GEOS 3.1.0以上が必要です。
  • ST_Extent - ジオメトリのバウンディングボックスを返す集計関数です。 初出: 1.4.0
  • ST_GeoHash - ジオメトリのGeoHash表現(geohash.org)を返します。 初出: 1.4.0
  • ST_IsValidReason - ジオメトリが妥当か否かを示すテキストを返し、不正な場合は理由を返します。 初出: 1.4 - requires GEOS >= 3.1.0.
  • ST_LineCrossingDirection - 2つのラインストリングが与えられ、クロスの種類を-3から3の区間の数で返します。0の場合はクロスしていません。 初出: 1.4
  • ST_LocateBetweenElevations - 指定したZ値の範囲内にある要素からなる、派生ジオメトリ(コレクション)値を返します。3次元、4次元のLINESTRINGSとMULTILINESTRINGSのみをサポートします。 初出: 1.4.0
  • ST_MakeLine - ポイントまたはラインジオメトリからラインストリングを生成します。 初出: 1.4.0 - ST_MakeLine(geomarray)が導入されました。ST_MakeLine集計関数はより多くのポイントをより早く扱うための強化が施されています。
  • ST_MinimumBoundingCircle - ジオメトリを完全に含む最小の円ポリゴンを返します。デフォルトでは、4分の1円に対して48区分を使用します。 初出: 1.4.0 - GEOSが必要です。
  • ST_Union - ジオメトリの結合の点集合を表現するジオメトリを返します。 初出: 1.4.0 - ST_Unionが強化されました。ST_Union(geomarray)が導入され、また、PostgreSQL内での集計が速くなりました。GEOS 3.1.0以上を使用している場合は、ST_Unionは、http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.htmlに記述がある、Cascaded Unionアルゴリズムを使います。

13.11.5. PostGIS 1.3で新規作成された関数

次に示す関数は、1.3リリースで新規作成されたPostGIS関数です。

  • ST_AsGML - GML第2版または第3版としてジオメトリを返します。 初出: 1.3.2。
  • ST_AsGeoJSON - GeoJSON要素としてジオメトリを返します。 初出: 1.3.4
  • ST_SimplifyPreserveTopology - 与えられたジオメトリを「簡略化」したものを返します。Douglas-Peukerアルゴリズムを使用します。不正な派生ジオメトリ(特にポリゴン)の生成を回避します。 初出: 1.3.3