第7章 PostGISリファレンス

目次

7.1. PostgreSQLのPostGIS型
7.2. 管理関数
7.3. ジオメトリコンストラクタ
7.4. ジオメトリアクセサ
7.5. ジオメトリエディタ
7.6. ジオメトリ出力
7.7. 演算子
7.8. 空間関係関数と空間計測関数
7.9. ジオメトリ処理関数
7.10. 線参照
7.11. ロングトランザクションサポート
7.12. その他の関数
7.13. 例外的関数

ここで示す関数は,PostGISのユーザが必要とすると思われる関数です.この他に,一般的なユーザが使わない,PostGISオブジェクトに対して求められるサポート関数があります.

[注意]

PostGISは,既存の名前付け方針からSQL-MM中心の方針への切り替えを開始しています.結果として,ユーザが知っていて愛用している関数の多くが標準空間型(ST)プレフィクスを使うように名前変更されました.以前の関数はまだ有効ですが,更新された等価な関数があるものについては,この文書の一覧から外しています.これらの関数は,将来のリリースでは非推奨になりますので,*使わないでください*.

7.1. PostgreSQLのPostGIS型

概要

本節では,PostGISによってインストールされたPostgreSQLデータ型を示します. 特にユーザ定義関数をデザインする際に大変重要なキャストのふるまいを記載しています.

ある型が他の型に強制されることをキャストといいます. PostgreSQLは,ほとんどのデータベースと異なり,カスタム型のキャストとキャストのために使われる関数のためのキャストに関するふるまいを定義することができます.キャストは自動的に指定することができます.この場合は,otherfootypeでしか動作しない関数にmyfooを送った場合で,自動キャストがそこにある場合には,CAST(myfoo AS otherfootype)やmyfoo::otherfootypeというものを必要としません.

自動キャストのふるまいに頼る危険性は,関数をオーバロードするときに出てきます.たとえば,box2dを取るものとbox3dとをとるがジオメトリをとらないとします.どちらの関数とも,ジオメトリは両方に自動キャストするので,ジオメトリを使って良いです.-- しかし,あいまいな関数エラーで終わります.PostgreSQLに強制的に選択させるために,CAST(mygeom As box3d)またはmygeom::box3dを実行します.

[注意]
少なくともPostgreSQL 8.3では,全て文字列にキャストできます(おそらく,不思議な未知の型のためです).オブジェクトを文字列にキャストするために表現するキャストの定義は必要ありません.
box2d — xmin, ymin, xmax, ymaxで作られるボックス.しばしばジオメトリを囲む二次元のボックスを返すために使われます.
box3d — xmin, ymin, zmin, xmax, ymax, zmaxで作られるボックス.しばしばジオメトリやジオメトリのコレクションの三次元範囲を返します.
box3d_extent — xmin, ymin, zmin, xmax, ymax, zmaxで作られるボックス.しばしばジオメトリの範囲を返すために使われます.
geometry — 平面空間データ型
geometry_dump — geom(ジオメトリオブジェクトを保持)とpath[](ダンプされたオブジェクト内のジオメトリの位置を保持する1次元配列)の,二つのフィールドを持つ空間データ型.
geography — 回転楕円体空間データ型

7.2. 管理関数

AddGeometryColumn — ジオメトリカラムを既存の属性テーブルに追加します.
DropGeometryColumn — ジオメトリカラムを空間テーブルから除去します.
DropGeometryTable — テーブルとgeometry_columnsの当該テーブルへの参照を削除します.
PostGIS_Full_Version — 完全なPostGISのバージョン情報とコンフィギュレーション情報を報告します.
PostGIS_GEOS_Version — GEOSライブラリのバージョン番号を返します.
PostGIS_LibXML_Version — libxml2のバージョン番号を返します.
PostGIS_Lib_Build_Date — PostGISライブラリのビルド日付を返します.
PostGIS_Lib_Version — PostGISのバージョン番号を返します.
PostGIS_PROJ_Version — PROJ4のバージョン番号を返します.
PostGIS_Scripts_Build_Date — PostGISスクリプトのビルド日付を返します.
PostGIS_Scripts_Installed — このデータベースにインストールしたPostGISスクリプトのバージョン番号を返します.
PostGIS_Scripts_Released — インストールしたPostGISライブラリとともにリリースされたpostgis.sqlスクリプトのバージョン番号を返します.
PostGIS_Uses_Stats — STATS使用が有効な場合にTRUEを返します.
PostGIS_Version — PostGISバージョン番号とコンパイルオプションを返します.
Populate_Geometry_Columns — ジオメトリカラムが適切な空間制限を持ち,geometry_columnsテーブルに存在することを確実にします.
Probe_Geometry_Columns — 全てのテーブルのPostGISジオメトリ制限を走査し,geometry_columnsテーブルに存在しない場合は追加を行います.
UpdateGeometrySRID — ジオメトリカラムの全てのフィーチャーのSRID,geometry_columnsメタデータとSRIDテーブル制限を更新します.

7.3. ジオメトリコンストラクタ

ST_BdPolyFromText — MultiLineStringのWell-Known text表現による任意の閉じたラインストリングのコレクション与えられたポリゴンを生成します.
ST_BdMPolyFromText — MultiLineStringのWell-Known text表現による任意の閉じたラインストリングのコレクション与えられたマルチポリゴンを生成します.
ST_GeogFromText — Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します.
ST_GeographyFromText — Well-Known Text表現または拡張WKTから指定したジオグラフィ値を返します.
ST_GeogFromWKB — Well-Known Binaryジオメトリ表現(WKB)または拡張WKB(EWKB)からジオグラフィインスタンスを生成します.
ST_GeomCollFromText — ジオメトリのコレクションをWKTのコレクションと与えられたSRIDから生成します.SRIDが与えられていない場合は-1とします.
ST_GeomFromEWKB — 拡張Well-Known Binary表現(EWKB)から指定したST_Geometry値を返します.
ST_GeomFromEWKT — 拡張Well-Known Text表現(EWKT)から指定されたST_Geometry値を返します.
ST_GeometryFromText — Well-Knwon Text表現(WKT)から指定したST_Geometry値を返します.これはST_GeomFromTextの別名です.
ST_GeomFromGML — ジオメトリのGML表現を入力とし,PostGISジオメトリオブジェクトを出力します.
ST_GeomFromKML — ジオメトリのKML表現の入力をとり,PostGISジオメトリオブジェクトを出力します.
ST_GMLToSQL — GML表現から指定したST_Geometry値を返します.これはST_GeomFromGMLの別名です.
ST_GeomFromText — Well-Known Text表現(WKT)から指定したST_Geometryを返します.
ST_GeomFromWKB — Well-Knwon Binaryジオメトリ表現(WKB)とSRIDオプションからジオメトリインスタンスを生成します.
ST_LineFromMultiPoint — LINESTRINGをMULTIPOINTから生成します.
ST_LineFromText — WKT表現と与えられたSRIDからジオメトリを生成します.SRIDが与えられていない場合は-1(不明)となります.
ST_LineFromWKB — WKB表現と与えられたSRIDからLINESTRINGを生成します.
ST_LinestringFromWKB — WKB表現と与えられたSRIDからジオメトリを生成します.
ST_MakeBox2D — 与えられたポイントジオメトリから定義されるBOX2Dを生成します.
ST_MakeBox3D — 与えられた三次元ポイントジオメトリから定義されるBOX3Dを生成します.
ST_MakeLine — ポイントジオメトリからラインストリングを生成します.
ST_MakeEnvelope — 与えられた最小値と最大値から長方形ポリゴンを生成します.入力値はSRIDで指定されたSRSでなければなりません.
ST_MakePolygon — 与えられた環で形成されるポリゴンを生成します.入力ジオメトリは閉じたラインストリングでなければなりません.
ST_MakePoint — 二次元,XYZの三次元,四次元のポイントジオメトリを生成します.
ST_MakePointM — X, Y, M座標を持つポイントジオメトリを生成します.
ST_MLineFromText — WKT表現から指定したST_MultiLineString値を返します.
ST_MPointFromText — Well-Known Text(WKT)表現と与えられたSRIDからジオメトリを生成します.SRIDを与えない場合は-1(不明)となります.
ST_MPolyFromText — Well-Known Text(WKT)表現と与えられたSRIDからマルチポリゴンを生成します.SRIDを与えない場合は-1(不明)となります.
ST_Point — 与えられた座標値のST_Pointを返します.ST_MakePointのOGC別名です.
ST_PointFromText — WKTと与えられたSRIDからポイントジオメトリを生成します.SRIDが与えられていない場合は-1(不明)とします.
ST_PointFromWKB — WKBと与えられたSRIDからジオメトリを生成します.
ST_Polygon — 指定されたラインストリングとSRIDからポリゴンを生成します.
ST_PolygonFromText — WKTと与えられたSRIDからジオメトリを生成します.SRIDが与えられていない場合は-1(不明)とします.
ST_WKBToSQL — Well-Known Binary表現(WKB)からST_Geometry値を生成します.これはSRIDを取らないST_GeomFromWKBの別名です.
ST_WKTToSQL — Well-Known Text表現(WKT)からST_Geometry値を生成します.これはSRIDを取らないST_GeomFroTextの別名です.

7.4. ジオメトリアクセサ

GeometryType — ジオメトリ型を'LINESTRING', 'POLYGON', 'MULTIPOINT'などの文字列で返します.
ST_Boundary — ジオメトリの組み合わせ境界の閉包を返します.
ST_CoordDim — ST_Geometry値の座標次元を返します.
ST_Dimension — ジオメトリの固有次元を返します.座標次元以下でなければなりません.
ST_EndPointLINESTRINGの最後のポイントをPOINTで返します.
ST_Envelope — ジオメトリの64ビット浮動小数点数(float8)バウンディングボックスを表現するジオメトリを返します.
ST_ExteriorRingPOLYGONの外環を表現するラインストリングを返します.ジオメトリがポリゴンでない場合はNULLを返します.マルチポリゴンでは動作しません.
ST_GeometryN — GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGONの場合には,1はじまりでN番目のジオメトリを返します.それ以外の場合にはNULLを返します.
ST_GeometryType — ST_Geometry値のジオメトリ型を返します.
ST_InteriorRingN — ポリゴンのN番目の内環を返します.ジオメトリがポリゴンでないかNが範囲外の場合はNULLを返します.
ST_IsClosedLINESTRINGの始点と終点が一致する場合にTRUEを返します.
ST_IsEmpty — 空ジオメトリの場合にTRUEを返します.TRUEの場合,ジオメトリは,GEOMETRYCOLLECTION(EMPTY)等のように点の集合が空集合になることを表現しています.
ST_IsRingLINESTRINGが閉じていて,かつ単純である場合にTRUEを返します.
ST_IsSimple — ジオメトリが自己インタセクションや自己接触のような異常な幾何学ポイントを持っていない場合にTRUEを返します.
ST_IsValidST_Geometryが妥当である場合にTRUEを返します.
ST_IsValidReason — ジオメトリが妥当か,妥当でないならその理由を述べる文字列を返します.
ST_M — ポイントのM座標値を返します.有効でないならNULLを返します.入力はポイントでなければなりません.
ST_NDims — ジオメトリの座標次元をsmall intで返します.値は2, 3, 4のいずれかです.
ST_NPoints — ジオメトリのポイント(バーテック)数を返します.
ST_NRings — ジオメトリがポリゴンまたはマルチポリゴンの場合,リング数を返します.
ST_NumGeometries — ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を,それ以外の場合はNULLを返します.
ST_NumInteriorRings — ジオメトリの最初のポリゴンの内環数を返します.この関数はポリゴンとマルチポリゴンの両方で動作しますが,最初のポリゴンしか見ません.ジオメトリにポリゴンが存在しない場合はNULLを返します.
ST_NumInteriorRing — ジオメトリの最初のポリゴンの内環の数を返します.ST_NumInteriorRingsと同義です.
ST_NumPoints — ST_LineStringまたはST_CircularString内のポイント数を返します.
ST_PointN — ST_LineStringまたはST_CircularStringの中にあるN番目のポイントを返します.ジオメトリにラインストリングが無い場合NULLを返します.
ST_SRID — spatial_ref_sysテーブルで定義されたST_Geometryの空間参照系IDを返します.
ST_StartPointLINESTRINGの最初のポイントをPOINTとして返します.
ST_SummaryST_Geometryについての要約文を返します.
ST_X — ポイントのX座標値を返し,有効でないならNULLを返します.入力はポイントでなければなりません.
ST_Y — ポイントのY座標値を返し,有効でないならNULLを返します.入力はポイントでなければなりません.
ST_Z — ポイントのZ座標値を返し,有効でないならNULLを返します.入力はポイントでなければなりません.
ST_Zmflag — ポイントのZM(次元の意味)フラグをsmall intで返します.値は 0=XY, 1=XYM, 2=XYZ, 3=XYZMとなります.

7.5. ジオメトリエディタ

ST_AddPoint — ラインストリングに対して指定した<position>(0はじまり)の前にポイントを追加します.
ST_Affine — 三次元アフィン変換をジオメトリに適用して移動,回転,拡大縮小を一度に行います.
ST_Force_2D — ジオメトリを「二次元モード」に強制させます.全ての出力表現はXY座標値のみを持つことになります.
ST_Force_3D — ジオメトリをXYZモードに強制します.これはST_Force_3DZの別名です.
ST_Force_3DZ — ジオメトリをXYZモードに強制します.これはST_Force_3Dと同義です.
ST_Force_3DM — ジオメトリをXYMモードに強制します.
ST_Force_4D — ジオメトリをXYZMモードに強制します.
ST_Force_Collection — ジオメトリをジオメトリコレクションに変換します.
ST_ForceRHR — ポリゴンのバーテックの基底を右手系に強制します.
ST_LineMerge — マルチラインストリングをまとめ合わせて形成されるラインストリング(またはその集合)を返します.
ST_CollectionExtract — ジオメトリコレクションを与えると特定の型のマルチ系ジオメトリを返します.指定した型以外の要素ジオメトリは無視されます.指定した型の要素ジオメトリが存在しない場合は空コレクションが返ります.ポイント,ラインストリング,ポリゴンのみをサポートします.番号は 1==ポイント, 2==ラインストリング, 3==ポリゴンです.
ST_Multi — マルチ系ジオメトリを返します.ジオメトリが既にマルチ系なら変更せずに返します.
ST_RemovePoint — ラインストリングからポイントを削除します.オフセットは0はじまりです.
ST_Reverse — バーテックの順序を逆にしたジオメトリを返します.
ST_Rotate — ST_RotateZと同等です.
ST_RotateX — ジオメトリをX軸についてrotRadians回転させます.
ST_RotateY — ジオメトリをY軸についてrotRadians回転させます.
ST_RotateZ — ジオメトリをZ軸についてrotRadians回転させます.
ST_Scale — パラメータで軸を乗算してジオメトリを新しいサイズに拡大縮小します.ST_Scale(geom, Xfactor, Yfactor, Zfactor)とします.
ST_Segmentize — 与えられた距離より長いセグメントを持たないジオメトリに編集して返します.距離計算は二次元でしか行いません.
ST_SetPoint — ラインストリングのN番目を与えられたポイントに置き換えます.インデクスは0はじまりです.
ST_SetSRID — ジオメトリのSRIDを特定の整数値に設定します.
ST_SnapToGrid — 入力ジオメトリの全てのポイントを原点とセルサイズを定めたグリッドにスナップします.同じセルに落ちた,連続するポイントを削除します.引数ジオメトリのジオメトリタイプを定義できないポイントしか残らなかった場合は,NULLを返します.コレクション内で崩壊したジオメトリはそこから削除されます.精度を落とすのに便利です.
ST_Transform — 整数パラメータで参照されるSRIDに座標変換し,新しいジオメトリを返します.
ST_Translate — 整数パラメータをオフセットにして新しい位置にジオメトリを移動させます.ST_Translate(geom, X, Y) or ST_Translate(geom, X, Y, Z)になります.
ST_TransScale — deltaXとdeltaY引数を使ってジオメトリを移動させ,XFactor,YFactor引数で拡大縮小させます.二次元でのみ動作します.

7.6. ジオメトリ出力

ST_AsBinary — ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Binary(WKB)表現を返します.
ST_AsEWKB — ジオメトリのSRIDメタデータが付いたWell-Known Binary(WKB)表現を返します.
ST_AsEWKT — ジオメトリのSRIDメタデータが付いたWell-Known Text(WKT)表現を返します.
ST_AsGeoJSON — GeoJSON要素としてジオメトリを返します.
ST_AsGML — GML第2版または第3版としてジオメトリを返します.
ST_AsHEXEWKB — ジオメトリのHEXEWKB書式(文字列)を返します.リトルエンディアン(NDS)またはビッグエンディアン(XDR)のどちらかのエンコーディングを使います.
ST_AsKML — ジオメトリをKML要素で返します.いくつかの形式があります.デフォルトはversion=2, precision=15です.
ST_AsSVG — ジオメトリまたはジオグラフィで与えられたSVGパスデータによるジオメトリを返します.
ST_GeoHash — ジオメトリのGeoHash表現(geohash.org)を返します.
ST_AsText — ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text(WKT)表現を返します.

7.7. 演算子

&& — AのバウンディングボックスがBのバウンディングボックスをオーバラップする場合にTRUEを返します.
&< — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか,Bのバウンディングボックスの左にある場合にTRUEを返します.
&<| — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか,Bのバウンディングボックスの下にある場合にTRUEを返します.
&> — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか,Bのバウンディングボックスの右にある場合にTRUEを返します.
<< — Aのバウンダリボックスが,厳密にBのバウンダリボックスの左にある場合にTRUEを返します.
<<| — Aのバウンダリボックスが,厳密にBのバウンダリボックスの下にある場合にTRUEを返します.
= — Aのバウンダリボックスが,Bのバウンダリボックスと同じ場合にTRUEを返します.
>> — Aのバウンダリボックスが,厳密にBのバウンダリボックスの右にある場合にTRUEを返します.
@ — AのバウンダリボックスがBのバウンダリボックスに含まれている場合にTRUEを返します.
|&> — AのバウンディングボックスがBのバウンディングボックスをオーバラップするか,Bのバウンディングボックスの上にある場合にTRUEを返します.
|>> — Aのバウンダリボックスが,厳密にBのバウンダリボックスの上にある場合にTRUEを返します.
~ — AのバウンディングボックスがBのバウンディングボックスを含む場合にTRUEを返します.
~= — AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します.

7.8. 空間関係関数と空間計測関数

ST_Area — ポリゴンまたはマルチポリゴンの場合にはサーフェスの面積を返します.ジオメトリ型の面積はSRIDに基づく単位で,ジオグラフィ型の面積は平方メートルです.
ST_Azimuth — pointAとPointBで定義されるベクタの,水平面での方位をラジアン単位で返します.
ST_Centroid — ジオメトリの幾何学的重心を返します.
ST_ClosestPoint — g1上の,g2に最も近い二次元ポイントを返します.最短線の一つ目のポイントです.
ST_Contains — BのポイントがAの外部に無く,かつBの内部の少なくとも一つの点がAの内部にある場合であって,かつこの場合に限って,TRUEを返します.
ST_ContainsProperly — BがAの内部にインタセクトするが境界(または外部)にインタセクトしない場合に,TRUEを返します.Aは自身には,ContainsPropertyではありませんが,Containsです.
ST_Covers — ジオメトリBにジオメトリAの外となるポイントが無い場合には,1(TRUE)を返します.
ST_CoveredBy — ジオメトリ/ジオグラフィAの点がジオメトリ/ジオグラフィBの外に無い場合に,1(TRUE)を返します.
ST_Crosses — 与えられたジオメトリが共通の内部の点を持ち,かつそうでない点を持つ場合に,TRUEを返します.
ST_LineCrossingDirection — 二つのラインストリングが与えられ,クロスの種類を-3から3の区間の数で返します.0の場合はクロスしていません.
ST_Disjoint — ジオメトリが「空間的にインタセクトしていない」すなわち,空間を共有ししていない場合に,TRUEを返します.
ST_Distance — ジオメトリ型については,二つのジオメトリの,二次元の最小デカルト距離(空間参照系に基づきます)を,投影された単位で返します. ジオグラフィ型については,デフォルトでは,二つのジオメトリ間の回転楕円体上の最小距離をメートル単位で返します.
ST_HausdorffDistance — 二つのジオメトリ間のハウスドルフ距離を返します.基本的にジオメトリが似ているかどうかを計測するものです.単位はジオメトリの空間参照系の単位です.
ST_MaxDistance — 二つのジオメトリ間の二次元距離の最大値を,投影法の単位で返します.
ST_Distance_Sphere — 二つの経度緯度ジオメトリ間の最小距離をメートル単位で返します.半径6370986メートルの球面を用います.ST_Distance_Spheroidより早いですが精度が低くなります.PostGIS 1.5より前では,ポイントについてのみ実装されていました.
ST_Distance_Spheroid — 指定した回転楕円体による,二つのジオメトリ間の最小距離を返します.PostGIS 1.5より前ではポイントのみサポートされていました.
ST_DFullyWithin — 全てのジオメトリが,指定したジオメトリから指定した距離内にある場合に,TRUEを返します.
ST_DWithin — ジオメトリが,指定したジオメトリから指定した距離内にある場合に,TRUEを返します.ジオメトリについては,距離は空間参照系で定義されている単位になります.ジオグラフィについては,メートル単位で,デフォルトではuse_spheroid=true(回転楕円体を使った計算)となり,速いチェックをするにはuse_spheroid=falseとして球面を使って計算します.
ST_Equals — 与えられたジオメトリ表現が同じ場合にはTRUEを返します.方向は無視されます.
ST_HasArc — ジオメトリまたはジオメトリコレクションが曲線ストリングを含む場合に,TRUEを返します.
ST_Intersects — ジオメトリ/ジオグラフィが「空間的にインタセクトする」(空間に共有部分がある)場合には,TRUEを返します.そうでない(非接続)場合はFALSEを返します.ジオグラフィ -- 許容量は0.00001メートルです(どの閉じた点でもインタセクトを考慮されます).
ST_Length — LINESTRINGまたはMULTILINESTRINGの場合に,ジオメトリの二次元長を返します.ジオメトリでは,単位は空間参照系の単位です.ジオグラフィでは,メートル単位です(デフォルトの回転楕円体)
ST_Length2D — LINESTRINGまたはMULTILINESTRINGに対して,ジオメトリの二次元長を返します.これはST_Lengthの別名です.
ST_Length3D — LINESTRINGまたはMULTILINESTRINGに対して,ジオメトリの三次元長または二次元長を返します.
ST_Length_Spheroid — LINESTRINGまたはMULTILINESTRINGに対して,回転楕円体上の三次元長または二次元長を返します.ジオメトリの座標が経度/緯度で,投影変換なしに距離を求める場合に便利です.
ST_Length2D_Spheroid — 回転楕円体上のLINESTRING/MULTILINESTRINGの二次元長を計算します.ジオメトリの座標が経度/緯度で,投影変換なしに距離を求める場合に便利です.
ST_Length3D_Spheroid — 標高を考慮に入れて,回転楕円体上の長さを計算します.これはST_Length_Spheroidの別名です.
ST_LongestLine — 二つのジオメトリの二次元長が最長となるポイントを返します.見つかった最長線が複数ある場合は,最初のもののみ返します.返されるラインは捨てにg1側を始点,g2側を終点とします.この関数が返すラインの長さは,常にst_maxdistanceと同じになります.
ST_OrderingEquals — 与えられたジオメトリが同じジオメトリを示し,ポイントの順序が同じである場合に,TRUEを返します.
ST_Overlaps — ジオメトリが共有空間を持ち,同じ次元で,かつ完全に一方に含まれていない場合に,TRUEを返します.
ST_Perimeter — ST_SrrfaceまたはST_MultiSurface(POLYGONまたはMULTIPOLYGON)の境界の長さの計測値を返します.
ST_Perimeter2D — POLYGONまたはMULTIPOLYGONの場合に,二次元周囲長の計測値を返します.これは,現在はST_Perimeterの別名です.
ST_Perimeter3D — POLYGONまたはMULTIPOLYGONの場合に,三次元周囲長の計測値を返します.
ST_PointOnSurface — サーフェス上にあることを保障されたPOINTを返します.
ST_Relate — intersectionMatrixPatternの値について,二つのジオメトリの内部,境界,外部のインタセクションのテストを行い,ジオメトリが空間的にもう一つのジオメトリと関係している場合に,TRUEを返します.
ST_ShortestLine — 二つのジオメトリの二次元長が最短となるラインを返します.
ST_Touches — ジオメトリが共通のポイントを少なくとも一つ持ち,内部でインタセクトしない場合に,TRUEを返します.
ST_Within — ジオメトリAが完全にジオメトリBの内側にある場合にTRUEを返します.

7.9. ジオメトリ処理関数

ST_Buffer — (T) ジオメトリ: このジオメトリからの距離が指定された距離以下となるポイント全てを表現するジオメトリを返します.計算は,ジオメトリの空間参照系で行われます.ジオグラフィ: 平面変換ラッパを使います.形状制御のために異なる終端キャップと継ぎ目の設定のサポートが1.5で導入されました.buffer_styleオプションは,quad_segs=#,endcap=round|flat|square,join=round|mitre|bevel,mitre_limit=#.# となります.
ST_BuildArea — 与えられたジオメトリの構成ラインから面積を持つジオメトリを生成します.
ST_Collect — 他のジオメトリのコレクションから,指定したST_Geometry値を返します.
ST_ConvexHull — 凸包(convex hull)は与えられた集合の全てのジオメトリを含む最小の閉じた凸ジオメトリです.
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 — ポリゴンの外環と内環を表すgometry_dump行の集合を返します.
ST_Intersection — (T) geomAとgeomBの共有部分を表すジオメトリを返します.ジオグラフィ実装では,インタセクトするためにジオメトリに変換して,WGS84に戻します.
ST_LineToCurve — LINESTRING/POLYGONをCIRCULARSTRINGとCURVED POLYGONに変換します.
ST_MemUnion — ST_Unionと同じですが,メモリフレンドリ(少ないメモリ使用,多いCPU時間)です.
ST_MinimumBoundingCircle — ジオメトリを完全に含む最小の円ポリゴンを返します.デフォルトでは,四分の一円に対して48区分を使用します.
ST_Polygonize — 集計関数.ジオメトリの集合のラインから形成されうるポリゴンを含むジオメトリコレクションを生成します.
ST_Shift_Longitude — ジオメトリの全てのフィーチャーの全ての構成要素の全てのポイント/バーテックを読み,経度が0未満なら360を足します.結果は,180度を中心としたマップにプロットされる0度から360度にあるデータとなります.
ST_Simplify — 与えられたジオメトリを「簡略化」したものを返します.Douglas-Peukerを使用します.
ST_SimplifyPreserveTopology — 与えられたジオメトリを「簡略化」したものを返します.Douglas-Peukerを使用します.不正な派生ジオメトリ(特にポリゴン)を回避します.
ST_SymDifference — AとBの,インタセクトしていない部分を表現するジオメトリを返します.対称と呼ばれるのは,ST_SymDifference(A,B) = ST_SymDifference(B,A) となるからです.
ST_Union — ジオメトリ結合の点集合を表現するジオメトリを返します.

7.10. 線参照

ST_Line_Interpolate_Point — 線に沿った内挿点を返します.第二引数はfloat8で0から1の区間で,そのポイントが位置するラインストリングの総延長についての割合です.
ST_Line_Locate_Point — ラインストリング上の,与えたポイントへの最短点を,二次元長に対する割合として0から1の区間で返します.
ST_Line_Substring — 二次元長に対する割合で示された開始位置と終了位置で切り取られた部分ラインストリングを返します.第二引数と第三引数は,float8で0から1の区間です.
ST_Locate_Along_Measure — 指定したM値に一致する要素からなる,派生ジオメトリコレクション値を返します.ポリゴン要素はサポートしません.
ST_Locate_Between_Measures — 指定したM値の範囲内にある要素からなる,派生ジオメトリコレクション値を返します.ポリゴン要素はサポートしません.
ST_LocateBetweenElevations — 指定したZ値の範囲内にある要素からなる,派生ジオメトリ(コレクション)値を返します.三次元,四次元のラインストリングまたはマルチラインストリングのみをサポートします.
ST_AddMeasure — 開始点と終了点の間の線型的にM値を内挿した派生ジオメトリを返します.ジオメトリがM軸を持たない場合は追加されます.ジオメトリがM軸を持つ場合は新しい値に上書きされます.ラインストリングとマルチラインストリングのみサポートされます.

7.11. ロングトランザクションサポート

AddAuth — 現在のトランザクションで使われる認証トークンを追加します.
CheckAuth — 認証トークンに基づいて行の更新と削除を拒否/許可するテーブルのトリガを生成します.
DisableLongTransactions — ロングトランザクションサポートを無効にします.この関数によって,ロングトランザクションサポート用のメタデータテーブルが削除され,ロックチェックテーブルに付けられた全てのトリガが削除されます.
EnableLongTransactions — ロングトランザクションサポートを有効にします.この関数によって,必要なメタデータテーブルが生成されます.このセクションにある他の関数を呼ぶ前に,一度呼ぶ必要があります.二度呼んでも構いません.
LockRow — テーブルの指定した行についてロック/認証を設定します.
UnlockRows — 指定した認証IDが保持するロックを全て削除します.解放されたロックの数が返されます.

このモジュールとPL/pgSQL関数は,Web Feature Service仕様で求められているロングロックをサポートします.

[注意]

serializable transaction levelを使わなければなりません.さもなくばロック機構が壊れます.

7.12. その他の関数

ST_Accum — 集計関数です.ジオメトリの配列を生成します.
Box2D — ジオメトリの最大範囲を表すBOX2Dを返します.
Box3D — ジオメトリの最大範囲を表すBOX3Dを返します.
ST_Estimated_Extent — 与えられた空間テーブルの「見積もられた」範囲を返します.ジオメトリカラムの統計情報から見積もります.指定されていない場合は現在のスキーマが使われます.
ST_Expand — 入力ジオメトリのバウンディングボックスから全ての方向に拡張されたバウンディングボックスを返します.倍精度浮動小数点数を使います.
ST_Extent — ジオメトリのバウンディングボックスを返す集計関数です.
ST_Extent3D — ジオメトリの三次元バウンディングボックスを返す集計関数です.
Find_SRID — find_srid(<db/schema>, <table>, <column>)という書式で,指定したカラムについて,GEOMETRY_COLUMNSテーブルを探索して,SRID整数値を返します.
ST_Mem_Size — ジオメトリが取る容量(バイト単位)を返します.
ST_Point_Inside_Circle — ポイントジオメトリがcenter_x, center_y , radiusで定義される円内にあるかどうか
ST_XMax — 二次元,三次元ジオメトリのバウンダリボックスのX最大値を返します.
ST_XMin — 二次元,三次元ジオメトリのバウンダリボックスのX最小値を返します.
ST_YMax — 二次元,三次元ジオメトリのバウンダリボックスのY最大値を返します.
ST_YMin — 二次元,三次元ジオメトリのバウンダリボックスのY最小値を返します.
ST_ZMax — 二次元,三次元ジオメトリのバウンダリボックスのZ最大値を返します.
ST_ZMin — 二次元,三次元ジオメトリのバウンダリボックスのZ最小値を返します.

7.13. 例外的関数

PostGIS_AddBBox — ジオメトリにバウンディングボックスを追加します.
PostGIS_DropBBox — バウンディングボックスのキャッシュをジオメトリから削除します.
PostGIS_HasBBox — このジオメトリのバウンディングボックスがキャッシュされているならTRUEを,それ以外ならFALSEを返します.

これらの関数は,データが何らかの方法で壊された場合にのみ使用されるべきのもので,めったに使われません.データ破壊のトラブルシューティングに使われ,また,通常の状況下では決して起こらないことの修復にも使われます