第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.2で新規作成/機能強化された関数
13.11.2. PostGIS 2.1で新規作成/機能強化された関数
13.11.3. PostGIS 2.1で変更された関数
13.11.4. PostGIS 2.0で新規作成/機能強化/変更された関数
13.11.5. PostGIS 2.0で変更された関数
13.11.6. PostGIS 1.5で新規作成/機能強化/変更された関数
13.11.7. PostGIS 1.4で新規作成/機能強化/変更された関数
13.11.8. 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_SameAlignment - ラスタが同じスキュー、スケール、空間参照系、を持つ場合にTRUEを返し、そうでない場合は問題を詳述する通知とともにFALSEを返します。
  • ST_Union - ジオメトリの結合の点集合を表現するジオメトリを返します。
  • TopoElementArray_Agg - element_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つの既存孤立ノードを接続するトポロジに、ジオメトリalinestringで定義される孤立エッジを追加し、新しいエッジの識別番号を返します。 このメソッドは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 - トポロジ構造に影響を与えることなくエッジの形状を変更します。 このメソッドは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, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE, (MULTI)POLYGON, POLYHEDRALSURFACEの場合には、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 - Well-Known Text(WKT)表現と与えられたSRIDからジオメトリを生成します。SRIDを与えない場合は-1(不明)となります。 このメソッドはSQL/MM仕様に準拠しています。 SQL-MM 3: 8.3.6
  • ST_Relate - intersectionMatrixPatternの値について、ふたつのジオメトリの内部、境界、外部のインタセクションを見て、指定したジオメトリがもうひとつのジオメトリと空間的に関係している場合に、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 - ジオメトリが共通のポイントを少なくともひとつ持ち、内部でインタセクトしない場合に、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-Knwon Text表現(WKT)から指定したST_Geometry値を返します。これは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への右回りの方位を北を基準にしたラジアン単位で返します。
  • 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_Perimeter - ST_SrrfaceまたはST_MultiSurface(POLYGONまたはMULTIPOLYGON)の境界の長さの計測値を返します。ジオメトリの単位は空間参照系によります。ジオグラフィはメートル単位になります。
  • ST_Project - メートル単位の距離とラジアン単位の方位とを使って始点から算出されたPOINTを返します。
  • ST_Segmentize - 与えられた距離より長い辺を持たないジオメトリ/ジオグラフィに編集して返します。距離計算は2次元のみで行います。ジオメトリの場合、距離の単位は空間参照系の単位です。ジオグラフィの場合、メートル単位となります。
  • ST_Summary - ジオメトリについての要約文を返します。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合に TRUEを返します。

13.4. PostGISラスタ対応関数

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

  • Box3D - ラスタを囲むボックスのbox3d表現を返します。
  • = - AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します。
  • &< - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの左にある場合にTRUEを返します。
  • &> - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの右にある場合にTRUEを返します。
  • ~= - Aのバウンディングボックスが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 - 既存のラスタの、ひとつ以上のバンドを新しいラスタとして返します。既存のラスタから新しいラスタを構築する際に使えます。
  • ST_BandIsNoData - 指定したバンドがNODATA値だけで満たされている場合には、TRUEを返します。
  • ST_BandMetaData - 指定したラスタバンドの基本的なメタデータを返します。バンド番号を指定しない場合には、1番と仮定します。
  • ST_BandNoDataValue - 指定されたバンドについてデータが無いことを表現する値を返します。バンド番号を指定しない場合には、1番と仮定します。
  • ST_BandPath - ファイルシステムに格納されているバンドのシステムファイルパスを返します。バンド番号が指定されていない場合には、1番と仮定します。
  • ST_BandPixelType - 指定したバンドのピクセルタイプを返します。バンド番号が指定されていない場合には、1番と仮定します。
  • ST_Clip - 入力ジオメトリで切り取ったラスタを返します。バンドが指定されていない場合には、全てのバンドが返されます。cropが指定されていない場合には、TRUEと仮定され、出力ラスタをクロップします。
  • ST_ColorMap - 元のラスタと指定したバンドから4個までの8BUIバンド(grayscale, RGB, RGBA)からなる新しいラスタを生成します。
  • ST_Contains - rastAの外にrastBの点が無く、rastAの内部にrastBの内部の点がひとつ以上ある場合にTRUEを返します。
  • ST_ContainsProperly - rastBがrastAの中でインタセクトし、かつrastAの内部で境界がインタセクトしない場合にTRUEを返します。
  • ST_ConvexHull - BandNoDataValueと等しいピクセル値を含むラスタの凸包ジオメトリを返します。一般的な形状でスキューのないラスタでは、ST_Envelopeと同じ結果になります。不規則な形状をしているか回転しているラスタでのみ使います。
  • ST_Count - ラスタまたはラスタカバレッジの指定したバンドのピクセル数を返します。バンドを指定しない場合には、1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
  • ST_CountAgg - 集計関数です。ラスタ集合の与えられたバンドのピクセル数を返します。バンドが指定されていない場合には、1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
  • ST_CoveredBy - rastAがrastBの外部に点を持たない場合にTRUEを返します。
  • ST_Covers - rastBがrastAの外部に点を持たない場合にTRUEを返します。
  • ST_DFullyWithin - rastAとrastBが指定した距離内に完全に収まる場合にTRUEを返します。
  • ST_DWithin - rastAとrastBが指定した距離内にある場合にTRUEを返します。
  • ST_Disjoint - rastAがrastBとインタセクトしない場合にTRUEを返します。
  • ST_DumpAsPolygons - 指定されたラスタバンドからgeomval(geom,val)行の集合を返します。バンドを指定しない場合のデフォルトは1です。
  • ST_DumpValues - 指定したバンドの値を2次元で得ます。
  • ST_Envelope - ラスタの範囲のポリゴン表現を返します。
  • ST_FromGDALRaster - 対応しているGDALラスタファイルからラスタを返します。
  • ST_GeoReference - 一般的にワールドファイルでみられるGDALまたはESRI書式の地理参照メタデータを返します。デフォルトはGDALです。
  • ST_HasNoBand - 指定したバンド番号のバンドが無い場合には、TRUEを返します。バンド番号を指定していない場合には、1番と仮定します。
  • ST_Height - ラスタの高さをピクセル単位で返します。
  • ST_HillShade - 与えられた方位、高度、明度、スケールの入力を使って標高ラスタバンドの仮想照明を返します。
  • ST_Histogram - ラスタまたはラスタカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
  • ST_Intersection - ふたつのラスタの共有部分またはベクタ化したラスタとジオメトリとのインタセクトした部分を表現する、ラスタまたはジオメトリとピクセル値の組の集合を返します。
  • ST_Intersects - rastAがrastBとインタセクトする場合にTRUEを返します。
  • ST_IsEmpty - ラスタが空(幅が0で高さが0)の場合にはTRUEを返します。他の場合には、FALSEを返します。
  • ST_MakeEmptyRaster - 与えられたピクセル範囲(width & height)、左上のX,Y、ピクセルサイズ、回転(scalex, scaley, skewx, skewy)と空間参照系(srid)が指定された空ラスタ(バンドを持たないラスタ)を返します。ラスタが渡されると、新しいラスタは渡されたラスタと同じサイズ、アラインメント、SRIDになります。SRIDが指定されていない場合には、空間参照系は不明(0)とされます。
  • ST_MapAlgebra - コールバック関数版 - ひとつ以上の入力ラスタ、バンドインデクスとひとつのユーザ定義コールバック関数から、ひとつのバンドからなるラスタを返します。
  • 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_MapAlgebra - 数式版 - ひとつ以上の入力ラスタ、バンド番号、ひとつ以上のユーザ定義SQL式からひとつのバンドを持つラスタを返します。
  • ST_MetaData - ピクセルサイズ、回転(skew)、左上隅位置等のラスタオブジェクトに関する基本的なメタデータを返します。
  • ST_MinConvexHull - NODATA値を除いたラスタの凸包ジオメトリを返します。
  • ST_NearestValue - 与えられたバンドのcolumnx(列)とrowy(行)またはラスタと同じ空間参照系で表現されたポイントのピクセルに最も近い非NODATA値を返します。
  • ST_Neighborhood - 与えられたバンドのcolumnX, columnYか、ラスタと同じ空間参照系のジオメトリポイントで指定されたピクセルの周囲にある非NODATAの2次元倍精度浮動小数点数配列を返します。
  • ST_NotSameAlignmentReason - ラスタが同じアラインメントを持つかどうか、また、持たない場合にはその理由を示す文字列を返します。
  • ST_NumBands - ラスタオブジェクトのバンド数を返します。
  • ST_Overlaps - rastAとrastBがインタセクトして、かつ一方が完全にもう一方に包含されるとTRUEを返します。
  • ST_PixelAsCentroid - ピクセルで表現される面の重心(ポイントジオメトリ)を返します。
  • ST_PixelAsCentroids - 全てのピクセルについて重心(ポイントジオメト)リを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルで表現される面の重心です。
  • ST_PixelAsPoint - ピクセルの左上隅のポイントジオメトリを返します。
  • ST_PixelAsPoints - 全てのピクセルについてポイントジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルの左上隅です。
  • ST_PixelAsPolygon - 指定した行と列のピクセルの境界となるジオメトリを返します。
  • ST_PixelAsPolygons - 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。
  • ST_PixelHeight - 空間参照系の地理的な単位でのピクセルの高さを返します。
  • ST_PixelOfValue - 検索値と同じ値を持つピクセルのcolumnx, rowyピクセル座標を得ます。
  • ST_PixelWidth - 空間参照系の地理的な単位でのピクセルの幅を返します。
  • ST_Polygon - NODATA値でないピクセル値を持つピクセルの結合で形成されるマルチポリゴンジオメトリを返します。バンドを指定しない場合のデフォルトは1です。
  • ST_Quantile - ラスタまたはラスタテーブルカバレッジのサンプルまたは母集団の分位数を計算します。値がラスタの25%,50%,75%にあるかを調べることができます。
  • ST_RasterToWorldCoord - ラスタの指定した列と行における左上隅の地理座標X値とY値(経度と緯度)を返します。列と行の番号は1始まりです。
  • ST_RasterToWorldCoordX - ラスタの指定した列と行における左上隅の地理座標のX値を返します。列と行の番号は1始まりです。
  • ST_RasterToWorldCoordY - ラスタの指定した列と行における左上隅の地理座標のY値を返します。列と行の番号は1始まりです。
  • ST_Reclass - 元のラスタから再分類したバンドタイプからなるラスタを生成します。nbandは変更するバンドです。nbandが指定されていない場合には、1と仮定します。他の全てのバンドは変更せずに返します。可視画像の書式としてより単純な描画を行うために、16BUIバンドを8BUIバンドに変換する、等のために使います。
  • ST_Resample - 指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの角、定義するか他のラスタから借りてきた地理参照属性を使ってリサンプリングを行います。
  • ST_Rescale - スケール(ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間('NearestNeighbor'(米式綴り方))、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')を用います。デフォルトは最近傍補完です。
  • ST_Resize - ラスタを新しい幅、高さにサイズ再設定を行います。
  • ST_Reskew - スキュー(回転パラメタ)だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間('NearestNeighbor'(米式綴り方))、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')を用います。デフォルトは最近傍補完です。
  • ST_Rotation - ラスタの回転をラジアンで返します。
  • ST_Roughness - DEMの「粗度」を計算したラスタを返します。
  • ST_SRID - ラスタのspatial_ref_sysテーブルで定義されている空間参照系識別番号を返します。
  • ST_SameAlignment - ラスタが同じスキュー、スケール、空間参照系、を持つ場合にTRUEを返し、そうでない場合は問題を詳述する通知とともにFALSEを返します。
  • ST_ScaleX - 空間参照系の地理的な単位でのピクセル幅のX成分を返します。
  • ST_ScaleY - 空間参照系の地理的な単位でのピクセル高のY成分を返します。
  • ST_SetBandIsNoData - バンドのisnodataフラグをTRUEにします。
  • ST_SetBandNoDataValue - 指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合には、1番と仮定します。NODATA値を持たないようにするには、nodatavalueにNULLを指定します。
  • ST_SetGeoReference - 6地理参照パラメタを1度に設定します。数値は空白で区切ります。GDALまたはESRI書式の入力を受け付けます。デフォルトはGDALです。
  • ST_SetRotation - ラスタの回転をラジアン単位で設定します。
  • ST_SetSRID - ラスタのSRIDをspatial_ref_sysに定義されている特定の整数値に設定します。
  • ST_SetScale - ピクセルサイズのX値とY値を空間参照系の単位で設定します。数値は単位/ピクセルの幅、高さです。
  • ST_SetSkew - 地理参照のスキュー(回転パラメタ)のX値とY値を設定します。ひとつだけ渡した場合には、X値とY値は同じ値に設定されます。
  • ST_SetUpperLeft - ラスタの左上隅の投影座標系のX値とY値を設定します。
  • ST_SetValue - 指定したバンドの指定したcolumnx(列)とcolumny(行)のピクセルまたは指定したジオメトリポイントとインタセクトするピクセルの値を設定することから得られた変更結果を返します。バンド番号は1始まりで、指定しない場合には1番と仮定します。
  • ST_SetValues - 与えられたバンドに複数の値を設定して、変更されたラスタを返します。
  • ST_SkewX - 空間参照のXスキュー(回転パラメータ)を返します。
  • ST_SkewY - 空間参照のYスキュー(回転パラメータ)を返します。
  • ST_Slope - 標高ラスタバンドの勾配(デフォルトでは度単位)を返します。地形解析に使えます。
  • ST_SnapToGrid - グリッドにスナップすることでラスタをリサンプリングします。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間('NearestNeighbor'(米式綴り方))、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')を用います。デフォルトは最近傍補完です。
  • ST_Summary - ラスタの中身の概要が文字で返されます。
  • ST_SummaryStats - ラスタまたはラスタカバレッジの指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
  • ST_SummaryStatsAgg - 集計関数です。ラスタ集合の指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
  • ST_TPI - 地形的位置指数を計算したラスタを返します。
  • ST_TRI - 起伏指標を計算したラスタを返します。
  • ST_Tile - 求められた出力ラスタのピクセル範囲に基づいて入力ラスタを分割した結果のラスタ集合を返します。
  • ST_Touches - rastAとrastBが少なくともひとつの共通の点を持ち、かつふたつのラスタの内部同士がインタセクトしない場合にTRUEを返します。
  • ST_Transform - ラスタを既知の空間参照系から他の既知の空間参照系に、指定したリサンプリングアルゴリズムで投影変換します。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間('NearestNeighbor'(米式綴り方))、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')を用います。デフォルトは最近傍補完です。
  • ST_Union - ラスタタイルの集合を結合して1以上のバンドからなる単一ラスタを返します。
  • ST_UpperLeftX - 適用されている空間参照系でのラスタの左上隅のX座標値を返します。
  • ST_UpperLeftY - 適用されている空間参照系でのラスタの左上隅のY座標値を返します。
  • ST_Value - 指定したバンドの指定したcolumnx(列)とrowy(行)またはジオメトリポイントに対応するピクセルの値を返します。 バンド番号は1始まりで、指定しない場合には、1番と仮定します。 exclude_nodata_valueがFALSEに設定された場合には、NODATAピクセルを含む全てのピクセルがインタセクトするかが考慮され、値を返します。exclude_nodata_valueを渡さない場合には、ラスタのメタデータから読みます。
  • ST_ValueCount - ラスタ(またはラスタカバレッジの)指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合には、1番と仮定します。デフォルトではNODATA値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
  • ST_Width - ラスタの幅をピクセル単位で返します。
  • ST_Within - rastAがrastBの外部に点を持たず、rastAの内部の少なくともひとつの点がrastBの内部にある場合にTRUEを返します。
  • ST_WorldToRasterCoord - ラスタの空間参照系による地理座標のX値とY値(経度と緯度)またはポイントジオメトリに対応するピクセルの左上隅を返します。
  • ST_WorldToRasterCoordX - ラスタの空間参照系に基づくポイントジオメトリ(pt)またはX,Y座標値(xw,yw)に対応するラスタの列を返します。
  • ST_WorldToRasterCoordY - ラスタの空間参照系に基づくポイントジオメトリ(pt)またはX,Y座標値(xw,yw)に対応するラスタの行を返します。
  • UpdateRasterSRID - 指定したカラムとテーブル内にある全てのラスタSRIDを変更します。

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

次に示す関数はgeometry_dumpまたはgeomvalの集合または単一データを扱うPostGIS関数です。

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

13.6. PostGISボックス関数

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

  • Box2D - ジオメトリの最大範囲を表すBOX2Dを返します。
  • Box3D - ジオメトリの最大範囲を表すBOX3Dを返します。
  • Box3D - ラスタを囲むボックスのbox3d表現を返します。
  • ST_3DExtent - ジオメトリのbox3Dバウンディングボックスを返す集計関数です。
  • ST_3DMakeBox - 与えられた3次元ポイントジオメトリから定義されるBOX3Dを生成します。
  • ST_Box2dFromGeoHash - GeoHash文字列からBOX2Dを返します。
  • ST_EstimatedExtent - 与えられた空間テーブルの「見積もられた」範囲を返します。ジオメトリカラムの統計情報から見積もります。指定されていない場合は現在のスキーマが使われます。
  • 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_DelaunayTriangles - 与えられたポイントの周りのドロネー三角形を返します。
  • 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_Extrude - 関連するボリュームにサーフェスを押し出します。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使えます。
  • ST_ForceCurve - 該当する場合は、ジオメトリを曲線タイプに変換します。
  • ST_ForceLHR - LHR(Left Hand Rule)方向に強制します。
  • ST_ForceRHR - ポリゴンの頂点の方向を右回りに強制します。
  • ST_ForceSFS - SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
  • ST_Force_2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force_3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force_3DZ - ST_Force_3DZ — ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_Force_4D - ジオメトリをXYZMモードに強制します。
  • ST_Force_Collection - ジオメトリをジオメトリコレクションに変換します。
  • ST_GeomFromEWKB - 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します。
  • ST_GeomFromEWKT - 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します。
  • ST_GeomFromGML - GML表現からPostGIS ST_Geometryオブジェクトを出力します。
  • ST_GeomFromGeoJSON - ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
  • ST_GeomFromKML - ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
  • ST_GeometryN - GEOMETRYCOLLECTION, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE, (MULTI)POLYGON, POLYHEDRALSURFACEの場合には、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_IsPlanar - サーフェスが平面であるかないかをチェックします。
  • 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引数と第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_MinkowskiSum - ミンコフスキー和を求めます。
  • ST_NDims - ジオメトリの座標次元をsmall intで返します。値は2, 3, 4のいずれかです。
  • ST_NPoints - ジオメトリのポイント(バーテック)数を返します。
  • ST_NRings - ジオメトリがポリゴンまたはマルチポリゴンの場合、リング数を返します。
  • ST_Node - ラインストリングの集合にノードを作成します。
  • ST_NumGeometries - ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。
  • ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
  • ST_Orientation - サーフェスの方向を判定します。
  • 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_StraightSkeleton - ジオメトリからストレートスケルトンを計算します。
  • ST_SymDifference - AとBの、インタセクトしていない部分を表現するジオメトリを返します。対称と呼ばれるのは、ST_SymDifference(A,B) = ST_SymDifference(B,A) となるからです。
  • ST_Tesselate - テッセレーションを行います。
  • 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となります。
  • TG_Equals - ふたつのTopoGeometryが同じトポロジプリミティブで成っている場合にTRUEを返します。
  • TG_Intersects - ふたつのTopoGeometryが同じトポロジプリミティブで成っている場合にTRUEを返します。
  • UpdateGeometrySRID - ジオメトリカラムの全てのフィーチャーのSRID、geometry_columnsメタデータとSRIDテーブル制約を更新します。制約付きの場合には、制約が新しい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_Distance - ジオメトリ型については、2つのジオメトリの、2次元の最小デカルト距離(空間参照系に基づきます)を、投影法の単位で返します。ジオグラフィ型については、デフォルトでは、2つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します。
  • ST_Dump - オメトリg1から作られたgeometry_dump(geom, path)行の集合を返します。
  • ST_DumpPoints - ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_EstimatedExtent - 与えられた空間テーブルの「見積もられた」範囲を返します。ジオメトリカラムの統計情報から見積もります。指定されていない場合は現在のスキーマが使われます。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使えます。
  • ST_ForceSFS - SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
  • ST_Force2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force3DM - ジオメトリをXYMモードに強制します。
  • ST_Force3DZ - ST_Force_3DZ — ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_Force4D - ジオメトリをXYZMモードに強制します。
  • ST_ForceCollection - ジオメトリをジオメトリコレクションに変換します。
  • ST_GeoHash - ジオメトリのGeoHash表現を返します。
  • 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, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE, (MULTI)POLYGON, POLYHEDRALSURFACEの場合には、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テーブル制約を更新します。制約付きの場合には、制約が新しい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_Extrude - 関連するボリュームにサーフェスを押し出します。
  • ST_FlipCoordinates - 与えられたジオメトリのX軸とY軸とを入れ替えたものを返します。緯度/経度の地物を構築して、これを訂正したい場合に使えます。
  • ST_ForceLHR - LHR(Left Hand Rule)方向に強制します。
  • ST_ForceRHR - ポリゴンの頂点の方向を右回りに強制します。
  • ST_ForceSFS - SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
  • ST_Force2D - ジオメトリを「2次元モード」に強制させます。全ての出力表現はXY座標値のみを持つことになります。
  • ST_Force3D - ジオメトリをXYZモードに強制します。これはST_Force_3DZの別名です。
  • ST_Force3DZ - ST_Force_3DZ — ジオメトリをXYZモードに強制します。これはST_Force_3Dと同義です。
  • ST_ForceCollection - ジオメトリをジオメトリコレクションに変換します。
  • ST_GeomFromEWKB - 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します。
  • ST_GeomFromEWKT - 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します。
  • ST_GeomFromGML - GML表現からPostGIS ST_Geometryオブジェクトを出力します。
  • ST_GeometryN - GEOMETRYCOLLECTION, (MULTI)POINT, (MULTI)LINESTRING, MULTICURVE, (MULTI)POLYGON, POLYHEDRALSURFACEの場合には、1はじまりでN番目のジオメトリを返します。それ以外の場合にはNULLを返します。
  • ST_GeometryType - ST_Geometry値のジオメトリ型を返します。
  • = - Aのバウンダリボックスが、Bのバウンダリボックスと同じ場合にTRUEを返します。バウンディングボックスには倍精度浮動小数点数を使います。
  • &<| - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの下にある場合にTRUEを返します。
  • ~= - AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。
  • ST_IsClosed - LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスの場合は閉じているか(ボリュームであるか)を返します。
  • ST_IsPlanar - サーフェスが平面であるかないかをチェックします。
  • ST_Mem_Size - ジオメトリが取る容量(バイト単位)を返します。
  • ST_MinkowskiSum - ミンコフスキー和を求めます。
  • ST_NPoints - ジオメトリのポイント(バーテック)数を返します。
  • ST_NumGeometries - ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。
  • ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
  • ST_Orientation - サーフェスの方向を判定します。
  • 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_StraightSkeleton - ジオメトリからストレートスケルトンを計算します。
  • ST_Tesselate - テッセレーションを行います。
  • ST_Transform - 整数パラメータで参照されるSRIDに座標変換し、新しいジオメトリを返します。
  • && - AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合に TRUEを返します。
  • &&& - 3次元バウンディングボックスがBの3次元バウンディングボックスにインタセクトする場合にTRUEを返します。

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

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

  • は、ネイティブで、その型と派生型とに対応しています。
  • は、動作しますが、ジオメトリにキャストして「最善のSRID」に投影変換したうえでジオグラフィに戻す、組み込み変換キャストを使います。大きな面積の領域や、極にある領域については、予期しない結果になることがありますし、浮動小数点数のごみを蓄積することがあります。
  • は、直接的な対応でなくbox3dへの変換といった他からの自動キャストで動作します。
  • は、PostGISをSFCGAL対応でコンパイルした場合にのみ利用可能な関数です。
  • は、PostGISをSFCGAL対応でコンパイルした場合には、SFCGALが提供し、その他の場合には、GEOSまたは組み込み関数で対応します。
  • 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_AsTWKB       
ST_AsTWKB_agg       
ST_AsText    
ST_AsX3D     
ST_Azimuth      
ST_BdMPolyFromText       
ST_BdPolyFromText       
ST_Boundary     
ST_Box2dFromGeoHash       
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_DelaunayTriangles     
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_EstimatedExtent      
ST_Expand       
ST_Extent       
ST_ExteriorRing     
ST_Extrude      
ST_FlipCoordinates     
ST_ForceCurve      
ST_ForceLHR      
ST_ForceRHR      
ST_ForceSFS     
ST_Force2D     
ST_Force3D     
ST_Force3DM      
ST_Force3DZ     
ST_Force4D     
ST_ForceCollection     
ST_GMLToSQL      
ST_GeoHash      
ST_GeogFromText       
ST_GeogFromWKB      
ST_GeographyFromText       
ST_GeomCollFromText      
ST_GeomFromEWKB     
ST_GeomFromEWKT     
ST_GeomFromGML     
ST_GeomFromGeoHash       
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_IsPlanar      
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_LineInterpolatePoint      
ST_LineLocatePoint       
ST_LineSubstring      
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_MinkowskiSum      
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_Orientation      
ST_Overlaps      
ST_PatchN     
ST_Perimeter     
ST_Perimeter2D       
ST_Point      
ST_PointFromGeoHash        
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_StraightSkeleton      
ST_Summary      
ST_SymDifference     
ST_Tesselate      
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     
<#>       
<->       
&&     
&&&     
postgis.backend        
postgis.gdal_datapath        

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

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

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

[注記]

Tiger GeocoderはTIGER 2013センサスデータで動作するよう更新されました。詳細については「Tiger Geocoder」をご覧下さい。

PostGIS 2.2で新規作成された関数

  • ST_AsTWKB - 初出: 2.2 TWKB(Tiny WKB)でジオメトリを返します。
  • ST_AsTWKB_agg - 初出: 2.2 ジオメトリを集計してTWKBで返します。
  • ST_CountAgg - 初出: 2.2.0 集計関数です。ラスタ集合の与えられたバンドのピクセル数を返します。バンドが指定されていない場合には、1番と仮定します。exclude_nodata_valueをTRUEに設定している場合には、NODATA値と等しくないピクセルのみを数えます。
  • ST_ForceCurve - 初出: 2.2.0 該当する場合は、ジオメトリを曲線タイプに変換します。
  • ST_SummaryStatsAgg - 初出: 2.2.0 集計関数です。ラスタ集合の指定したバンドについて、ピクセル数、合計値、平均値、標準偏差、最小値、最大値からなる統計情報の概要を返します。バンドを指定しない場合には、1番と仮定します。
  • postgis.gdal_datapath - 初出: 2.2.0 GDALのGDAL_DATAオプションの値を設定するためのコンフィギュレーションオプションです。設定しない場合には、GDAL_DATA環境変数が使われます。

13.11.2. PostGIS 2.1で新規作成/機能強化された関数

次の関数は追加または機能強化されたPostGIS関数です。

[注記]

トポロジの効率が改善されています。詳細情報については11章トポロジを参照して下さい。

[注記]

バグ訂正(特にバンド外ラスタ)、多くの新しい関数(しばしばユーザが共通のタスクを果たすために記述するコードを短くできます)、ラスタ機能における大規模の速度改善があります。詳細情報については9章ラスタ リファレンスを参照して下さい。

[注記]

Tiger GeocoderはTIGER 2012センサスデータを読めるように更新されました。また、デバッグと格付け設定変更のためにgeocode_settingsが追加さ、ローダのロード量を抑制して、現在はロードするべきテーブルをダウンロードするだけになりました。詳細情報については、「Tiger Geocoder」をご覧下さい。

PostGIS 2.1で新規作成された関数

  • = - 初出: 2.1.0 AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
  • AsTopoJSON - 初出: 2.1.0 TopoGeometryのTopoJSON表現を返します。
  • ST_Box2dFromGeoHash - 初出: 2.1.0 GeoHash文字列からBOX2Dを返します。
  • ST_ColorMap - 初出: 2.1.0 元のラスタと指定したバンドから4個までの8BUIバンド(grayscale, RGB, RGBA)からなる新しいラスタを生成します。
  • ST_Contains - 初出: 2.1.0 rastAの外にrastBの点が無く、rastAの内部にrastBの内部の点がひとつ以上ある場合にTRUEを返します。
  • ST_ContainsProperly - 初出: 2.1.0 rastBがrastAの中でインタセクトし、かつrastAの内部で境界がインタセクトしない場合にTRUEを返します。
  • ST_CoveredBy - 初出: 2.1.0 rastAがrastBの外部に点を持たない場合にTRUEを返します。
  • ST_Covers - 初出: 2.1.0 rastBがrastAの外部に点を持たない場合にTRUEを返します。
  • ST_DFullyWithin - 初出: 2.1.0 rastAとrastBが指定した距離内に完全に収まる場合にTRUEを返します。
  • ST_DWithin - 初出: 2.1.0 rastAとrastBが指定した距離内にある場合にTRUEを返します。
  • ST_DelaunayTriangles - 初出: 2.1.0 - GEOS 3.4.0以上が必要です。 与えられたポイントの周りのドロネー三角形を返します。
  • ST_Disjoint - 初出: 2.1.0 rastAがrastBとインタセクトしない場合にTRUEを返します。
  • ST_DumpValues - 初出: 2.1.0 指定したバンドの値を2次元で得ます。
  • ST_FromGDALRaster - 初出: 2.1.0 対応しているGDALラスタファイルからラスタを返します。
  • ST_GeomFromGeoHash - 初出: 2.1.0 GeoHash文字列からジオメトリを返します。
  • ST_InvDistWeight4ma - 初出: 2.1.0 近隣のピクセル値の内挿補完を行うラスタ処理関数です。
  • ST_MapAlgebra - 初出: 2.1.0 コールバック関数版 - ひとつ以上の入力ラスタ、バンドインデクスとひとつのユーザ定義コールバック関数から、ひとつのバンドからなるラスタを返します。
  • ST_MapAlgebra - 初出: 2.1.0 数式版 - ひとつ以上の入力ラスタ、バンド番号、ひとつ以上のユーザ定義SQL式からひとつのバンドを持つラスタを返します。
  • ST_MinConvexHull - 初出: 2.1.0 NODATA値を除いたラスタの凸包ジオメトリを返します。
  • ST_MinDist4ma - 初出: 2.1.0 対象ピクセルと値を持つ近隣ピクセルとの最短距離をピクセル単位で返すラスタ処理関数です。
  • ST_NearestValue - 初出: 2.1.0 与えられたバンドのcolumnx(列)とrowy(行)またはラスタと同じ空間参照系で表現されたポイントのピクセルに最も近い非NODATA値を返します。
  • ST_Neighborhood - 初出: 2.1.0 与えられたバンドのcolumnX, columnYか、ラスタと同じ空間参照系のジオメトリポイントで指定されたピクセルの周囲にある非NODATAの2次元倍精度浮動小数点数配列を返します。
  • ST_NotSameAlignmentReason - 初出: 2.1.0 ラスタが同じアラインメントを持つかどうか、また、持たない場合にはその理由を示す文字列を返します。
  • ST_Overlaps - 初出: 2.1.0 rastAとrastBがインタセクトして、かつ一方が完全にもう一方に包含されるとTRUEを返します。
  • ST_PixelAsCentroid - 初出: 2.1.0 ピクセルで表現される面の重心(ポイントジオメトリ)を返します。
  • ST_PixelAsCentroids - 初出: 2.1.0 全てのピクセルについて重心(ポイントジオメト)リを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルで表現される面の重心です。
  • ST_PixelAsPoint - 初出: 2.1.0 ピクセルの左上隅のポイントジオメトリを返します。
  • ST_PixelAsPoints - 初出: 2.1.0 全てのピクセルについてポイントジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。ポイントジオメトリの座標はピクセルの左上隅です。
  • ST_PixelOfValue - 初出: 2.1.0 検索値と同じ値を持つピクセルのcolumnx, rowyピクセル座標を得ます。
  • ST_PointFromGeoHash - 初出: 2.1.0 GeoHash文字列からポイントを返します。
  • ST_RasterToWorldCoord - 初出: 2.1.0 ラスタの指定した列と行における左上隅の地理座標X値とY値(経度と緯度)を返します。列と行の番号は1始まりです。
  • ST_Resize - 初出: 2.1.0 GDAL 1.6.1以上が必要です。 ラスタを新しい幅、高さにサイズ再設定を行います。
  • ST_Roughness - 初出: 2.1.0 DEMの「粗度」を計算したラスタを返します。
  • ST_SetValues - 初出: 2.1.0 与えられたバンドに複数の値を設定して、変更されたラスタを返します。
  • ST_Simplify - 初出: 2.1.0 Douglas-Peuckerアルゴリズムを使って、与えられたTopoGeometryの「単純化した」版のジオメトリを返します。
  • ST_Summary - 初出: 2.1.0 ラスタの中身の概要が文字で返されます。
  • ST_TPI - 初出: 2.1.0 地形的位置指数を計算したラスタを返します。
  • ST_TRI - 初出: 2.1.0 起伏指標を計算したラスタを返します。
  • ST_Tile - 初出: 2.1.0 求められた出力ラスタのピクセル範囲に基づいて入力ラスタを分割した結果のラスタ集合を返します。
  • ST_Touches - 初出: 2.1.0 rastAとrastBが少なくともひとつの共通の点を持ち、かつふたつのラスタの内部同士がインタセクトしない場合にTRUEを返します。
  • ST_Union - 初出: 2.1.0 ST_Union(rast, unionarg)の形式が導入されました。 ラスタタイルの集合を結合して1以上のバンドからなる単一ラスタを返します。
  • ST_Within - 初出: 2.1.0 rastAがrastBの外部に点を持たず、rastAの内部の少なくともひとつの点がrastBの内部にある場合にTRUEを返します。
  • ST_WorldToRasterCoord - 初出: 2.1.0 ラスタの空間参照系による地理座標のX値とY値(経度と緯度)またはポイントジオメトリに対応するピクセルの左上隅を返します。
  • UpdateRasterSRID - 初出: 2.1.0 指定したカラムとテーブル内にある全てのラスタSRIDを変更します。
  • clearTopoGeom - 初出: 2.1 TopoGeometryの中身を消去します。
  • postgis.backend - 初出: 2.1.0 GEOSとSFCGALがオーバラップする関数を提供するバックエンドです。GEOSまたはSFCGALを選択します。デフォルトはGEOSです。

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

  • ST_AddBand - 機能強化: 2.1.0では、addbandarg対応が追加されました。
  • ST_AddBand - 機能強化: 2.1.0では、out-dbバンドが追加されました。
  • ST_Aspect - 機能強化: 2.1.0 ST_MapAlgebra()を使用するようにし、interpolate_nodata任意引数を追加しました。
  • ST_Clip - 機能強化: 2.1.0 C言語で記述されました
  • ST_HillShade - 機能強化: 2.1.0 ST_MapAlgebra()を使用するようにし、interpolate_nodata任意引数を追加しました。
  • ST_Polygon - 機能強化: 2.1.0 速度を改善し(完全にC言語で記述しました)、確実に妥当なマルチポリゴンを返すようにしました。
  • ST_SameAlignment - 機能強化: 2.1.0 集計関数版の追加
  • ST_SetGeoReference - 機能強化: 2.1.0 ST_SetGeoReference(raster, double precision, ...)形式を追加しました。
  • ST_SetValue - 機能強化: 2.1.0 ST_SetValueでジオメトリを用いる形式が、ポイントだけでなくあらゆるジオメトリタイプに対応するようになりました。ジオメトリを用いる形式はST_SetValuesのgeomval[]を用いる形式をラップしたものです。
  • ST_Slope - 機能強化: 2.1.0 ST_MapAlgebra()を使用するようにし、units, scale, interpolate_nodata任意引数を追加しました。
  • ST_Transform - 機能強化: 2.1.0 ST_Tranfrorm(rast, alignto)の形式を追加しました。
  • ST_Union - 機能強化: 2.1.0 速度が改善されました(完全にC言語で記述しました)
  • ST_Union - 機能強化: 2.1.0 ST_Union(rast) (ひとつめの形式)で、全ての入力ラスタの全てのバンドを結合するようになりました。以前の版のPostGISでは、ひとつめのバンドと仮定していました。
  • ST_Union - 機能強化: 2.1.0 ST_Union(rast, uniontype) (よっつめの形式)で、全ての入力ラスタの全てのバンドを結合するようになりました。
  • ST_AsGML - 機能強化: 2.1.0では、GML 3用にidが導入されました。
  • ST_Boundary - 機能強化: 2.1.0で三角が導入されました。
  • ST_DWithin - 機能強化: 2.1.0で、ジオグラフィでの速度が向上しました。詳細についてはMaking Geography fasterを参照して下さい。
  • ST_DWithin - 機能強化: 2.1.0 曲線ジオメトリ対応が導入されました。
  • ST_Distance - 機能強化: 2.1.0で、ジオグラフィでの速度が向上しました。詳細についてはMaking Geography fasterを参照して下さい。
  • ST_Distance - 機能強化: 2.1.0で、曲線ジオメトリ対応が導入されました。
  • ST_DumpPoints - 機能強化: 2.1.0で、速度工場しました。C言語で実装しなおしました。
  • ST_MakeValid - 機能強化: 2.1.0では、GEOMETRYCOLLECTIONとMULTIPOINTに対応するようになりました。
  • ST_Segmentize - 機能強化: 2.1.0でジオグラフィ対応が導入されました。
  • ST_Summary - 機能強化: 2.1.0で、空間参照系を持つかを示すSフラグが追加
  • toTopoGeom - 機能強化: 2.1.0版では、既存のTopoGeometryを取る形式が追加されました。

13.11.3. PostGIS 2.1で変更された関数

次に示す関数は、PostGIS 2.1で変更されたもので、アプリケーションの変更が必要になる場合があります。

  • ST_Aspect - 変更: 2.1.0 以前の版では、返り値はラジアン単位でした。現在は、デフォルトでは度で返します。
  • ST_HillShade - 変更: 2.1.0 以前の版ではazimuthとaltitudeはラジアン単位で表現しました。現在はazimuthとaltitudeは度単位で表現します。
  • ST_Intersects - 変更: 2.1.0 ST_Intersects(raster, geometry)形式の振る舞いが ST_Intersects(geometry, raster)とあうように変更されました。
  • ST_PixelAsCentroids - 変更: 2.1.1 exclude_nodata_valueの振る舞いを変更しました。
  • ST_PixelAsPoints - 変更: 2.1.1 exclude_nodata_valueの振る舞いを変更しました。
  • ST_PixelAsPolygons - 変更: 2.1.1 exclude_nodata_valueの振る舞いを変更しました。
  • ST_Polygon - 変更: 2.1.0 以前の版では、時々ポリゴンを返しましたが、常にマルチポリゴンを返すように変更しました。
  • ST_RasterToWorldCoordX - 変更: 2.1.0 以前の版ではST_Raster2WorldCoordXと呼ばれていました。
  • ST_RasterToWorldCoordY - 変更: 2.1.0 以前の版ではST_Raster2WorldCoordYと呼ばれていました。
  • ST_Resample - 変更: 2.1.0 srid引数を削除しました。参照ラスタを使う形式では、もはや参照ラスタのSRIDを適用しません。ラスタの投影変換にはST_Transform()を使います。SRIDなしで動作します。
  • ST_Rescale - 変更: 2.1.0 SRIDなしのラスタで動作するようになりました。
  • ST_Reskew - 変更: 2.1.0 SRIDなしのラスタで動作するようになりました。
  • ST_Slope - 変更: 2.1.0 以前の版では、返り値はラジアン単位でした。現在は、デフォルトでは度で返します。
  • ST_SnapToGrid - 変更: 2.1.0 SRIDなしのラスタで動作するようになりました。
  • ST_WorldToRasterCoordX - 変更: 2.1.0 以前の版ではST_World2RasterCoordXと呼ばれていました。
  • ST_WorldToRasterCoordY - 変更: 2.1.0 以前の版ではST_World2RasterCoordYと呼ばれていました。
  • ST_EstimatedExtent - 変更: 2.1.0 2.0.xまではST_Estimated_Extentと呼ばれていました。
  • ST_Force2D - 変更: 2.1.0 2.0.xより後ではST_Force_2Dと呼ばれます。
  • ST_Force3D - 変更: 2.1.0 2.0.xより後ではST_Force_3Dと呼ばれます。
  • ST_Force3DM - 変更: 2.1.0 2.0.xより後ではST_Force_3DMと呼ばれます。
  • ST_Force3DZ - 変更: 2.1.0 2.0.xより後ではST_Force_3DZと呼ばれます。
  • ST_Force4D - 変更: 2.1.0 2.0.xより後ではST_Force_4Dと呼ばれます。
  • ST_ForceCollection - 変更: 2.1.0 2.0.xより後ではST_Force_Collectionと呼ばれます。
  • ST_LineInterpolatePoint - 変更: 2.1.0 変更: 2.1.0 2.0.xまででは ST_LineInterpolatePointと呼ばれていました。
  • ST_LineLocatePoint - 変更: 2.1.0 2.0.xまでではST_Line_Locate_Pointと呼ばれていました。
  • ST_LineSubstring - 変更: 2.1.0 2.0.xまでではST_LineSubstringと呼ばれていました。
  • ST_Segmentize - 変更: 2.1.0 ジオグラフィ対応導入の結果として、SELECT ST_Segmentize('LINESTRING(1 2, 3 4)',0.5);では、あいまいな関数呼び出しエラーとなります。確実にタイプを指定したオブジェクトを持たせる必要があります。たとえば、ジオメトリ/ジオグラフィカラムであったり、ST_GeomFromText, ST_GeogFromTextを使ったり、SELECT ST_Segmentize('LINESTRING(1 2, 3 4)'::geometry,0.5);としたりします。

13.11.4. 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 既存のラスタの、ひとつ以上のバンドを新しいラスタとして返します。既存のラスタから新しいラスタを構築する際に使えます。
  • 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 一意の近隣のピクセル値を数えるラスタ処理関数です。
  • 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_IsEmpty - 初出: 2.0.0 ラスタが空(幅が0で高さが0)の場合にはTRUEを返します。他の場合には、FALSEを返します。
  • ST_IsValidDetail - 初出: 2.0.0 - GEOS 3.3.0以上が必要です。 ジオメトリが妥当か否かを示すvalid_detail(valid,reason,location)行を返します。不正である場合には、理由と位置を示します。
  • ST_IsValidReason - 初出: 2.0 - flagsを受け付ける版にはGEOS 3.3.0以上が必要です。 ジオメトリが妥当か否かを示すテキストを返し、不正な場合は理由を返します。
  • 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_PixelAsPolygon - 初出: 2.0.0 指定した行と列のピクセルの境界となるジオメトリを返します。
  • ST_PixelAsPolygons - 初出: 2.0.0 全てのピクセルについて境界となるジオメトリを、ピクセルごとのピクセル値とラスタ座標系のXとYとを付けて返します。
  • ST_Project - 初出: 2.0.0 メートル単位の距離とラジアン単位の方位とを使って始点から算出されたPOINTを返します。
  • 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以上が必要です。 指定したリサンプリングアルゴリズム、新しいピクセル範囲、グリッドの角、定義するか他のラスタから借りてきた地理参照属性を使ってリサンプリングを行います。
  • 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_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以上のバンドからなる単一ラスタを返します。
  • ST_ValueCount - 初出: 2.0.0 ラスタ(またはラスタカバレッジの)指定されたバンドで、指定した値を持つピクセルを対象として、ピクセルバンド値とピクセル数からなるレコードの集合を返します。バンドを指定しない場合には、1番と仮定します。デフォルトではNODATA値のピクセルは数えられず、ピクセルの他の値は出力され、ピクセルバンド値は最も近い整数に丸められます。
  • TopoElementArray_Agg - 初出: 2.0.0 element_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を生成します。
  • ~= - 初出: 2.0.0 AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。

次に示す関数は、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が追加されました。
  • 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_Force2D - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force3D - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_Force3DZ - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_ForceCollection - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ST_GMLToSQL - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GMLToSQL - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromEWKB - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromEWKT - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromGML - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeomFromGML - 機能強化: 2.0.0で、多面体サーフェスとTINが導入されました。
  • ST_GeometryN - 機能強化: 2.0.0で多面体サーフェス、三角、TINが導入されました。
  • ST_GeometryType - 機能強化: 2.0.0で、多面体サーフェスが導入されました。
  • ST_IsClosed - 機能強化: 2.0.0で、多面体サーフェスが導入されました。
  • ST_MakeEnvelope - 機能強化: 2.0: SRID指定なしでエンベロープを指定できるようになりました。
  • ST_MakeValid - 機能強化: 2.0.1 速度向上しました。GEOS 3.3.4が必要です。
  • 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_Summary - 機能強化: 2.0.0でジオグラフィ対応が追加
  • ST_Transform - 機能強化: 2.0.0では、多面体サーフェスが導入されました。
  • ValidateTopology - 機能強化: 2.0.0では、より効果的なエッジ交差検出が可能になり、以前の版で残っていた偽陽性を解決しています。
  • && - 機能強化: 2.0.0では、多面体サーフェスを導入しました。

13.11.5. PostGIS 2.0で変更された関数

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

[注記]

ほとんどの非推奨関数は削除されました。これらは、1.2から文書には出ていないか、絶対に文書化されない内部関数です。文書に無い関数を使用している場合には、非推奨関数になっているか、非推奨になろうとしているか、内部関数の可能性があります。これらは避けるべきです。非推奨関数を使っているアプリケーションやツールの対応に関する詳細情報については問: 3.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への手動登録はできなくなりました。しかし、typmodテーブルジオメトリに対して構築されていて、かつラッパ関数が無いビューは、親テーブルカラムの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 以前の版では、box3dでなくbox2dを使っていました。box2dは非推奨型となり、box3dに変更しました。
  • ST_ScaleX - 変更: 2.0.0. WKTRaster版ではST_PixelSizeXと呼ばれていました。
  • ST_ScaleY - 変更: 2.0.0. WKTRaster版ではST_PixelSizeYと呼ばれていました。
  • ST_SetScale - 変更: 2.0.0 WKTRaster版では、ST_SetPixelSizeと呼ばれていました。2.0.0で変更されました。
  • ST_3DExtent - 変更: 2.0.0 以前の版ではST_Extent3Dと呼ばれていました。
  • ST_3DLength - 変更: 2.0.0 以前の版ではST_Length3Dと呼ばれていました。
  • ST_3DLength_Spheroid - 変更: 2.0.0 以前の版では、MULTILINESTRINGでもLINESTRINGでもない場合には0を返すようにしていました。2.0.0ではポリゴンが与えられた場合には、周囲長を返します。
  • ST_3DLength_Spheroid - 変更: 2.0.0 以前の版では、ST_Length3d_Spheroidと呼ばれていました。
  • ST_3DMakeBox - 変更: 2.0.0以前の版ではST_MakeBox3Dと呼ばれていました。
  • ST_3DPerimeter - 変更: 2.0.0 以前の版ではST_Perimeter3Dと呼ばれていました。
  • ST_AsBinary - 変更: 2.0.0では、この関数への入力は不明な型にすることができなくなり、必ずジオメトリでなければなりません。ST_AsBinary('POINT(1 2)')といった構築ではもはや妥当ではなく、n st_asbinary(unknown) is not unique errorが得られます。このようなコードはST_AsBinary('POINT(1 2)'::geometry);に変更する必要があります。これが不可能な場合にはlegacy.sqlをインストールして下さい。
  • 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への適用によって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_PointN - 変更: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。
  • ST_StartPoint - 変更: 2.0.0では単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い振る舞いは記載されていませんでしたが、LINESTRINGとして格納されているデータを持っていると思われる人々は2.0でNULLが返って来ることを経験することでしょう。

13.11.6. 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 g2に最も接近するg1上の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 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 ふたつの経度緯度ジオメトリ間の最小距離をメートル単位で返します。半径6370986メートルの球面を用います。より早いですが精度が低くなります。PostGIS 1.5より前では、ポイントについてのみ実装されていました。
  • ST_Distance_Spheroid - 初出: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 指定した回転楕円体による、ふたつの経度緯度ジオメトリ間の最小距離を返します。PostGIS 1.5より前ではポイントのみサポートされていました。
  • ST_DumpPoints - 初出: 1.5.0 ジオメトリを作る全ての点のgometry_dump(geom,path)行の集合を返します。
  • ST_Envelope - 初出: 1.5.0で振る舞いが変更され出力がfloat4からfloat8になりました。 ジオメトリの浮動小数点数(float8)バウンディングボックスを表現するジオメトリを返します。
  • ST_GMLToSQL - 初出: 1.5, libxml2 1.6+が必要です。 GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。
  • ST_GeomFromGML - 初出: 1.5, libxml2 1.6+が必要です。 GML表現からPostGIS ST_Geometryオブジェクトを出力します。
  • ST_GeomFromKML - 初出: 1.5 libxml2 2.6以上が必要です。 ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
  • ~= - 初出: 1.5.0で振る舞いが変更されました AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。
  • ST_HausdorffDistance - 初出: 1.5.0 - GEOS 3.2.0以上が必要です。 ふたつのジオメトリ間のハウスドルフ距離を返します。基本的にジオメトリが似ているかどうかを計測するものです。単位はジオメトリの空間参照系の単位です。
  • ST_Intersection - 初出: 1.5 では、ジオグラフィ型が導入されました。 (T) geomAとgeomBの共有部分を表すジオメトリを返します。ジオグラフィ実装では、インタセクトするためにジオメトリに変換して、WGS84に戻します。
  • ST_Intersects - 初出: 1.5 ジオグラフィ対応が導入されました。 ジオメトリ/ジオグラフィが「2次元空間で空間的にインタセクトする」(空間に共有部分がある)場合にTRUEを返します。そうでない(非接続)場合はFALSEを返します。ジオグラフィについては、許容量は0.00001メートルです(近い点はインタセクトと考えられてしまいます)。
  • ST_Length - 初出: 1.5.0 ジオグラフィt対応が導入されました。 ジオメトリがLINESTRINGまたはMULTILINESTRINGの場合には、それらの2次元長を返します。ジオメトリでは、単位は空間参照系の単位です。ジオグラフィでは、メートル単位です(回転楕円体がデフォルトです)。
  • ST_LongestLine - 初出: 1.5.0 ふたつのジオメトリの2次元長が最長となるポイントを返します。見つかった最長線が複数ある場合は、最初のもののみ返します。返されるラインは常にg1側を始点、g2側を終点とします。この関数が返すラインの長さは、常に始点をg1に終点をg2にそれぞれ指定した場合のST_MaxDistanceが返す値と同じになります。
  • ST_MakeEnvelope - 初出: 1.5 与えられた最小値と最大値から長方形ポリゴンを生成します。入力値はSRIDで指定された空間参照系でなければなりません。
  • ST_MaxDistance - 初出: 1.5.0 ふたつのジオメトリ間の2次元距離の最大値を、投影法の単位で返します。
  • ST_ShortestLine - 初出: 1.5.0 ふたつのジオメトリの2次元長が最短となるラインを返します。
  • && - 初出: 1.5.0では、ジオグラフィを導入しました。 AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合に TRUEを返します。

13.11.7. 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表現を返します。 初出: 1.4.0
  • ST_IsValidReason - ジオメトリが妥当か否かを示すテキストを返し、不正な場合は理由を返します。 初出: 1.4 - 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.8. 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