次に示す関数は、PostGISが提供する空間集約関数です。sum
やaverage
といった他のSQL集約関数のように使います。
次に示す関数は、PostGISが提供する空間ウィンドウ関数です。row_number()
, lead()
, lag()
等のような他のSQLウィンドウ関数のように使います。全ての関数で、SQLのOVER()
句が必要です。
次に示す関数は、SQL/MM 3標準に準拠したPostGIS関数です。
- ST_3DArea - 3次元の面ジオメトリの面積を計算します。立体の場合は0を返します。
説明
Availability: 2.1.0
このメソッドにはSFCGALバックエンドが必要です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 8.1, 10.5
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_3DDWithin - 二つの3次元ジオメトリが与えらえれた3次元距離内にあるかどうかをテストします。
説明
二つのジオメトリ値の3次元距離がdistance_of_srid以下ならTRUEを返します。距離の単位はジオメトリの空間参照系の単位です。この関数から意味のある結果を得るには、引数に使うジオメトリを同じ空間系 (同じSRIDを持つ)にしなければなりません。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
このメソッドはSQL/MM仕様の実装です。 SQL-MM ?
Availability: 2.0.0
- ST_3DDifference - 3次元の差分を計算します。
説明
geom2に含まれないgeom1の一部を返します。
Availability: 2.2.0
このメソッドにはSFCGALバックエンドが必要です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_3DDistance - 投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
説明
投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
このメソッドはSQL/MM仕様の実装です。 SQL-MM ISO/IEC 13249-3
Availability: 2.0.0
Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。
Changed: 3.0.0 - SFCGAL版は削除されました
- ST_3DIntersection - 3次元のインタセクトした (共有する)部分を計算します。
説明
geom1とgeom2の間で共有される部分のジオメトリを返します。
Availability: 2.1.0
このメソッドにはSFCGALバックエンドが必要です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_3DIntersects - 二つのジオメトリが3次元空間において空間的にインタセクトするかどうかをテストします。ポイント、ラインストリング、ポリゴン、多面体サーフェス (面)についてのみ動作します。
説明
オーバラップ、接触、包含は全て、ジオメトリがインタセクトしていることを意味しています。これらがTRUEを返す場合は、空間的にインタセクトしています。非接続は、空間インタセクトについてFALSEとなります。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。
Changed: 3.0.0 SFCGALバックエンドが削除され、GEOSバックエンドではTINに対応しました。
Availability: 2.0.0
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1
- ST_3DLength - 線ジオメトリの3次元長を返します。
説明
LINESTRINGまたはMULTILINESTRINGの場合には、そのジオメトリの3次元長または2次元長を返します。2次元ラインでは2次元長を返します (ST_LengthとST_Length2Dと同じです)。
この関数は3次元に対応し、Z値を削除しません。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 7.1, 10.3
Changed: 2.0.0 以前の版ではST_Length3Dと呼ばれていました。
- ST_3DPerimeter - ポリゴンジオメトリの3次元周長を返します。
説明
POLYGONまたはMULTIPOLYGONジオメトリの場合には、3次元周囲長を返します。ジオメトリが2次元の場合には、2次元周囲長を返します。
この関数は3次元に対応し、Z値を削除しません。
このメソッドはSQL/MM仕様の実装です。 SQL-MM ISO/IEC 13249-3: 8.1, 10.5
Changed: 2.0.0 以前の版ではST_Perimeter3Dと呼ばれていました。
- ST_3DUnion - 3次元の結合を計算します。
説明
Availability: 2.2.0
Availability: 3.3.0 集約関数の形式が追加されました
このメソッドにはSFCGALバックエンドが必要です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
集約関数形式: ジオメトリの集合を3次元結合したジオメトリを返します。ST_3DUnion()関数は、PostgreSQL用語で言うところの「集約関数」です。つまり、SUM()やMEAN()と同じ方法で複数のデータ行の操作を行い、他の集約関数と同じようにNULLジオメトリを無視します。
- ST_AddEdgeModFace - 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを編集し、一つのフェイスを追加します。
説明
新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを編集し、一つのフェイスを追加します。
可能なら、新しいフェイスは新しいエッジの左側に作られます。左側のフェイスがユニバースフェイス (境界がない)でなければならない場合には、可能ではありません。
新しく追加されたエッジの識別番号を返します。
この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
引数がNULLの場合、与えられたノードが不明な場合(トポロジスキーマのnodeテーブル内に既に存在していなければなりません)、acurveがLINESTRINGでない場合、anodeとanothernodeがacurveの始端、終端でない場合には、例外が投げられます。
acurveジオメトリの空間参照系 (SRID) がトポロジと同じでない場合、例外が投げられます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.13
- ST_AddEdgeNewFaces - 新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを削除して、分割した二つのフェイスに置き換えます。
説明
新しいエッジを追加します。新しいエッジがフェイスを分割する場合には、もとのフェイスを削除して、分割した二つのフェイスに置き換えます。新しいエッジの識別番号を返します。
この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
引数がNULLの場合、与えられたノードが不明な場合(トポロジスキーマのnodeテーブル内に既に存在していなければなりません)、acurveがLINESTRINGでない場合、anodeとanothernodeがacurveの始端、終端でない場合には、例外が投げられます。
acurveジオメトリの空間参照系 (SRID) がトポロジと同じでない場合、例外が投げられます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.12
- ST_AddIsoEdge - anodeとanothernodeで指定される二つの既存孤立ノードを接続するトポロジに、ジオメトリalinestringで定義される孤立エッジを追加し、新しいエッジの識別番号を返します。
説明
anodeとanothernodeで指定される二つの既存孤立ノードを接続するトポロジに、ジオメトリalinestringで定義される孤立エッジを追加し、新しいエッジの識別番号を返します。
alinestringジオメトリとトポロジとで空間参照系 (SRID)が異なる場合、引数がNULLである場合、ノードが一つ以上のフェイスに含まれている場合には、二つのノードが既存エッジの始端または終端である場合には、例外が投げられます。
alinestringがanodeとanothernodeに属するフェイス内に無い場合には、例外が投げられます。
anodeとanothernodeが、alinestringの始端と終端でない場合には、例外が投げられます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.4
- ST_AddIsoNode - フェイスに孤立ノードを追加し、新しいノードの識別番号を返します。フェイスがNULLの場合でもノードは生成されます。
説明
atopologyで指定されたトポロジのafaceの識別番号で示された既存のフェイスに対して、apointで示された位置に孤立ノードを追加します。
ポイントジオメトリの空間参照系 (SRID)がトポロジと同じでない場合、apointがポイントジオメトリでない場合、ポイントがNULLである場合、または、ポイントが既存のエッジ (境界も含む)とインタセクトする場合には、例外が投げられます。また、ポイントが既にノードとして存在する場合、例外が投げられます。
afaceがNULLでなく、かつapointがフェイス内に無い場合には、例外が投げられます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X 3.1
- ST_Area - ポリゴンジオメトリの面積を返します。
説明
ポリゴンジオメトリの面積を返します。ジオメトリ型では2次元のデカルト (平面)面積が、SRIDで指定した単位で計算されます。ジオグラフィ型では、デフォルトでは、面積は回転楕円体上にあるものとし、平方メートル単位で計算されます。より速いものの精度が落ちる計算のために、 ST_Area(geog,false)で球面モデルを使った計算ができます。
Enhanced: 2.0.0 - 2次元多面体サーフェス対応が導入されました。
Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。
Changed: 3.0.0 - SFCGALに依存しなくなりました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.2, 9.5.3
この関数は多面体サーフェスに対応しています。
多面体サーフェスについて、2次元多面体サーフェスのみ対応します (2.5次元は対応しません)。2.5次元について、0でない答が与えられるかも知れませんが、完全にXY平面に付いているサーフェスのみです。
- ST_AsBinary - ジオメトリ/ジオグラフィの、SRIDメタデータを持たないOGC/ISO Well-Knownバイナリ (WKB)表現を返します。
説明
ジオメトリのOGC/ISOWell-Knownバイナリ (WKB)表現を返します。最初の形式では、サーバ機のエンディアンをデフォルトとして使います。二つ目の形式では、リトルエンディアン ('NDR')またはビッグエンディアン ('XDR')を指定する文字列を取ります。
WKB書式は、ジオメトリデータをデータベースから、完全な数値精度を維持して読み取るために使われます。これにより、WKT等のテキスト書式で発生する丸め誤差を回避できます。
WKB表現をPostGISジオメトリに逆変換するにはを使います。
OGC/ISO WKB書式はSRIDを持ちません。SRIDを含むEWKB書式を得るにはを使います。
PostgreSQL 9.0でのデフォルトの振る舞いが変更され、出力がbytea型の16進数エンコーディングなりました。GUIツールで古い振る舞いが必要な場合には、データベース内で SET bytea_output='escape' を実行します。
Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
Enhanced: 2.0.0 高次元が導入されました。
Enhanced: 2.0.0 ジオグラフィでのエンディアン指定が導入されました。
Availability: 1.5.0 ジオグラフィが導入されました。
Changed: 2.0.0 この関数への入力は不明な型にすることができなくなり、必ずジオメトリでなければなりません。ST_AsBinary('POINT(1 2)')といった構築ではもはや妥当ではなく、n st_asbinary(unknown) is not unique errorが得られます。このようなコードはST_AsBinary('POINT(1 2)'::geometry);に変更する必要があります。これが不可能な場合にはlegacy.sqlをインストールして下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.37
このメソッドは曲線ストリングと曲線に対応しています。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
この関数は3次元に対応し、Z値を削除しません。
- ST_AsGML - GML第2版または第3版としてジオメトリを返します。
説明
Geography Markup Language (GML)要素としてジオメトリを返します。versionパラメータは、指定する場合には2か3になります。versionパラメータが無い場合には、デフォルトは2です。maxdecimaldigits引数は出力に使用する小数点以下桁数 (デフォルトは15です)の最大値を減らすために使えます。
任意引数maxdecimaldigitsを使用することで、出力ジオメトリが不正になる可能性があります。これを回避するには、前もってに適切なグリッドサイズを与えてこれを使用します。
GML2では2.1.2版を参照し、GML3では3.1.1を参照します。
最後の'options'引数はビットフィールドです。GML出力のCRS出力型を定義するために、また緯度/経度でデータを宣言するために使います。
0: GML Short CRS (たとえば EPSG:4326)、デフォルト値
1: GML Long CRS (たとえば urn:ogc:def:crs:EPSG:4326)
2: GML 3のみ対応。srsDimension属性を出力から削除します。
4: GML 3のみ対応。線について<Curve>でなく<LineString>要素を使います。
16: データは緯度/経度 (すなわち SRID=4326)です。デフォルトではデータは平面上にあると仮定します。このオプションはGML 3.1.1による出力でのみ使われ、軸のオーダに関連します。これを設定すると、座標の順序を入れ替えるので、データベースの経度/緯度の順でなく緯度/経度の順になります。
32: ジオメトリのボックス (エンベロープ)を出力します。
'namespace prefix'引数は、カスタム名前空間のプリフィクスを指定したり、名前空間プリフィクスを指定しない (空にした場合)ために使用します。NULLを指定するか省略した場合には、'gml'プレフィクスを使用します。
Availability: 1.3.2
Availability: 1.5.0 ジオグラフィが導入されました。
Enhanced: 2.0.0 プレフィクスが導入されました。 GML 3用であるoptionsの4は、曲線のかわりにラインストリングを使えるようにするためのものです。GML 3の多面体サーフェスとTINが導入されました。optionsの32はボックスを出力するために導入されました。
Changed: 2.0.0 デフォルトの名前付き引数を使います。
Enhanced: 2.1.0 GML 3用にidが導入されました。
ST_AsGMLのGML 3版以上では多面体サーフェスとTINに対応しています。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 17.2
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
説明
ジオメトリ/ジオグラフィのWell-Known Text (WKT)表現を返します。任意引数maxdecimaldigitsは、出力で使われる小数点以下の最大桁数を制限するのに使います (デフォルトは15)。
WKT表現をPostGISジオメトリに逆変換するにはを使います。
標準のOGC WKT表現はSRIDを含みません。出力表現にSRIDを持たせるには、非標準のPostGIS関数を使います。
WKTにおける数字の文字表現では、完全な浮動小数点数の精度を維持しないことがあります。データ保存や転送で完全な精度を得るにはWell-Known Binary (WKB)書式を使用するのが最善です (およびmaxdecimaldigitsをご覧下さい)。
任意引数maxdecimaldigitsを使用することで、出力ジオメトリが不正になる可能性があります。これを回避するには、前もってに適切なグリッドサイズを与えてこれを使用します。
Availability: 1.5 - ジオグラフィ対応が導入されました。
Enhanced: 2.5 - 精度の任意引数が導入されました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.25
このメソッドは曲線ストリングと曲線に対応しています。
- ST_Boundary - ジオメトリの境界を返します。
説明
ジオメトリの組み合わせ境界の閉包を返します (訳注: ラインストリングは端点、ポリゴンはエッジ、複合オブジェクトは境界のうち奇数番)。組み合わせ境界はOGC仕様の3.12.3.2節に記述されています。結果として出てくる境界は、OGC SPEC 3.12.2で議論されているように、ジオメトリプリミティブを使って表現できます。
GEOSモジュールで実現しています。
2.0.0より前の版では、この関数はGEOMETRYCOLLECTION.を与えると例外を投げました。2.0.0以上では代わりにNULLが返ります (非対応入力)。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 OGC SPEC s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1.17
この関数は3次元に対応し、Z値を削除しません。
Enhanced: 2.1.0 三角対応が導入されました。
Changed: 3.2.0 TINに対応しました。GEOSを使いません。曲線を線形化しません。
- ST_Buffer - あるジオメトリからの距離が指定された距離以下となる点全ての集合となるジオメトリを返します。
説明
ジオメトリ/ジオグラフィからの距離が与えられた距離より短くなる全ての点を表現するPOLYGONまたはMULTIPOLYGONを生成します。距離に負数を指定すると、ジオメトリは拡大されずに縮小されます。負の距離ではポリゴンを完全に縮小し切る可能性があり、その時はPOLYGON EMPTYを返します。ポイントとラインで負の距離を指定すると、常に空を返します。
ジオメトリの場合、指定される距離の単位は、ジオメトリの空間参照系の単位です。ジオグラフィの場合、指定される距離の単位はメートルです。
3番目のパラメータは任意で、バッファの精度とスタイルを扱います。バッファの円弧の精度は四分の一円の近似に使用される辺の数です (デフォルトは8)。バッファのスタイルは キー=値 のペアを空白区切りでリストにして指定します。キーは次の通りです。
'quad_segs=#' : 四分の一円近似に使う辺の数 (デフォルトは8)。
'endcap=round|flat|square' : 終端スタイル (デフォルトは "round")。'butt'は'flat'の同義語として受け付けます。
'join=round|mitre|bevel' : 接続スタイル (デフォルトは"round")。'miter'も'mitre'の同義語として受け付けます。
'mitre_limit=#.#' : マイター比 (訳注: 継ぎ目の内側と外側の距離と線幅との比)の最大値 (継ぎ目スタイルがmiterである場合のみ有効)。'miter_limit'は'mitre_limit'の同義語として受け付けます。
'side=both|left|right' : 'left'または'right'については、線の方向から見た相対的なサイドで、ジオメトリの片側バッファを実行します。これはLINESTRINGジオメトリにだけ関連して、POINTまたはPOLYGONジオメトリには影響がありません。デフォルトでは終端スタイルは四角形です。
この関数のジオグラフィ版はジオメトリ実装にかぶせた薄いラッパです。 ジオメトリのバウンディングボックスに最適な平面空間参照系を決定します (UTM、ランベルト正積方位図法の北極/南極、最後はメルカトルです)。バッファは平面空間で計算あsれ、WGS84に戻されます。このため、入力がUTMゾーンと比べて非常に大きくなったり、日付変更線とクロスしたりする場合に、求める動作をしないことがあります
バッファ出力は常に妥当なポリゴンジオメトリです。バッファは不正な入力を処理できるので、不正なポリゴンを修復する方法として、距離0のバッファリングが使われます。同じ目的の関数としてはが使われます。
バッファ作成は時々、距離内にある地物を検索する際に使われます。この使い方については、の方が効率的です。
この関数はZ値を無視します。この関数を3次元ジオメトリ上で使用したとしても、常に2次元の結果となります。
Enhanced: 2.5.0 - ST_Bufferのジオメトリ対応版が強化され、バッファを施す側をside=both|left|rightで指定できるようになりました。
Availability: 1.5 - ST_Bufferが強化され、様々な終端と継ぎ目に対応するようになりました。たとえば、道路ラインストリングを道路ポリゴンに変換する際に終端を丸でなく平面や四角で処理したい場合などに使えます。ジオグラフィ用の薄いラッパが追加されました。
GEOSモジュールで実現しています。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1.30
- ST_Centroid - ジオメトリの幾何学的重心を返します。
説明
ジオメトリの幾何学的重心を計算します。[MULTI]POINTに対しては、入力座標の算術平均として計算されます。 [MULTI]LINESTRINGに対しては、各辺の重み付き長さとして計算されます。 [MULTI]POLYGONに対しては、面積から計算されます。空ジオメトリが与えられた場合には、空のGEOMETRYCOLLECTIONが返されます。NULLが与えられた場合には、NULLが返されます。CIRCULARSTRINGまたはCOMPOUNDCURVEが与えられた場合には、まずCurveToLineで直線に変換されてから、LINESTRINGと同じ計算を行います。
入力が混合次元の場合には、結果は最大次元のジオメトリの重心と同じになります (低次元ジオメトリは重心に0の「重み」を与えるためです)。
ポリゴンジオメトリに対しては、重心は必ずしもポリゴンの内部にあるわけではないことに注意して下さい。たとえば、下図のCの形のポリゴンの重心をご覧下さい。ポリゴン内部にポイントがあることを保障するにはを使います。
New in 2.3.0 : CIRCULARSTRINGとCOMPOUNDCURVEに対応するようになりました (CurveToLineを使います)。
Availability: 2.4.0 ジオグラフィが導入されました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.4, 9.5.5
- ST_ChangeEdgeGeom - トポロジ構造に影響を与えることなくエッジの形状を変更します。
説明
トポロジ構造に影響を与えることなくエッジの形状を変更します。
全ての引数がNULLであるか、与えられたエッジがtopologyスキーマのedgeテーブルにないか、acurveがLINESTRINGでないか、変更で基になるトポロジが変わるか、のいずれかの場合には、エラーが投げられます。
acurveジオメトリの空間参照系 (SRID) がトポロジと同じでない場合、例外が投げられます。
新しいacurveが単純でない場合には、エラーが投げられます。
古い位置から新しい位置へのエッジ移動で障害物にあたった場合はエラーが投げられます。
Availability: 1.1.0
Enhanced: 2.0.0 トポロジ整合性の強制を追加しました。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.6
- ST_Contains - Bの全てのポイントがA内にあり、かつ、双方の内部に共有点が存在するかどうかをテストします。
説明
ジオメトリAがジオメトリBを含む場合にはTRUEを返します。AがBを含むというのは、Bのポイントの全てがAの内側 (つまりAの内部または境界)にあり (Aの外部にBのポイントが全くないとも言えます)、かつBの内部の少なくとも一つのポイントがAの内部にある場合に限ります。
数学用語では: ST_Contains(A, B) ⇔ (A ⋂ B = B) ∧ (Int(A) ⋂ Int(B) ≠ ∅)
包含関係は反射関係です。あらゆるジオメトリは自己を包含します (対照的に述語内ではジオメトリは確実な包含にはなりません)。また、包含関係は非対称です。ST_Contains(A,B) = trueかつST_Contains(B,A) = trueの場合には、二つのジオメトリはトポロジ的に等価です (ST_Equals(A,B) = true)。
ST_Containsはの反対です。ST_Contains(A,B) = ST_Within(B,A)となります。
内部が必ず共通の点を持たなければならないので、定義の微妙な点は、ポリゴンとラインが境界であるラインとポイントを含まないことです。詳細については、Subtleties of OGC Covers, Contains, Withinをご覧下さい。述語は、より包括的な関係を提供します。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。 インデックスの使用を避けるには_ST_Contains関数を使います。
GEOSモジュールで実現しています。
Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
この関数を不正なジオメトリで呼ばないでください。予期しない結果が返されます。
ご注意: これは論理値を返して整数を返さないのが「許される」版です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 // s2.1.13.3 - within(geometry B, geometry A)と同じ
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.31
- ST_ConvexHull - ジオメトリの凸包を計算します。
説明
ジオメトリの凸包を計算します。凸包は、入力ジオメトリのすべてを囲む最小の凸ジオメトリです。
凸包は、ジオメトリの集合に輪ゴムをかけて得られるジオメトリと見ることができます。これは「真空パック」に似ている凹包と異なります。凸包は観察ポイントの集合に基づいて、響を受けた領域を決定するために、しばしば使われます。
凸包は一般的にポリゴンです。二つ以上の同一線上のポイントの凸包は、2点のラインストリングになります。一つ以上の同一ポイントの凸包はポイントです。
集約関数ではありません。ジオメトリ集合の凸包を計算するには、ジオメトリ集合をジオメトリコレクションに集約するを使います (ST_ConvexHull(ST_Collect(geom))等)。
GEOSモジュールで実現しています。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1.16
この関数は3次元に対応し、Z値を削除しません。
- ST_CoordDim - ジオメトリの座標次元を返します。
説明
ST_Geometry値の座標次元を返します。
この関数はのMM対応の別名です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.3
このメソッドは曲線ストリングと曲線に対応しています。
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_CreateTopoGeo - 空のトポロジにジオメトリのコレクションを追加し、成否を示すメッセージを返します。
説明
空のトポロジにジオメトリのコレクションを追加し、成否を示すメッセージを返します。
空トポロジの追加に使えます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.18
- ST_Crosses - 二つのジオメトリが内部に共有ポイントを持ち、かつそれだけにならないようになっているかテストします。
説明
二つのジオメトリを比較して、「空間的にクロスしている」場合にTRUEを返します。ジオメトリは内部の共通点をいくつか持っていますが、全て持っているわけではありません。ジオメトリの内部の共通部分は空ではなく、二つのジオメトリの最大図形次元より小さくなければなりません。二つのジオメトリの共通部分は、入力ジオメトリのいずれとも同じであってはなりません。クロスでないならFALSEを返します。クロスの関係は対称ですが無反射です。
数学用語では: ST_Crosses(A, B) ⇔ (dim( Int(A) ⋂ Int(B) ) < max( dim( Int(A) ), dim( Int(B) ) )) ∧ (A ⋂ B ≠ A) ∧ (A ⋂ B ≠ B)
DE-9IMインタセクション行列が次の通り合致するとジオメトリはクロスしています。
Point/Line, Point/Area, Line/Areaの場合にはT*T******
Line/Point, Area/Point, Area/Lineの場合にはT*****T**
Line/Lineの場合には0********
点/点の状況や面/面の状況では、結果はFALSEです
OpenGIS Simple Feature Specificationでは、この述語はPoint/Line, Point/Area, Line/Line, Line/Areaの場合についてのみ定義されています。JTS/GEOSでは、Line/Point, Area/Point, Area/Lineについて拡張しています。これによって関係が対称になっています。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.13.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.29
- ST_CurveToLine - 曲線を含むジオメトリを線ジオメトリに変換します。
説明
CIRCULARSTRINGをLINESTRINGに、CURVEPOLYGONをPOLYGONに、MULTISURFACEをMULTIPOLYGONに、それぞれ変換します。CIRCULARSTRINGジオメトリタイプに対応していないデバイスへの出力に使用します。
与えられたジオメトリを線型ジオメトリに変換します。それぞれの曲線ジオメトリまたは辺は、`tolerance` とオプションを使用して線形近似に変換します (デフォルトでは4分の1円ごとに32辺でオプションなしです)。
'tolerance_type'引数によって`tolerance`引数の解釈が決定されます。
0 (デフォルト): toleranceは4分の1円の最大辺数です。
1: toleranceは曲線からラインまでの最大差です。単位は入力ジオメトリの単位です。
2: toleranceは生成される半径がなす角度のラジアン単位の最大値です。
'flags'引数はビットフィールドです。デフォルトでは0です。次のビットに対応します。
1: 対称となる (方向独立)出力。
2: 角度維持。対称出力を生成する時に角度 (辺長)減少を避けます。対称フラグがOFFの時は何の効果もありません。
Availability: 1.3.0
Enhanced: 2.4.0 最大距離差による許容範囲と最大角度による許容範囲に対応し、対称出力に対応しました。
Enhanced: 3.0.0 線形化した弧ごとの最小線分数を実装しました。トポロジ的な崩壊を防ぐためです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.7
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
- ST_Difference - ジオメトリBとインタセクトしていないジオメトリAの一部を表現するジオメトリを計算します。
説明
ジオメトリBとインタセクトしていないジオメトリAの一部を表現するジオメトリを計算します。これはA - ST_Intersection(A,B)と同じです。Aが完全にBに包含されている場合には、適切なタイプの空のジオメトリが返されます。
これは、重ね合わせ関数では唯一の入力順序を気にしなければならない関数です。ST_Difference(A, B)は常にAの一部を返します。
任意引数gridSizeが与えらえれた場合には、入力は与えられた大きさのグリッドにスナップされ、結果の¥頂点は同じグリッド上で計算されます (GEOS-3.9.0以上が必要)。
GEOSモジュールで実現しています。
Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。
gridSizeパラメータを使うにはGEOS 3.9.0以上が必要です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.20
この関数は3次元に対応し、Z値を削除しません。 ただし、結果はXYのみを使用して計算されます。結果のZ値は複写するか、平均値になるか、補間されます。
- ST_Dimension - ST_Geometry値の座標次元を返します。
説明
ジオメトリの固有次元を返します。ジオメトリは座標次元以下でなければなりません。OGC SPEC s2.1.1.1 - 0ならPOINT、1ならLINESTRING、2ならPOLYGONで、GEOMETRYCOLLECTIONの場合は要素ごとの次元の最大値です。不明なジオメトリ (空のGEOMETRYCOLLECTION等)の場合はNULLが返ります。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.2
Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。空ジオメトリを与えた場合に例外を投げなくなりました。
2.0.0より前では、空ジオメトリを与えると例外を投げていました。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_Disjoint - 二つのジオメトリが共有点を持たないようになっているかテストします。
説明
二つのジオメトリが接続されていない場合にTRUEを返します。ジオメトリに共有点が全くない場合を指します。
二つのジオメトリが他の空間関係がTRUEである場合には接続されていない状況にはありません。接続されていない場合にあhはFALSEを返します。
数学用語では: ST_Disjoint(A, B) ⇔ A ⋂ B = ∅
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
GEOSモジュールで実現しています。
この関数呼び出しはインデックスを使いません。の否定には、インデックスを使用する、より効率の良い選択肢を使うことができます: ST_Disjoint(A,B) = NOT ST_Intersects(A,B)
ご注意: これは論理値を返して整数を返さないのが「許される」版です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 //s2.1.13.3 - a.Relate(b, 'FF*FF****')
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.26
- ST_Distance - 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
説明
型では、二つのジオメトリ間の2次元のデカルト (平面)距離の最小値を返します。単位は投影の単位 (空間参照系の単位)です。
型では、二つのジオグラフィ間の最小の測地距離を、メートル単位で返します。SRIDで決定される回転楕円体で計算します。use_spheroidがFALSEの場合には、球面が計算に使われます。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.23
このメソッドは曲線ストリングと曲線に対応しています。
Availability: 1.5.0 1.5でジオグラフィ対応が導入されました。大きいジオメトリや頂点の多いジオメトリについての速度が改善しました。
Enhanced: 2.1.0 ジオグラフィでの速度が改善されました。詳細はMaking Geography fasterをご覧ください。
Enhanced: 2.1.0 - 曲線ジオメトリ対応が導入されました。
Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。
Changed: 3.0.0 - SFCGALに依存しなくなりました。
- ST_EndPoint - LINESTRINGまたはCIRCULARLINESTRINGの終端のポイントを返します。
説明
LINESTRINGまたはCIRCULARLINESTRINGジオメトリの、最後のポイントをPOINTで返します。入力パラメータがLINESTRINGでもCIRCULARLINESTRINGでもない場合には、NULLを返します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.4
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
Changed: 2.0.0 一つのジオメトリマルチラインストリングで動作しなくなりました。PostGIS の古いバージョンでは、この関数は一つのマルチラインストリングで動作し、終端ポイントを返します。2.0.0では、他のマルチラインストリングと同様にNULLを返します。古い動作は文書化されていない機能でしたが、データをLINESTRINGとして格納していると思われるユーザーは、2.0.0 でNULLが返されることを経験するかも知れません。
- ST_Envelope - ジオメトリのバウンディングボックスを表現するジオメトリを返します。
説明
与えられたジオメトリの倍精度浮動小数点数 (float8)の最小バウンディングボックスをジオメトリで返します。ポリゴンはバウンディングボックスの角のポイントで定義されます ((MINX, MINY), (MINX, MAXY), (MAXX, MAXY), (MAXX, MINY), (MINX, MINY))。(PostGISはZMIN/ZMAXも追加します).
縮退する場合 (縦のライン、ポイント)はPOLYGONより低い次元のジオメトリ、すなわちPOINTまたはLINESTRINGを返します。
Availability: 1.5.0 挙動が変更され出力がfloat4からfloat8になりました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.19
- ST_Equals - 二つのジオメトリが同じ点集合になっているかテストします。
説明
ジオメトリが「トポロジ的に等価である」場合にTRUEを返します。'='より良い答を得るのに使います。トポロジ的に等価であるとは、ジオメトリが同じ図形次元で、点集合が同じ空間を占めていることを指します。頂点の順位が同じでなくても構いません。ポイントの順序の確認には一貫してを使います (ST_OrderingEqualsは、単純なポイントの順序が同じであるかを確認するより多少厳しいです)。
数学用語では: ST_Equals(A, B) ⇔ A = B
次の関係が成り立ちます: ST_Equals(A, B) ⇔ ST_Within(A,B) ∧ ST_Within(B,A)
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.24
Changed: 2.2.0 この関数は、どちらのジオメトリも不正であっても、バイナリで同じ場合ならTRUEを返します。
- ST_ExteriorRing - ポリゴンの外環を表現するラインストリングを返します。
説明
POLYGONの外環を表現するLINESTRINGを返します。ジオメトリがポリゴンでない場合はNULLを返します。
この関数はマルチポリゴンでは動作しません。マルチポリゴンに対してはまたはを併用して下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 2.1.5.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.3, 8.3.3
この関数は3次元に対応し、Z値を削除しません。
- ST_GMLToSQL - GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。
説明
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.50 (曲線対応を除く)
Availability: 1.5 libxml2 1.6+が必要です。
Enhanced: 2.0.0 多面体サーフェス対応とTIN対応が導入されました。
Enhanced: 2.0.0 SRID任意引数が追加されました。
- ST_GeomCollFromText - WKT表現と与えられたSRIDからジオメトリのコレクションを生成します。SRIDが与えられていない場合は0とします。
説明
Well-Kown-Text (WKT)表現のコレクションと与えられたSRIDからジオメトリのコレクションを生成します。SRIDが与えられていない場合は0とします。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
WKTがGEOMETRYCOLLECTIONでない場合には、NULLを返します。
全てのWKTジオメトリがジオメトリコレクションであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。
- ST_GeomFromText - Well-Known Text表現 (WKT)から指定したST_Geometryを返します。
説明
OGC Well-Known Text表現からPostGIS ST_Geometryオブジェクトを生成します。
ST_GeomFromText関数には二つの形式があります。一つ目は、SRIDを取らず、空間参照系を持たない (SRID=0)ジオメトリを返すものです。二つ目は、SRIDを第2引数に取り、メタデータの一部としてSRIDを含むジオメトリを返すものです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2 - 任意引数SRIDは仕様適合のためです。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.40
このメソッドは曲線ストリングと曲線に対応しています。
OGC非準拠ですが、はST_GeomFromTextやST_PointFromTextより早いです。座標値に数値を使っている場合には簡単になるという利点もあります。他の選択肢としては、速度面ではと似ていて、かつOGC準拠ですが、2次元ポイントしか対応していません。
Changed: 2.0.0 前の版ではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')が許されていました。SQL/MM標準への適合のためPostGIS 2.0.0では不正とされます。今はST_GeomFromText('GEOMETRYCOLLECTION EMPTY')となります。
- ST_GeomFromWKB - Well-Knwon Binaryジオメトリ表現 (WKB)と任意パラメタのSRIDからジオメトリインスタンスを生成します。
説明
ST_GeomFromWKBは、ジオメトリのWell-Known Binary表現と空間参照系識別番号 (SRID)を取り、適切なジオメトリタイプのインスタンスを生成します。この関数は、SQLのジオメトリファクトリの役割を果たします。これは、ST_WKBToSQLの代替名です。
SRIDが指定されていない場合、0 (不明)となります。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.7.2 - 任意引数SRIDは仕様適合のためです。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.41
このメソッドは曲線ストリングと曲線に対応しています。
- ST_GeometryFromText - Well-Knwon Text表現 (WKT)から指定したST_Geometry値を返します。これはST_GeomFromTextの別名です。
説明
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.40
- ST_GeometryN - ジオメトリコレクションの要素を一つ返します。
説明
GEOMETRYCOLLECTION, MULTIPOINT, MULTILINESTRING, MULTICURVE, MULTIPOLYGON, POLYHEDRALSURFACEの入力ジオメトリの、1始まりでN番目の要素を返します。他の場合にはNULLを返します。
OGC仕様のため0.8.0版からインデクスを1始まりにしています。これより前の版では0始まりになっています。
ジオメトリの全ての要素を抽出するにはの方が効率的ですし、単一ジオメトリでも動作します。
Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
Changed: 2.0.0 以前の版では非マルチのジオメトリではNULLが返りました。ST_GeometryN(..,1)の場合にはジオメトリを返すよう変更されました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.1.5
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_GeometryType - ジオメトリのSQL-MM型を文字列で返します。
説明
ジオメトリ型を'ST_LineString', 'ST_Polygon', 'ST_MultiPolygon'等の文字列で返します。この関数はGeometryType(geometry)とは異なり、先頭に'ST'が付き、M値を持っているかを示しません。
Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.4
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
- ST_GetFaceEdges - 順序番号を含む、afaceの境界となる、整列したエッジの集合を返します。
説明
順序番号を含む、afaceの境界となる、整列したエッジの集合を返します。それぞれの出力は、順序番号とエッジ識別番号からなります。順序番号は1から始まります。
環ごとのエッジの列挙は、識別番号が最も小さいものから始まります。エッジの順序は左手の法則に従います (境界フェイスは各有向辺の左側にあるようにします)。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.5
- ST_GetFaceGeometry - 指定されたトポロジの中の、フェイス識別番号で指定されたポリゴンを返します。
説明
指定されたトポロジの中の、フェイス識別番号で指定されたポリゴンを返します。フェイスを作るエッジからポリゴンを構築します。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.16
- ST_InitTopoGeo - 新しいトポロジスキーマを生成し、topology.topologyテーブルに登録します。
説明
のSQL/MM相当の関数です。空間参照系と許容値の任意引数がありません。トポロジIDでなくトポロジ生成の文字列による説明が返されます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.17
- ST_InteriorRingN - ポリゴンのN番目の内環 (穴)を返します。
説明
ポリゴンのN番目の内環を返します。ジオメトリがポリゴンでないかNが範囲外の場合はNULLを返します。
この関数はマルチポリゴンでは動作しません。マルチポリゴンに対してはまたはを併用して下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.6, 8.3.5
この関数は3次元に対応し、Z値を削除しません。
- ST_Intersection - ジオメトリAとジオメトリBの共通部分を表現するジオメトリを返します。
説明
二つのジオメトリのポイント集合の交差を表現するジオメトリを返します。言い換えると、ジオメトリAとジオメトリBの一部であって、二つのジオメトリで共有される部分を返します。
ジオメトリが共通するポイントを持っていない (つまり接続されていない)場合には、適切なタイプの空のジオメトリが返されます。
任意引数gridSizeが与えらえれた場合には、入力は与えられた大きさのグリッドにスナップされ、結果の¥頂点は同じグリッド上で計算されます (GEOS-3.9.0以上が必要)。
と併用するST_Intersectionは、バウンディングボックス、バッファや、対象の国や領域の内部にあるジオメトリの部分のみが必要な場合に使う領域クエリといったようなジオメトリの切り抜きに使えます。
この関数のジオグラフィ版はジオメトリ実装にかぶせた薄いラッパです。 最初に二つのジオグラフィ値のバウンディングボックスに適合する最適なSRIDを決定します (二つのジオグラフィ値がUTMゾーンの半分以内だけど同じUTMゾーンでない場合はどちらか一つを選びます) (UTMまたはランベルト正積方位図法の北極又は南極を優先し、最悪の場合にメルカトルに後退します)。次に、最適な平面空間参照系でインタセクトする領域を計算して、WGS84ジオグラフィに再変換します。
この関数はM値が存在している場合には削除します。
3次元ジオメトリで動作しますが、SFCGALベースのは。3次元ジオメトリの確実な3次元インタセクトした領域を返すので、これを使った方がいいかも知れません。この関数はZ値があっても動作しますが、Z値は平均化されます。
GEOSモジュールで実現しています。
Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました
gridSizeパラメータを使うにはGEOS 3.9.0以上が必要です
Changed: 3.0.0 SFCGAL非依存になりました。
Availability: 1.5 ジオグラフィ型が導入されました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.18
この関数は3次元に対応し、Z値を削除しません。 ただし、結果はXYのみを使用して計算されます。結果のZ値は複写するか、平均値になるか、補間されます。
- ST_Intersects - 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
説明
二つのジオメトリがインタセクトする場合にTRUEを返します。任意の共有点を持つ場合を指します。
ジオグラフィに対しては、0.00001メートルの距離許容値が使われます (このため非常に近いポイントはインタセクトしているとみなされます)。
数学用語では: ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅
DE-9IMインタセクション行列が次の通り合致するとジオメトリはインタセクトしています。
T********
*T*******
***T*****
****T****
空間的なインタセクションは全ての他の空間関係テスト関数に含まれます。例外はで、全てのジオメトリがインタセクトしていないかどうかをテストすることになります。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。
Changed: 3.0.0 SFCGAL版を削除し、2次元TINのネイティブ対応を追加しました。
Enhanced: 2.5.0 ジオメトリコレクションに対応しました。
Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
ジオメトリについては、GEOSモジュールで実現しています。ジオグラフィについてはネイティブです。
Availability: 1.5 ジオグラフィ対応が導入されました。
ジオグラフィでは、この関数は0.00001メートルの距離許容を持ち、回転楕円体計算でなく球面を使います。
ご注意: これは論理値を返して整数を返さないのが「許される」版です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 //s2.1.13.3 - ST_Intersects(g1, g2 ) --> Not (ST_Disjoint(g1, g2 ))
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.27
このメソッドは曲線ストリングと曲線に対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_IsClosed - ラインストリングの始点と終点が一致しているかをテストします。多面体サーフェスについては閉じているか (立体であるか)をテストします。
説明
LINESTRINGの始点と終点が一致する場合にTRUEを返します。多面体サーフェスについては、サーフェスが面 (開いている)か立体 (閉じている)かをテストします。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.5, 9.3.3
SQL-MMではST_IsClosed(NULL)は0を返しますが、PostGISではNULLを返します。
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
この関数は多面体サーフェスに対応しています。
- ST_IsEmpty - ジオメトリが空かをテストします。
説明
ジオメトリが空ジオメトリの場合にtrueを返します。 trueの場合には、このジオメトリは、空のジオメトリコレクション、ポリゴン、ポイント等です。
SQL-MMでは、ST_IsEmpty(NULL)は0を返しますが、PostGISではNULLを返します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.7
このメソッドは曲線ストリングと曲線に対応しています。
Changed: 2.0.0 以前の版のPostGISではST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')を許しました。PostGIS 2.0.0では、SQL/MM標準により準拠させるため、これは不正となります。
- ST_IsRing - ラインストリングが閉じていてかつ単純であるかをテストします。
説明
LINESTRINGが (ST_StartPoint(g) ~= ST_Endpoint(g))で、かつ (自己インタセクションが無い)場合にTRUEを返します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 2.1.5.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.6
SQL-MMでは、ST_IsRing(NULL)は0を返しますが、PostGISではNULLを返します。
- ST_IsSimple - ジオメトリが自己インタセクトまたは自己接触となるポイントが無いかをテストします。
説明
ジオメトリが自己インタセクションや自己接触のような異常な幾何学ポイントを持っていない場合にTRUEを返します。OGCのジオメトリ単純性と妥当性の定義に関する詳細情報については「ジオメトリのOpenGIS準拠を確実にする」をご覧ください。
SQL-MMでは、ST_IsSimple(NULL)は0を返しますが、PostGISではNULLを返します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.8
この関数は3次元に対応し、Z値を削除しません。
- ST_IsValid - ジオメトリが2次元で整形されているかのテスト。
説明
ST_Geometry値が整形式であり、2次元で妥当かどうかをOGC規則に沿ってテストします。3次元と4次元のジオメトリでは、評価は2次元で行います。ジオメトリが不正なら、PostgreSQL NOTICEが出力され、不正である理由の詳細が示されます。
flagsパラメータを持つ版が対応する値についてはで説明しています。
ジオメトリ評価に関する詳細情報についてはを参照してください。
SQL-MMでは、ST_IsValid(NULL)は0を返しますが、PostGISではNULLを返します。
GEOSモジュールで実現しています。
フラグを受け付ける形式は、2.0.0から有効になりました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.9
OGC-SFSもSQL-MMもST_IsValidでフラグ引数を含む仕様になっていません。フラグはPostGIS独自拡張です。
- ST_Length - 線系ジオメトリの2次元長を返します。
説明
ジオメトリ型: LINESTRING, MULTILINESTRING, ST_Curve, ST_MultiCurveの場合には2次元デカルト距離を返します。面ジオメトリでは0を返すのでを代わりに使います。長さの単位はジオメトリの空間参照系で決まります。
ジオグラフィ型: 計算は逆測地問題を用いています。長さの単位はメートルです。PROJ 4.8.0以上でPostGISをコンパイルしている場合には、回転楕円体面はSRIDで指定されたものとなり、それより前はWGS84となります。use_spheroid = falseとすると、計算は回転楕円体面でなく真球面で行います。
現在は、ジオメトリに対してはST_Length2Dの別名ですが、高次元対応に変更されるかも知れません。
Changed: 2.0.0 大幅な変更 -- 以前の版ではジオグラフィのPOLYGONやMULTIPOLYGONへの適用によってPOLYGONやMULTIPOLYGONの周囲長を返しました。2.0.0版ではジオメトリの挙動に従うため0を返すように変更しました。ポリゴンの周囲長を求める場合は、ST_Perimeterを使います。
ジオグラフィでは計算は回転楕円体面モデルを使用します。計算が速い反面精度が低い球面計算を使うには、 ST_Length(gg,false)とします。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.5.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.2, 9.3.4
Availability: 1.5.0 ジオグラフィt対応が導入されました。
- ST_LineFromText - WKT表現と与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は0 (不明)となります。
説明
WKT表現と与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は0 (不明)となります。渡されたWKTがLINESTRINGでない場合にはNULLが返ります。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
全てのジオメトリがLINESTRINGであると知っている場合は、ST_GeomFromTextを使う方が効率的です。 この関数はST_GeomFromTextの呼び出しと、LINESTRINGを返すかどうかの評価とを行います。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.8
- ST_LineFromWKB - WKB表現と与えられたSRIDからLINESTRINGを生成します。
説明
ST_LineFromWKBは、ジオメトリのWell-Known Binary表現と空間参照系識別番号 (SRID)を取り、適切なジオメトリタイプを返します。この場合はLINESTRINGジオメトリです。この関数はSQLのジオメトリファクトリの役割を果たします。
SRIDが指定されていない場合は0 (不明)となります。入力byteaがLINESTRINGを表現していない場合はNULLを返します。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
全てのジオメトリがLINESTRINGであると知っている場合は、を使う方が効率的です。 この関数はの呼び出しと、LINESTRINGを返すかどうかの評価とを行います。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.9
- ST_LinestringFromWKB - WKB表現と与えられたSRIDからジオメトリを生成します。
説明
ST_LinestringFromWKBは、ジオメトリのWell-Known Binary表現と空間参照系識別番号 (SRIDを取り、適切なジオメトリタイプのインスタンスを生成します。この場合、LINESTRINGジオメトリです。この関数はSQLのジオメトリファクトリの役割を果たします。
SRIDが指定されていない場合は0 (不明)となります。入力byteaがLINESTRINGを表現していない場合はNULLを返します。これはの別名です。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
全てのジオメトリがLINESTRINGであると知っている場合は、を使う方が効率的です。この関数はの呼び出しと、LINESTRINGを返すかどうかの評価とを行います。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.9
- ST_LocateAlong - M値に一致するジオメトリ上のポイントを返します。
説明
M値を持つジオメトリに沿った位置を返します。結果はポイントまたはマルチポイントです。ポリゴン系入力には対応していません。
offsetが与えられた場合には、結果は、入力ラインの左または右に、指定された距離だけ移動します。正のオフセット値で左に、負の値で右にそれぞれ移動します。
この関数は、M要素を持つライン系ジオメトリでのみ使います。
ISO/IEC 13249-3 SQL/MM 空間標準で規定されているため、このような意味になります。
Availability: 1.1.0 それまではST_Locale_Along_Measureでした。
Changed: 2.0.0 以前の版ではST_Locate_Along_Measureと呼ばれていました。
この関数はM値に対応します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1.13
- ST_LocateBetween - M値の範囲に合致する部分ジオメトリを返します。
説明
指定された範囲のM値を持つ入力ジオメトリの部分ジオメトリとなるジオメトリ (コレクション)を全て返します。
offsetが与えられた場合には、結果は、入力ラインの左または右に、指定された距離だけ移動します。正のオフセット値で左に、負の値で右にそれぞれ移動します。
凸でないPOLYGONを抜き出すと不正なジオメトリを返すことがあります。
ISO/IEC 13249-3 SQL/MM 空間標準で規定されているため、このような意味になります。
Availability: 1.1.0 それより前はST_Locate_Between_Measuresでした。
Changed: 2.0.0 以前の版ではST_Locate_Between_Measuresと呼ばれていました。
Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。
この関数はM値に対応します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 5.1
- ST_M - ポイントのM値を返します。
説明
ポイントのM座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
これは (いまだに)OGC仕様に入っていませんが、ポイント座標抽出関数のリストを完全にするために挙げています。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。
この関数は3次元に対応し、Z値を削除しません。
- ST_MLineFromText - WKT表現から指定したST_MultiLineString値を返します。
説明
Well-Kown-Text (WKT)表現のコレクションと与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は0 (不明)とします。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
WKTがMULTILINESTRINGでない場合はNULLを返します。
全てのWKTジオメトリがマルチラインストリングであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.4.4
- ST_MPointFromText - Well-Known Text (WKT)表現と与えられたSRIDからジオメトリを生成します。SRIDを与えない場合は0 (不明)となります。
説明
Well-Known Text (WKT)表現と与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は0 (不明)となります。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
WKTがMULTIPOINTでない場合はNULLを返します。
全てのWKTジオメトリがマルチラインストリングであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.2.4
- ST_MPolyFromText - Well-Known Text (WKT)表現と与えられたSRIDからマルチポリゴンを生成します。SRIDが与えられていない場合は0 (不明)となります。
説明
Well-Known Text (WKT)表現と与えられたSRIDからマルチポリゴンを生成します。SRIDが与えられていない場合は0 (不明)となります。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
WKTがMULTIPOLYGONでない場合はエラーを投げます。
全てのWKTジオメトリがマルチポリゴンであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.6.4
- ST_ModEdgeHeal - 二つのエッジについて、接続しているノードを削除して修復します。1番目のエッジを編集して、2番目のエッジを削除します。削除されたノードの識別番号を返します。
説明
二つのエッジについて、接続しているノードを削除して修復します。1番目のエッジを編集して、2番目のエッジを削除します。削除されたノードの識別番号を返します。この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.9
- ST_ModEdgeSplit - 既存のエッジに沿って新しいノードを生成してエッジを分割します。もとのエッジは変更され、新しいエッジが一つ追加されます。
説明
既存のエッジに沿って新しいノードを生成してエッジを分割します。もとのエッジは変更され、新しいエッジが一つ追加されます。この関数によって、既存の接続されているエッジとリレーションシップが更新されます。新しく追加されたノードの識別番号が返ります。
Availability: 1.1
Changed: 2.0 - 以前の版では名前を間違えてST_ModEdgesSplitになっていました。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.9
- ST_MoveIsoNode - トポロジ内の孤立ノードを別の位置に移動させます。新しいapointジオメトリがノードとして存在しているなら、エラーが投げられます。移動に関する説明を返します。
説明
トポロジ内の孤立ノードを別の位置に移動させます。新しいapointジオメトリがノードとして存在しているなら、エラーが投げられます。
引数がNULLの場合、apointがポイントでない場合、既存のノードが孤立していない (既存のエッジの始端か終端になっている)場合、新しいノード位置が既存のエッジとインタセクトする場合 (終端であっても)、新しい位置が異なるフェイス内にある場合 (3.2.0以降)のいずれかの場合には、例外が投げられます。
ポイントジオメトリの空間参照系 (SRID)がトポロジと異なる場合には、例外が投げられます。
Availability: 2.0.0
Enhanced: 3.2.0 ノードが異なるフェイスに移動しないことを保証
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.2
- ST_NewEdgeHeal - 二つのエッジについて、接続しているノードを削除して修復します。両方のエッジを削除し、1番目のエッジと同じ方向のエッジに置き換えます。
説明
二つのエッジについて、接続しているノードを削除して修復します。両方のエッジを削除し、1番目のエッジと同じ方向のエッジに置き換えます。 修復されたエッジに置き換えられた新しいエッジの識別番号を返します。 この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.9
- ST_NewEdgesSplit - 新しいノードを既存のエッジに沿って作成して、エッジを分割します。もとのエッジは削除され、二つのエッジに置き換えられます。二つの新しいエッジに接続する新しいノードの識別番号を返します。
説明
anedgeで指定される既存のエッジに沿ったapointの位置に新しいノードを作成して、エッジを分割します。もとのエッジは削除され、二つつのエッジに置き換えられます。二つの新しいエッジに接続する新しいノードの識別番号を返します。この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
ポイントジオメトリの空間参照系 (SRID)がトポロジと異なる場合、apointがポイントジオメトリでない場合、ポイントがNULLの場合、ポイントが既にノードとして存在する場合、エッジが既存のエッジと一致しない場合、ポイントがエッジ内にない場合、例外が投げられます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.8
- ST_NumGeometries - ジオメトリコレクションの要素数を返します。
説明
Returns the number of elements in a geometry collection (GEOMETRYCOLLECTION or MULTI*). For non-empty atomic geometries returns 1. For empty geometries returns 0.
Enhanced: 2.0.0 多面体サーフェス対応、三角対応、TIN対応が導入されました。
Changed: 2.0.0 前の版では、ジオメトリがコレクション/マルチ系でない場合にはNULLを返しました。2.0.0以上では、POLYGON, LINESTRING, POINTといった単一ジオメトリについては1を返します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.1.4
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
- ST_NumInteriorRings - ポリゴンの内環 (穴)の数を返します。
説明
ポリゴンジオメトリの内環の数を返します。ジオメトリがポリゴンでない場合には、NULLを返します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.5
Changed: 2.0.0 - 以前の版では、MULTIPOLYGONを渡して最初のPOLYGONの内環の数を返すことができました。
- ST_NumPatches - 多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。
説明
多面体サーフェスのフェイス数を返します。多面体でないジオメトリの場合にはNULLを返します。ST_NumGeometriesの別名で、MMの名前付けに対応するためのものです。MM規約を気にしない場合はST_NumGeometriesの方が速いです。
Availability: 2.0.0
この関数は3次元に対応し、Z値を削除しません。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM ISO/IEC 13249-3: 8.5
この関数は多面体サーフェスに対応しています。
- ST_NumPoints - ラインストリングまたは曲線ストリングのポイント数を返します。
説明
ST_LineStringまたはST_CircularStringのポイント数を返します。1.4より前は仕様通りにラインストリングにのみ対応していました。1.4以上ではラインストリングだけでなく頂点数を返すST_NPointsの別名です。多目的で多数のジオメトリタイプで動作するST_NPointsを使うことを考えて下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.4
- ST_OrderingEquals - 二つのジオメトリが同じジオメトリを表現し、かつ点の並び順が同じかどうかをテストします。
説明
ST_OrderingEqualsは、二つのジオメトリを比較して、ジオメトリが同じで、座標値が同じ順序である場合には、t (TRUE)を返し、それ以外の場合には、f (FALSE)を返します。
この関数は、SQL-MM仕様ではなくArcSDE SQL仕様に従って実装しています。http://edndoc.esri.com/arcsde/9.1/sql_api/sqlapi3.htm#ST_OrderingEqualsをご覧ください。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.43
- ST_Overlaps - 二つのジオメトリが同じ次元を持ち、インタセクトして、かつ相手と重ならない点少なくとも一つあるかをテストします。
説明
ジオメトリAとBが「空間的にオーバラップする」場合にTRUEを返します。ジオメトリが同じ次元で、内部のインタセクションも同じ次元で、少なくとも一つの点がもう一方の外側にある (一方がもう一方を覆っている状態でないのと等価です)と、二つのジオメトリがオーバラップしていると言います。オーバラップの関係は、対称性があり、無反射性があります。
数学用語では: ST_Overlaps(A, B) ⇔ ( dim(A) = dim(B) = dim( Int(A) ⋂ Int(B) )) ∧ (A ⋂ B ≠ A) ∧ (A ⋂ B ≠ B)
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。 インデックスの使用を避けるには_ST_Overlaps関数を使います。
GEOSモジュールで実現しています。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
ご注意: これは論理値を返して整数を返さないのが「許される」版です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 // s2.1.13.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.32
- ST_PatchN - 多面体サーフェスのN番目のジオメトリ (フェイス)を返します。
説明
ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1始まりでN番目のジオメトリ (フェイス)を返します。それ以外の場合には、NULLを返します。多面体サーフェスを引数にとるST_GeometryNと同じ答えが返ります。ST_GeometryNの方が速いです。
インデクスは1始まりです。
ジオメトリの全ての要素を抽出するにはが最も効率的です。
Availability: 2.0.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM ISO/IEC 13249-3: 8.5
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
- ST_Perimeter - ポリゴンジオメトリまたはジオグラフィの境界の長さを返します。
説明
ジオメトリ/ジオグラフィがST_SrrfaceまたはST_MultiSurface (POLYGONまたはMULTIPOLYGON)の場合に、2次元周囲長を返します。面ジオメトリでない場合には0を返します。ラインストリングについてはを使います。ジオメトリに対しては、周囲長の計測単位は空間参照系によります。
ジオグラフィに対しては、測地線の逆測地問題を使って計算し、長さの単位はメートルです。PostGISをPROJ 4.8.0以上でコンパイルしているなら、回転楕円体面はSRIDで指定されたものですが、そうでなければ、WGS84に限定されます。use_spheroid = falseとすると、回転楕円体面でなく近似する球面で計算します。
現在は、この関数はST_Perimeter2Dの別名ですが、高次元対応に変更されるかも知れません。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.5.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.3, 9.5.4
Availability: 2.0.0 ジオグラフィ対応が導入されました。
- ST_Point - X, YとSRIDの値からポイントを生成します。
説明
与えられたXとYの座標値からポイントを返します。これは、XとYを取るSQL-MMのと同等です。
地理座標系について、Xは経度で、Yは緯度です。
Enhanced: 3.2.0 SRID任意引数が追加されました。古いバージョンでは、ジオメトリにSRIDを与えるにはST_SetSRIDを併用しなければなりませんでした。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.2
- ST_PointFromText - WKTと与えられたSRIDからポイントジオメトリを生成します。SRIDが与えられていない場合は0 (不明)とします。
説明
OGC Well-Known Text表現からPostGISのST_Geometryポイントオブジェクトを生成します。SRIDが与えられていない場合は不明 (現在は0)とします。ジオメトリがWKTポイント表現でない場合はNULLを返します。完全に不正なWKTならエラーが投げられます。
ST_PointFromTextには二つの形式があります。 一つ目は、SRIDを取らずに空間参照系を定義していないジオメトリを返すものです。 二つ目は、空間参照系識別番号を第2引数に取り、SRIDをメタデータの一部として含むST_Geometryを返すものです。SRIDはspatial_ref_sysテーブルで定義されていなければなりません。
全てのWKTジオメトリがジオメトリコレクションであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。 経度緯度座標からポイントを生成していて、OGC対応よりもパフォーマンスと精度を重視する場合は、か、OGC対応の別名であるを使用して下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2 - 任意引数SRIDは仕様適合のためです。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.8
- ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。
説明
ST_PointFromWKBは、ジオメトリのWell-Known Binary表現と空間参照系識別番号 (SRID)を取り、適切なジオメトリタイプのインスタンスを生成します。この場合、POINTジオメトリです。この関数はSQLのジオメトリファクトリの役割を果たします。
SRIDが指定されていない場合は0 (不明)となります。入力byteaがPOINTジオメトリを表現しないならNULLが返されます。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.7.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.9
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
- ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。
説明
ラインストリングまたは曲線ストリングのN番目の点を返します。負数はラインストリングの終端から逆方向に遡って数えます。-1は終端を指します。ジオメトリにラインストリングが無い場合には、NULLを返します。
OGC仕様のため0.8.0版からインデックスを1始まりにしています。これより前の版では0はじまりになっています。後方インデックス (負数インデックス)はOGC仕様ではありません。
マルチラインストリング内のラインストリングのN番目のポイントを得るには、ST_Dumpを併用します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.2.5, 7.3.5
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
Changed: 2.0.0 単一ジオメトリのMULTILINESTRINGで動作しなくなりました。単一のラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、最初のポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。
Changed: 2.3.0 : 負数インデックスが有効になりました (-1は終端を指します)
- ST_PointOnSurface - ポリゴン内またはジオメトリ上にあるのが保証されたポイントを返します。
説明
サーフェス (POLYGON、MULTIPOLYGON、CURVED POLYGON)内部にあることが保証されたPOINTを返します。PostGISでは、この関数はラインジオメトリとポイントジオメトリ上でも動作します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.14.2 // s3.2.18.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.1.5, 9.5.6. 仕様では、サーフェスジオメトリのみのST_PointOnSurfaceが定義されています。PostGISは、すべての一般的なジオメトリタイプに対応するよう拡張しています。他のデータベース (Oracle、DB2、ArcSDE)は、サーフェスに対してのみこの機能をサポートしているようです。SQL Server 2008では、すべての一般的なジオメトリタイプに対応しています。
この関数は3次元に対応し、Z値を削除しません。
- ST_Polygon - ラインストリングから指定したSRIDを持つポリゴンを生成します。
説明
与えられたラインストリングから構築し、sridから空間参照系を指定したポリゴンを返します。
ST_Polygonはの形式1の、SRIDの設定を追加したものに似ています。
穴を持つポリゴンを生成するには、の形式2を使い、を使います。
この関数はマルチラインストリングを受け付けません。ラインストリングの生成にはを使用します。また、ラインストリングを抽出するにはを使用します。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.3.2
この関数は3次元に対応し、Z値を削除しません。
- ST_PolygonFromText - Well-Known Text (WKT)表現と与えられたSRIDからジオメトリを生成します。SRIDを与えない場合は0 (不明)となります。
説明
WKT表現と与えられたSRIDからジオメトリを生成します。SRIDが与えられていない場合は0 (不明)とします。WKTがポリゴンでない場合はNULLを返します。
OGC SPEC 3.2.6.2 - 任意引数SRIDは仕様適合のためです。
全てのWKTジオメトリがポリゴンであると絶対的な確信を持てる場合は、この関数は使わないでください。付加的な評価ステップが追加されるのでST_GeomFromTextより遅いです。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s3.2.6.2
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.3.6
- ST_Relate - 二つのジオメトリが与えられた交差行列パターンに合致するトポロジ関係があるかどうかを見るか、交差行列を計算するかします。
説明
これらの関数で、二つのジオメトリに対するDimensionally Extended 9-Intersection Model (DE-9IM)で定義される空間 (トポロジ)関係のテストと評価が可能になります。
DE-9IMは9要素の行列で、二つのジオメトリの内部、境界、外部のインタセクションの次元を示しています。'F', '0', '1', '2'の文字による9文字の文字列で表現します (例えば 'FF1FF0102')。
intersection matrix patternで、特定の種類の空間関係のテストができます。パターンでは追加の文字 'T' (「インタセクションが空でない」という意味)と '*' (「値はなんでもいい」という意味)を使うことができます。一般的な空間関係については、名前の付いた関数, , , , , , , , , , として提供されます。明示的なパターンを使うことで、インタセクト、クロス等の複数のテストを一回でできるようになります。また、名前のある空間関係関数を持たない空間関係のテストも可能になります。たとえば、「内部インタセクション」という空間関係は、名前の付いた空間関係関数では評価できませんが、T********のDE-9IMで評価できます。
詳細情報についてはをご覧下さい。
一つ目の形式: 二つのジオメトリが、与えられたintersectionMatrixPatternによる空間関係に合うかどうかを見ます。
他の名前の付いた空間関係述語の多くと異なり、この関数は自動ではインデックスの呼び出しを*行いません*。インタセクト*しない*ジオメトリでTRUEになる関係があるためです。インタセクションが求められる関係パターンを使用している場合には、関数呼び出しに&&を取り入れてください。
存在するなら、名前の追加空間関係関数を使う方が良いです。空間インデックスが存在するなら自動で使用してくれるからです。また、完全な関係評価では有効にならない能率最適化が実装されていることがあります。
二つ目の形式: 二つのジオメトリの空間関係のDE-9IM行列文字列を返します。行列文字列は、を使ったDE-9IMパターンと合致するかテストさせることができます。
三つ目の形式: 二つ目の形式と同じですが、境界ノード規則の指定ができる点が異なります。この規則によって、マルチラインストリングの端点がDE-9IMの内部または境界上にあると判定されるかどうかを細かく制御できます。boundaryNodeRuleの値は次の通りです。
1: OGC-Mod2 - 線の端点が奇数回出現する場合に境界内にあるとします。これはOGC SFS標準で定義された規則で、ST_Relateのデフォルトです。
2: Endpoint - 全ての端点は境界上にあります。
3: MultivalentEndpoint - 端点が2回以上出現する場合に境界内にあるとします。言い換えると、境界は全ての「接続された」または「内部の」端点です (「接続していない」や「外部の」端点ではない)。
4: MonovalentEndpoint - 端点が1回だけ出現する場合に限って、境界内にあるとします。言い換えると境界は全ての「接続していない」または「外部の」端点です。
OGC仕様にはありませんが実装しました。s2.1.13.2をご覧下さい。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 // s2.1.13.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.25
GEOSモジュールで実現しています。
Enhanced: 2.0.0 - 境界ノード規則が追加されました。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
- ST_RemEdgeModFace - エッジを削除します。削除されるエッジが二つのフェイスを分割していたなら、一方のフェイスを削除し、もう一方のフェイスを両方の空間を覆うように編集します。
説明
エッジを削除します。削除されるエッジが二つのフェイスを分割していたなら、一方のフェイスを削除し、もう一方のフェイスを両方の空間を覆うように編集します。右側のフェイスを優先的に保持します。これはと一致します。残ったフェイスのIDを返します。
この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
既存のTopoGeometryの定義に入り込んでいるエッジは削除を拒絶されます。TopoGeometryが二つのフェイスのうちひとつだけで定義されている (かつ他方は定義に使われていない)場合、二つのフェイスの修復は拒絶されます。
引数がNULLである場合、与えられたエッジが不明である場合 (トポロジスキーマのedgeテーブル内に既に存在していなければなりません)、トポロジ名が不正である場合、例外が投げられます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.15
- ST_RemEdgeNewFace - エッジを削除し、消去対象エッジでフェイスが二つに分割されているなら元の二つのフェイスを削除し、一つの新しいフェイスに置き換えます。
説明
エッジを削除し、消去対象エッジでフェイスが二つに分割されているなら元の二つのフェイスを削除し、一つの新しいフェイスに置き換えます。
新しく作成されたフェイスの識別番号を返します。新しいフェイスが生成されない場合にはNULLを返します。削除対象エッジがダングルである (訳注: 「ぶらさがる」状態、すなわち一方の端が孤立ノードでなく、かつもう一方が孤立ノード)場合か、孤立している場合か、 ユニバースフェイスとの境界になっている (おそらく反対側のフェイスにユニバースが侵入します)場合には、フェイスは生成されません。
この関数によって、既存の接続されているエッジとリレーションシップが更新されます。
既存のTopoGeometryの定義に入り込んでいるエッジは削除を拒絶されます。TopoGeometryが二つのフェイスのうちひとつだけで定義されている (かつ他方は定義に使われていない)場合、二つのフェイスの修復は拒絶されます。
引数がNULLである場合、与えられたエッジが不明である場合 (トポロジスキーマのedgeテーブル内に既に存在していなければなりません)、トポロジ名が不正である場合、例外が投げられます。
Availability: 2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.14
- ST_RemoveIsoEdge - 孤立エッジを削除し、実行結果の記述を返します。エッジが孤立していない場合には、例外が投げられます。
説明
孤立エッジを削除し、実行結果の記述を返します。エッジが孤立していない場合には、例外が投げられます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.3
- ST_RemoveIsoNode - 孤立ノードを削除し、実行結果が返されます。ノードが孤立していない (エッジの始端または終端である)場合には、例外が投げられます。
説明
孤立ノードを削除し、実行結果が返されます。ノードが孤立していない (エッジの始端または終端である)場合には、例外が投げられます。
Availability: 1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3 トポロジ-ジオメトリ および トポロジ-ネットワーク 3: ルーチン詳細: X.3.3
- ST_SRID - ジオメトリの空間参照系識別子を返します。
説明
ST_Geometryのspatial_ref_sysテーブルで定義されている空間参照系の識別番号を返します。を参照して下さい。
spatial_ref_sysテーブルはPostGISが知る参照系の全てのカタログを作っていて、ある空間参照系から他の空間参照系に変換するために使われます。ジオメトリの変換を予定している場合は正しい空間参照系の識別番号を持っているか確認することは重要です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.1
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.5
このメソッドは曲線ストリングと曲線に対応しています。
- ST_StartPoint - ラインストリングの始点を返します。
説明
LINESTRINGまたはCIRCULARLINESTRINGジオメトリの、最初のポイントをPOINTで返します。入力パラメータがLINESTRINGでもCIRCULARLINESTRINGでもない場合には、NULLを返します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 7.1.3
この関数は3次元に対応し、Z値を削除しません。
このメソッドは曲線ストリングと曲線に対応しています。
Enhanced: 3.2.0 全てのジオメトリのポイントを返すようになりました。以前のバージョンではラインストリング以外ではNULLを返していました。
Changed: 2.0.0 一つのMULTILINESTRINGで動作しなくなりました。PostGIS の古いバージョンでは、この関数は、一つのラインストリングからなるMULTILINESTRINGについては幸運にも動いていて、始端ポイントを返していました。2.0.0では他のMULTILINESTRINGと同様にNULLを返すようになりました。古い動作は文書化されていない機能でしたが、データをLINESTRINGとして格納していると思われるユーザーは、2.0.0 でNULLが返されることを経験するかも知れません。
- ST_SymDifference - ジオメトリAとジオメトリBがインタセクトしていない部分を表現するジオメトリを返します。
説明
ジオメトリAとジオメトリBがインタセクトしていない部分を表現するジオメトリを返します。この関数は、ST_Union(A,B) - ST_Intersection(A,B)と同じです。SymDifference (対象差)と呼ばれるのはST_Union(A,B) - ST_Intersection(A,B)だからです。
任意引数gridSizeが与えらえれた場合には、入力は与えられた大きさのグリッドにスナップされ、結果の¥頂点は同じグリッド上で計算されます (GEOS-3.9.0以上が必要)。
GEOSモジュールで実現しています。
Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。
gridSizeパラメータを使うにはGEOS 3.9.0以上が必要です
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.21
この関数は3次元に対応し、Z値を削除しません。 ただし、結果はXYのみを使用して計算されます。結果のZ値は複写するか、平均値になるか、補間されます。
- ST_Touches - 二つのジオメトリが少なくとも一つの共有点を持ち、かつ内部でインタセクトしていないようになっているかテストします。
説明
AとBがインタセクトするがAの内部とBの内部がインタセクトしない場合にはTRUEを返します。AとBが少なくとも一つの共有点があり、共有点が少なくとも一つの境界の上にあることと同じです。ポイント/ポイント入力では、ポイントは境界を持たないため、常にFALSEを返します。
数学用語では: ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) ≠ ∅) ∧ (A ⋂ B ≠ ∅)
この関係は、二つのジオメトリのDE-9IM交差行列がどれか一つに合致すると、関係が保持されていることになります。
FT*******
F**T*****
F***T****
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。 インデックスの使用を避けるには_ST_Touchesを代わりに使います。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 // s2.1.13.3
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.28
- ST_Transform - 異なる空間参照系に投影変換された新しいジオメトリを返します。
説明
異なる空間参照系に投影変換された新しいジオメトリを返します。変換先空間参照系であるto_sridは、妥当なSRID整数パラメータ (spatial_ref_sysにあるということ)です。他にも、to_projとfrom_projにPROJ.4文字列で定義された空間参照系を指定することができますが、最適化されません。変換先空間参照系がSRIDの代わりにPROJ.4文字列で表現されている場合には、出力ジオメトリのSRIDは0になります。from_projを使う場合には、入力ジオメトリは定義されたSRIDを持っていなければなりません。
ST_Transformはしばしばと混同されます。ST_Transformは実際にジオメトリの座標を、ある空間参照系から他のものに変換します。ST_SetSRIDは単にジオメトリのSRIDを変更するだけです。
ST_Transformは変換元空間参照系と変換先空間参照系に与える適切な変換パイプラインを自動的に選択します。特定の変換法を使用するにはを使います。
PostGISはPROJ対応でコンパイルする必要があります。PROJ対応でコンパイルしたかを確認するにはを使います。
一つ以上の変換を行う場合は、インデクスの利点を得るために、使用する変換に関する関数インデクスを持つと便利です。
1.3.4より前では、曲線を含むジオメトリで使用すると、この関数はクラッシュします。これは1.3.4以上で訂正されています。
Enhanced: 2.0.0 多面体サーフェス対応が導入されました。
Enhanced: 2.3.0 直接のPROJ.4文字列への対応が導入されました。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.6
このメソッドは曲線ストリングと曲線に対応しています。
この関数は多面体サーフェスに対応しています。
- ST_Union - 入力ジオメトリのポイント集合の結合を表現するジオメトリを返します。
説明
入力ジオメトリを結合してオーバラップをしない結果ジオメトリを生成します。出力は単一ジオメトリ、マルチ系ジオメトリ、ジオメトリコレクションのいずれにかなる可能性があります。次の通り複数の形式があります。
二入力形式: 二つの入力ジオメトリの結合のジオメトリを返します。いずれかの入力がNULLの場合にはNULLを返します。
配列形式: ジオメトリ配列を結合したジオメトリを返します。
集約関数形式: ジオメトリの集合を結合したジオメトリを返します。ST_Union()関数は、PostgreSQL用語で言うところの「集約関数」です。つまり、SUM()やMEAN()と同じ方法で複数のデータ行の操作を行い、他の集約関数と同じようにNULLジオメトリを無視します。
非集約関数で入力が一つの形式であるも参照して下さい。
ST_Unionの配列形式と集合形式では、http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.htmlで紹介されている早いカスケード結合アルゴリズムを使っています。
固定精度空間で動作するようgridSizeを指定できます。入力は与えられたグリッドにスナップされ、結果の頂点は同じグリッド上で計算されます (GEOS-3.9.0以上が必要です)。
は、結果に重ね合わせが無いことを求めていない場合には、時々ST_Unionの代わりに用いられます。ST_Collectは、集めレれたジオメトリに処理を実行しないため、通常はST_Unionより早い動作速度になります。
GEOSモジュールで実現しています。
ST_UnionはMULTILINESTRINGを生成し、新しいLINESTRINGを単一のLINESTRINGに縫い付けません。LINESTRINGに縫い付けるにはを使用します。
ご注意: この関数は以前は、"Union"から名称変更してGeomUnion()と呼ばれていました。UNIONはSQLの予約語であるためです。
Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。
gridSizeパラメータを使うにはGEOS 3.9.0以上が必要です
Changed: 3.0.0 SFCGAL非依存になりました。
Availability: 1.4.0 - ST_Unionが機能強化されました。ST_Union(geomarray)が導入され、PostgreSQLの高速なコレクションの集約が導入されました。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.3
集約関数版は、OGC仕様に明示的に定義されていません。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.19 ポリゴンが含まれる時、Z値 (標高)を持ちます。
この関数は3次元に対応し、Z値を削除しません。 ただし、結果はXYのみを使用して計算されます。結果のZ値は複写するか、平均値になるか、補間されます。
- ST_Volume - 3次元立体の体積を計算します。面ジオメトリは (閉じていても)0を返します。
説明
Availability: 2.2.0
このメソッドにはSFCGALバックエンドが必要です。
この関数は3次元に対応し、Z値を削除しません。
この関数は多面体サーフェスに対応しています。
この関数は三角形と不規則三角網 (TIN)に対応しています。
このメソッドはSQL/MM仕様の実装です。 SQL-MM IEC 13249-3: 9.1 (ST_3DVolumeと同じ)
- 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内にあり、かつ両方の内部が共有点を持つかどうかをテストします。
説明
ジオメトリAがジオメトリB内にある場合にTRUEを返します。Aの全ての点がBの内側 (内部または境界)にあり、Aの内部とBの内部に少なくとも一つの共有点がある場合に限って、AはB内にあると言います。
渡すジオメトリが両方とも同じSRIDでなければ、この関数は意味がありません。
数学用語では: ST_Within(A, B) ⇔ (A ⋂ B = A) ∧ (Int(A) ⋂ Int(B) ≠ ∅)
内にある、という関係性には反射性があります。全てのジオメトリは、自分の内にあると言えます。また、非対称性を持ちます。ST_Within(A,B) = trueかつST_Within(B,A) = trueの場合には、二つのジオメトリは必ずトポロジ的に等価 (ST_Equals(A,B) = true)になります。
ST_Withinはの反対です。ST_Within(A,B) = ST_Contains(B,A)となります。
内部が必ず共有点を持つので、定義は、ポリゴンまたはラインの境界上にあるラインまたはポイントはジオメトリの内にないという微妙なものになります。詳細については、Subtleties of OGC Covers, Contains, Withinをご覧下さい。述語はより包括的な関係を提供します。
この関数の呼び出しによって、ジオメトリで使用可能なインデックスを使用するバウンディングボックスの比較が自動的に行われます。 インデックスの使用を避けるには_ST_Within関数を使います。
GEOSモジュールで実現しています。
Enhanced: 2.3.0 ジオメトリについて、PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。
Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました
この関数を不正なジオメトリで呼ばないでください。予期しない結果が返されます。
ご注意: これは論理値を返して整数を返さないのが「許される」版です。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。 s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*F**F***')
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 5.1.30
- ST_X - ポイントのX値を返します。
説明
ポイントのX座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
ジオメトリのX値の最小値と最大値を得るにはとを使います。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.3
この関数は3次元に対応し、Z値を削除しません。
- ST_Y - ポイントのY値を返します。
説明
ポイントのY座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
ジオメトリの値の最小値と最大値を得るにはとを使います。
このメソッドはOGC Simple Features Implementation Specification for SQL 1.1の実装です。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 6.1.4
この関数は3次元に対応し、Z値を削除しません。
- ST_Z - ポイントのZ値を返します。
説明
ポイントのZ座標値を返し、有効でないならNULLを返します。入力はポイントでなければなりません。
ジオメトリのZ値の最小値と最大値を得るにはとを使います。
このメソッドはSQL/MM仕様の実装です。
この関数は3次元に対応し、Z値を削除しません。
- TG_ST_SRID - TopoGeometryの空間参照識別子を返します。
説明
ST_Geometryのspatial_ref_sysテーブルで定義されている空間参照系の識別番号を返します。を参照して下さい。
spatial_ref_sysテーブルはPostGISが知る参照系の全てのカタログを作っていて、ある空間参照系から他の空間参照系に変換するために使われます。ジオメトリの変換を予定している場合は正しい空間参照系の識別番号を持っているか確認することは重要です。
Availability: 3.2.0
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 14.1.5
次に示す関数と演算子は、ジオグラフィデータ型を入力または出力に取るPostGIS関数/演算子です。
| |
---|
(T)の付いた関数はネイティブなジオグラフィ関数ではなく、実行時にST_Transformを使ってジオメトリとの変換を行います。結果として、日付変更線や極を超えたり、ひとつのUTMゾーンではカバーできない巨大なジオメトリを使用する場合に、予期しない挙動になることがあります。基本的な変換としては、UTMが望ましいですが、ランベルト正積方位図法(北/南)、最悪のシナリオでメルカトルに頼ります。 |
次に示す関数と演算子は、rasterデータ型を入力または出力に取るPostGIS関数/演算子です。アルファベット順に示します。
- Box3D - ラスタを囲むボックスのbox3d表現を返します。
- @ - AのバウンディングボックスがBのバウンディングボックスに含まれる場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
- ~ - AのバウンディングボックスがBのバウンディングボックスを含む場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
- = - AのバウンディングボックスがBのバウンディングボックスと同じ場合にTRUEを返します。倍精度浮動小数点数のバウンディングボックスを使います。
- && - AのバウンディングボックスがBのバウンディングボックスとインタセクトする場合にTRUEを返します。
- &< - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの左にある場合にTRUEを返します。
- &> - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの右にある場合に TRUE を返します。
- ~= - AのバウンディングボックスがBのバウンディングボックスと同じ場合に TRUEを返します。
- ST_Retile - 任意のタイル化されたラスタカバレッジから構成されたタイルの集合を返します。
- ST_AddBand - 与えられたタイプで、与えられた初期値にした新しいバンドを、与えられたインデクス位置に追加したラスタを返します。インデクス位置を指定していない場合には、バンドは末尾に追加されます。
- ST_AsBinary/ST_AsWKB - ラスタのWell-Known Binary (WKB)表現を返します。
- ST_AsGDALRaster - 指定されたGDALラスタ書式でラスタタイルを返します。ラスタ書式はコンパイルしたライブラリが対応するものです。ライブラリが対応する書式の一覧を得るにはST_GDALRasters()を使います。
- ST_AsHexWKB - Well-Known Binary (WKB)ラスタを16進数表現で返します。
- 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_BandFileSize - ファイルシステムに格納されているバンドのファイルサイズを返します。バンド番号が指定されていない場合には、1番と仮定します。
- ST_BandFileTimestamp - ファイルシステムに格納されているバンドのファイルタイムスタンプ返します。バンド番号が指定されていない場合には、1番と仮定します。
- 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_Contour - 与えられたラスタバンドから等高線ベクタを生成します。GDAL等高線生成アルゴリズムを使います。
- 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_Grayscale - 元のラスタと指定したバンドを赤、緑、青バンドとして一つの8BUIバンドを持つラスタを生成します。
- ST_HasNoBand - 指定したバンド番号のバンドが無い場合には、TRUEを返します。バンド番号を指定していない場合には、1番と仮定します。
- ST_Height - ラスタの高さをピクセル単位で返します。
- ST_HillShade - 与えられた方位、高度、明度、スケールの入力を使って標高ラスタバンドの仮想照明を返します。
- ST_Histogram - ラスタまたはラスタカバレッジのビン範囲で分割したデータ分布をまとめるヒストグラムの集合を返します。ビン数を指定しない場合には自動計算されます。
- ST_InterpolateRaster - X値とY値を使用してグリッド上のポイントを配置し、ポイントのZ値をサーフェス標高として配置し、3次元ポイントの入力セットに基づいてグリッドサーフェスを補間します。
- ST_Intersection - 二つのラスタの共有部分またはベクタ化したラスタとジオメトリとのインタセクトした部分を表現する、ラスタまたはジオメトリとピクセル値の組の集合を返します。
- ST_Intersects - rastAがrastBとインタセクトする場合にTRUEを返します。
- ST_IsEmpty - ラスタが空 (幅が0で高さが0)の場合にはTRUEを返します。他の場合には、FALSEを返します。
- ST_MakeEmptyCoverage - 空のラスタタイルのグリッドでジオリファレンスを施されている領域を生成します。
- ST_MakeEmptyRaster - 与えられたピクセル範囲 (width & height)、左上のX,Y、ピクセルサイズ、回転 (scalex, scaley, skewx, skewy)と空間参照系 (srid)が指定された空ラスタ (バンドを持たないラスタ)を返します。ラスタが渡されると、新しいラスタは渡されたラスタと同じサイズ、アラインメント、SRIDになります。SRIDが指定されていない場合には、空間参照系は不明 (0)とされます。
- ST_MapAlgebra (callback function version) - コールバック関数版 - 一つ以上の入力ラスタ、バンドインデクスと一つのユーザ定義コールバック関数から、一つのバンドからなるラスタを返します。
- ST_MapAlgebraExpr - 1バンド版: 入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番を仮定します。
- ST_MapAlgebraExpr - 2バンド版: 二つの入力バンドに対する妥当なPostgreSQL代数演算で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、どちらも1番と仮定します。結果ラスタは、一つ目のラスタのアラインメント (スケール、スキュー、ピクセル角位置)にあわされます。範囲は"extenttype"引数で定義されます。取りうる"extenttype"の値はINTERSECTION, UNION, FIRST, SECONDです。
- ST_MapAlgebraFct - 1バンド版 - 入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番と仮定します。
- ST_MapAlgebraFct - 2バンド版 - 二つの入力バンドに対する妥当なPostgreSQL関数で形成された、指定したピクセルタイプとなる1バンドラスタを生成します。バンドを指定しない場合には、1番と仮定します。"extenttype"のデフォルトはINTERSECTIONです。
- ST_MapAlgebraFctNgb - 1バンド版: ユーザ定義PostgreSQL関数を使用する最近傍地図代数関数です。入力ラスタバンドの近傍の値を与えたPL/pgSQLユーザ定義関数の結果からなるラスタを返します。
- ST_MapAlgebra (expression version) - 数式版 - 一つか二つの入力ラスタ、バンド番号、一つ以上のユーザ定義SQL式から一つのバンドを持つラスタを返します。
- ST_MemSize - ラスタが取る領域の合計をバイト単位で返します。
- ST_MetaData - ピクセル数、回転 (スキュー)、左上隅位置等のラスタオブジェクトに関する基本的なメタデータを返します。
- 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_RastFromHexWKB - Well-Knownバイナリ (WKB)ラスタの16進数表現からラスタを返します。
- ST_RastFromWKB - Well-Known Binary (WKB)ラスタからラスタ値を返します。
- 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_SetBandIndex - データベース外バンドの外部バンド番号の更新
- ST_SetBandIsNoData - バンドのisnodataフラグをTRUEにします。
- ST_SetBandNoDataValue - 指定したバンドにNODATAを表現する値を設定します。バンドを指定しない場合には、1番と仮定します。NODATA値を持たないようにするには、nodatavalueにNULLを指定します。
- ST_SetBandPath - データベース外バンドの外部パスとバンド番号を更新します。
- ST_SetGeoReference - 地理参照6パラメタを一度に設定します。数値は空白で区切ります。GDALまたはESRI書式の入力を受け付けます。デフォルトはGDALです。
- ST_SetM - 入力ジオメトリと同じX/Y値を持ち、かつ、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたM値を持つジオメトリを返します。
- 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_SetZ - 入力ジオメトリと同じX/y座標値と、指定されたリサンプリングアルゴリズムを使ってラスタから複写されたZ値とを持つジオメトリを返します。
- 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を変更します。
12.6. PostGISジオメトリ/ジオグラフィ/ラスタのダンプ関数
次に示す関数は、geometry_dumpまたはgeomvalデータ型の集合または単一データを入力または出力に取るPostGIS関数です。
次に示す関数は、PostGIS空間型のbox系の型を入力または出力に取るPostGIS関数です。ボックス系にはbox2dとbox3dがあります。
次に示す関数は、Zインデクスを放り出さないPostGIS関数です。
次に示す関数は、CIRCULARSTRING, CURVEDPOLYGON等の曲線ジオメトリ型が使えるPostGIS関数です。
- AddGeometryColumn - ジオメトリカラムを既存のテーブルに追加します。
- Box2D - ジオメトリの2次元範囲を表現するBOX2Dを返します。
- Box3D - ジオメトリの3次元範囲を表現するBOX3Dを返します。
- DropGeometryColumn - ジオメトリカラムを空間テーブルから除去します。
- GeometryType - ジオメトリのタイプを文字列で返します。
- PostGIS_AddBBox - ジオメトリにバウンディングボックスを追加します。
- PostGIS_DropBBox - ジオメトリからバウンディングボックスのキャッシュを削除します。
- PostGIS_HasBBox - ジオメトリのバウンディングボックスがキャッシュされている場合にはTRUEを返し、他の場合にはFALSEを返します。
- ST_3DExtent - ジオメトリの3次元バウンディングボックスを返す集約関数です。
- ST_Affine - ジオメトリに3次元アフィン変換を適用します。
- ST_AsBinary - ジオメトリ/ジオグラフィの、SRIDメタデータを持たないOGC/ISO Well-Knownバイナリ (WKB)表現を返します。
- ST_AsEWKB - ジオメトリの、SRIDメタデータを持つExtended Well-Knownバイナリ (EWKB)表現を返します。
- ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text (WKT)表現を返します。
- ST_AsHEXEWKB - ジオメトリのHEXEWKB表現を (文字列として)返します。リトルエンディアン (NDR)またはビッグエンディアン (XDR)のどちらかのエンコーディングを使います。
- ST_AsSVG - ジオメトリからSVGパスデータを返します。
- ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_ClusterDBSCAN - 入力ジオメトリごとにDBSCANアルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_ClusterWithin - 分離距離でジオメトリのクラスタリングを行う集約関数です。
- ST_ClusterWithinWin - 入力ジオメトリごとに分離距離を使ったクラスタリングを行い、クラスタIDを返すウィンドウ関数です。
- ST_Collect - ジオメトリの集合からジオメトリコレクションまたはマルチ系ジオメトリを生成します。
- ST_CoordDim - ジオメトリの座標次元を返します。
- ST_CurveToLine - 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_Distance - 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Dump - ジオメトリの要素となるgeometry_dump行の集合を返します。
- ST_DumpPoints - ジオメトリ内の座標の行であるgeometry_dump行の集合を返します。
- ST_EndPoint - LINESTRINGまたはCIRCULARLINESTRINGの終端のポイントを返します。
- ST_EstimatedExtent - 空間テーブルの推定範囲を返します。
- ST_FlipCoordinates - X値とY値を入れ替えたジオメトリを返します。
- ST_Force2D - ジオメトリを2次元モードに強制します。
- ST_ForceCurve - 該当する場合は、ジオメトリを曲線タイプに変換します。
- ST_ForceSFS - SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
- ST_Force3D - ジオメトリをXYZモードに強制します。これはST_Force3DZの別名です。
- ST_Force3DM - ジオメトリをXYMモードに強制します。
- ST_Force3DZ - ジオメトリをXYZモードに強制します。
- 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 - ジオメトリコレクションの要素を一つ返します。
- = - ジオメトリ/ジオグラフィ Aの座標と座標の並び順がジオメトリ/ジオグラフィ Bと同じ場合にTRUEを返します。
- &<| - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの下にある場合にTRUEを返します。
- ST_HasArc - ジオメトリに円弧が含まれているかどうかテストします。
- ST_Intersects - 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_IsClosed - ラインストリングの始点と終点が一致しているかをテストします。多面体サーフェスについては閉じているか (立体であるか)をテストします。
- ST_IsCollection - ジオメトリのタイプがジオメトリコレクションかをテストします。
- ST_IsEmpty - ジオメトリが空かをテストします。
- ST_LineToCurve - 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_MemSize - ジオメトリが取るメモリ空間の合計を返します。
- ST_NPoints - ジオメトリのポイント (頂点)の数を返します。
- ST_NRings - ポリゴンジオメトリのリング数を返します。
- ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。
- ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。
- ST_Points - ジオメトリの全ての座標を含むマルチポイントを返します。
- ST_Rotate - ジオメトリを原点について回転させます。
- ST_RotateZ - ジオメトリをZ軸について回転させます。
- ST_SRID - ジオメトリの空間参照系識別子を返します。
- ST_Scale - 与えた係数でジオメトリを拡大縮小します。
- ST_SetSRID - ジオメトリにSRIDを設定します。
- ST_StartPoint - ラインストリングの始点を返します。
- ST_Summary - ジオメトリについての要約文を返します。
- ST_SwapOrdinates - 与えられたジオメトリにおいて与えられた座標の値を入れ替えたジオメトリを返します。
- ST_TransScale - 与えられた係数とオフセットでジオメトリを変換します。
- ST_Transform - 異なる空間参照系に投影変換された新しいジオメトリを返します。
- ST_Translate - 与えられたオフセットでジオメトリを変換します。
- 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座標次元を示す符号を返します。
- UpdateGeometrySRID - ジオメトリカラム内の全ての地物のSRIDを更新し、テーブルのメタデータを更新します。
- ~(box2df,box2df) - 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)の一方がもう一方を包含する場合にTRUEを返します。
- ~(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)をジオメトリの (キャッシュされている)2次元バウンディングボックスが包含する場合にTRUEを返します。
- ~(geometry,box2df) - ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)を包含する場合にTRUEを返します。
- && - Aの2次元バウンディングボックスがBの2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&& - Aのn次元バウンディングボックスがBのn次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- @(box2df,box2df) - 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)の一方がもう一方を包含する場合にTRUEを返します。
- @(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)がジオメトリの2次元バウンディングボックスに包含される場合にTRUEを返します。
- @(geometry,box2df) - ジオメトリの2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)に包含される場合にTRUEを返します。
- &&(box2df,box2df) - 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックスがジオメトリの (キャッシュされている)2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&(geometry,box2df) - ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(geometry,gidx) - ジオメトリの (キャッシュされている)n次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)とインタセクトする場合にTRUEを返します。
- &&&(gidx,geometry) - 単精度浮動小数点数によるn次元バウンディングボックス (GIDX)がジオメトリの (キャッシュされている)n次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(gidx,gidx) - 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)が相互にインタセクトする場合にTRUEを返します。
12.10. PostGIS多面体サーフェス対応関数
次に示す関数は、POLYHEDRALSURFACE, POLYHEDRALSURFACEMジオメトリが使えるPostGIS関数です。
- AddGeometryColumn - ジオメトリカラムを既存のテーブルに追加します。
- Box2D - ジオメトリの2次元範囲を表現するBOX2Dを返します。
- Box3D - ジオメトリの3次元範囲を表現するBOX3Dを返します。
- DropGeometryColumn - ジオメトリカラムを空間テーブルから除去します。
- GeometryType - ジオメトリのタイプを文字列で返します。
- PostGIS_AddBBox - ジオメトリにバウンディングボックスを追加します。
- PostGIS_DropBBox - ジオメトリからバウンディングボックスのキャッシュを削除します。
- PostGIS_HasBBox - ジオメトリのバウンディングボックスがキャッシュされている場合にはTRUEを返し、他の場合にはFALSEを返します。
- ST_3DExtent - ジオメトリの3次元バウンディングボックスを返す集約関数です。
- ST_Affine - ジオメトリに3次元アフィン変換を適用します。
- ST_AsBinary - ジオメトリ/ジオグラフィの、SRIDメタデータを持たないOGC/ISO Well-Knownバイナリ (WKB)表現を返します。
- ST_AsEWKB - ジオメトリの、SRIDメタデータを持つExtended Well-Knownバイナリ (EWKB)表現を返します。
- ST_AsEWKT - ジオメトリのSRIDメタデータが付いたWell-Known Text (WKT)表現を返します。
- ST_AsHEXEWKB - ジオメトリのHEXEWKB表現を (文字列として)返します。リトルエンディアン (NDR)またはビッグエンディアン (XDR)のどちらかのエンコーディングを使います。
- ST_AsSVG - ジオメトリからSVGパスデータを返します。
- ST_AsText - ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_ClusterDBSCAN - 入力ジオメトリごとにDBSCANアルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_ClusterWithin - 分離距離でジオメトリのクラスタリングを行う集約関数です。
- ST_ClusterWithinWin - 入力ジオメトリごとに分離距離を使ったクラスタリングを行い、クラスタIDを返すウィンドウ関数です。
- ST_Collect - ジオメトリの集合からジオメトリコレクションまたはマルチ系ジオメトリを生成します。
- ST_CoordDim - ジオメトリの座標次元を返します。
- ST_CurveToLine - 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_Distance - 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Dump - ジオメトリの要素となるgeometry_dump行の集合を返します。
- ST_DumpPoints - ジオメトリ内の座標の行であるgeometry_dump行の集合を返します。
- ST_EndPoint - LINESTRINGまたはCIRCULARLINESTRINGの終端のポイントを返します。
- ST_EstimatedExtent - 空間テーブルの推定範囲を返します。
- ST_FlipCoordinates - X値とY値を入れ替えたジオメトリを返します。
- ST_Force2D - ジオメトリを2次元モードに強制します。
- ST_ForceCurve - 該当する場合は、ジオメトリを曲線タイプに変換します。
- ST_ForceSFS - SFS 1.1ジオメトリタイプのみ使うようジオメトリに強制します。
- ST_Force3D - ジオメトリをXYZモードに強制します。これはST_Force3DZの別名です。
- ST_Force3DM - ジオメトリをXYMモードに強制します。
- ST_Force3DZ - ジオメトリをXYZモードに強制します。
- 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 - ジオメトリコレクションの要素を一つ返します。
- = - ジオメトリ/ジオグラフィ Aの座標と座標の並び順がジオメトリ/ジオグラフィ Bと同じ場合にTRUEを返します。
- &<| - AのバウンディングボックスがBのバウンディングボックスをオーバラップするか、Bのバウンディングボックスの下にある場合にTRUEを返します。
- ST_HasArc - ジオメトリに円弧が含まれているかどうかテストします。
- ST_Intersects - 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_IsClosed - ラインストリングの始点と終点が一致しているかをテストします。多面体サーフェスについては閉じているか (立体であるか)をテストします。
- ST_IsCollection - ジオメトリのタイプがジオメトリコレクションかをテストします。
- ST_IsEmpty - ジオメトリが空かをテストします。
- ST_LineToCurve - 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_MemSize - ジオメトリが取るメモリ空間の合計を返します。
- ST_NPoints - ジオメトリのポイント (頂点)の数を返します。
- ST_NRings - ポリゴンジオメトリのリング数を返します。
- ST_PointFromWKB - WKBと与えられたSRIDからジオメトリを生成します。
- ST_PointN - ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。
- ST_Points - ジオメトリの全ての座標を含むマルチポイントを返します。
- ST_Rotate - ジオメトリを原点について回転させます。
- ST_RotateZ - ジオメトリをZ軸について回転させます。
- ST_SRID - ジオメトリの空間参照系識別子を返します。
- ST_Scale - 与えた係数でジオメトリを拡大縮小します。
- ST_SetSRID - ジオメトリにSRIDを設定します。
- ST_StartPoint - ラインストリングの始点を返します。
- ST_Summary - ジオメトリについての要約文を返します。
- ST_SwapOrdinates - 与えられたジオメトリにおいて与えられた座標の値を入れ替えたジオメトリを返します。
- ST_TransScale - 与えられた係数とオフセットでジオメトリを変換します。
- ST_Transform - 異なる空間参照系に投影変換された新しいジオメトリを返します。
- ST_Translate - 与えられたオフセットでジオメトリを変換します。
- 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座標次元を示す符号を返します。
- UpdateGeometrySRID - ジオメトリカラム内の全ての地物のSRIDを更新し、テーブルのメタデータを更新します。
- ~(box2df,box2df) - 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)の一方がもう一方を包含する場合にTRUEを返します。
- ~(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)をジオメトリの (キャッシュされている)2次元バウンディングボックスが包含する場合にTRUEを返します。
- ~(geometry,box2df) - ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)を包含する場合にTRUEを返します。
- && - Aの2次元バウンディングボックスがBの2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&& - Aのn次元バウンディングボックスがBのn次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- @(box2df,box2df) - 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)の一方がもう一方を包含する場合にTRUEを返します。
- @(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)がジオメトリの2次元バウンディングボックスに包含される場合にTRUEを返します。
- @(geometry,box2df) - ジオメトリの2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)に包含される場合にTRUEを返します。
- &&(box2df,box2df) - 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,geometry) - 単精度浮動小数点数による2次元バウンディングボックスがジオメトリの (キャッシュされている)2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&(geometry,box2df) - ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(geometry,gidx) - ジオメトリの (キャッシュされている)n次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)とインタセクトする場合にTRUEを返します。
- &&&(gidx,geometry) - 単精度浮動小数点数によるn次元バウンディングボックス (GIDX)がジオメトリの (キャッシュされている)n次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(gidx,gidx) - 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)が相互にインタセクトする場合にTRUEを返します。
次に示す表は、アルファベット順に並べた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)に対応しています。
12.12. 新規作成/機能強化/変更されたPostGIS関数
12.12.1. PostGIS 3.4 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.4 で新規作成された関数
PostGIS 3.4 で機能強化された関数
- PostGIS_Full_Version - Enhanced: 3.4.0 現在、外部PROJ設定のNETWORK_ENABLED、URL_ENDPOINT、proj.db位置のDATABASE_PATHがあります 完全なPostGISのバージョン情報とコンフィギュレーション情報を報告します。
- PostGIS_PROJ_Version - Enhanced: 3.4.0 現在、NETWORK_ENABLED、URL_ENDPOINT、proj.db位置のDATABASE_PATHがあります PROJ4のバージョン番号を返します。
- ST_AsSVG - Enhanced: 3.4.0 全ての曲線タイプに対応しました ジオメトリからSVGパスデータを返します。
- ST_ClosestPoint - Enhanced: 3.4.0 - ジオグラフィに対応しました。 g1上にある、g2と最近傍となる2次元ポイントを返します。これは、あるジオメトリから他のジオメトリへの最短ラインの一つ目のポイントです。
- ST_LineSubstring - Enhanced: 3.4.0 ジオグラフィ対応が導入されました。 二つの割合位置からラインの一部を返します。
- ST_Project - Enhanced: 3.4.0 ジオメトリ引数と、azimuthを省略した2ポイント形式を許します。 始点から距離と方位で算出されたポイントを返します。
- ST_ShortestLine - Enhanced: 3.4.0 - ジオグラフィに対応しました。 二つのジオメトリの3次元の最短ラインを返します。
PostGIS 3.4 で変更された関数
- PostGIS_Extensions_Upgrade - Changed: 3.4.0 target_version引数が追加されました。 PostGISエクステンション (例: postgis_raster, postgis_topology, postgis_sfcgal)について、指定したバージョンまたは最新版にパッケージ化し、アップグレードします。
12.12.2. PostGIS 3.3 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.3 で新規作成された関数
- ST_3DConvexHull - Availability: 3.3.0 ジオメトリの3次元の凸包を計算します。
- ST_3DUnion - Availability: 3.3.0 集約関数の形式が追加されました 3次元の結合を計算します。
- ST_AlphaShape - Availability: 3.3.0 - SFCGAL >= 1.4.1 が必要です。 ジオメトリを囲むアルファシェイプを計算します。
- ST_AsMARC21 - Availability: 3.3.0 ジオメトリを、地理データフィールド (034)を持つMARC21/XMLデータとして返します。
- ST_GeomFromMARC21 - Availability: 3.3.0 libxml2 2.6以上が必要です。 MARC21/XML地理データを入力に取り、PostGISジオメトリオブジェクトを返します。
- ST_Letters - Availability: 3.3.0 デフォルトの開始位置を原点とし、デフォルトの高さを100とする、ジオメトリとして描画された文字を返します。
- ST_OptimalAlphaShape - Availability: 3.3.0 - SFCGAL >= 1.4.1 が必要です。 「最適」アルファ値を使ってジオメトリを囲むアルファシェイプを計算します。
- ST_SimplifyPolygonHull - Availability: 3.3.0. ポリゴンジオメトリに対してトポロジを保存した状態で簡略化した外側または内側の凹包を計算します。
- ST_TriangulatePolygon - Availability: 3.3.0. ポリゴンの制約付きドロネー三角分割を計算します。
- postgis_sfcgal_full_version - Availability: 3.3.0 CGALとBoostのバージョンを含む、使用しているSFCGALの完全なバージョンを返します
PostGIS 3.3 で機能強化された関数
- ST_ConcaveHull - Enhanced: 3.3.0, GEOS 3.11からGEOSネイティブ実装が有効になりました 全ての入力ジオメトリの頂点を含む凹ジオメトリを計算します。
- ST_LineMerge - Enhanced: 3.3.0 directedパラメータを付け付けるようになりました。 MULTILINESTRINGを縫い合わせて形成したラインを返します。
PostGIS 3.3 で変更された関数
- PostGIS_Extensions_Upgrade - Changed: 3.3.0 どのPostGISのバージョンからでもアップグレードできるようになりました。ただし全てのシステムで動作するわけではありません。 PostGISエクステンション (例: postgis_raster, postgis_topology, postgis_sfcgal)について、指定したバージョンまたは最新版にパッケージ化し、アップグレードします。
12.12.3. PostGIS 3.2 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.2 で新規作成された関数
PostGIS 3.2 で機能強化された関数
- ST_ClusterKMeans - Enhanced: 3.2.0 max_radiusパラメータに対応しました 入力ジオメトリごとにk平均法アルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_MakeValid - Enhanced: 3.2.0, アルゴリズムに関する任意パラメータ'linework'と'structure'が追加されました。GEOS 3.10.0以上が必要です。 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
- ST_Point - Enhanced: 3.2.0 SRID任意引数が追加されました。古いバージョンでは、ジオメトリにSRIDを与えるにはST_SetSRIDを併用しなければなりませんでした。 X, YとSRIDの値からポイントを生成します。
- ST_PointM - Enhanced: 3.2.0 SRID任意引数が追加されました。古いバージョンでは、ジオメトリにSRIDを与えるにはST_SetSRIDを併用しなければなりませんでした。 X, Y, MとSRIDの値からポイントを生成します。
- ST_PointZ - Enhanced: 3.2.0 SRID任意引数が追加されました。古いバージョンでは、ジオメトリにSRIDを与えるにはST_SetSRIDを併用しなければなりませんでした。 X, Y, ZとSRIDの値からポイントを生成します。
- ST_PointZM - Enhanced: 3.2.0 SRID任意引数が追加されました。古いバージョンでは、ジオメトリにSRIDを与えるにはST_SetSRIDを併用しなければなりませんでした。 X, Y, Z, MとSRIDの値からポイントを生成します。
- ST_RemovePoint - Enhanced: 3.2.0 ラインストリングからポイントを削除します。
- ST_RemoveRepeatedPoints - Enhanced: 3.2.0 重複ポイントを除いたジオメトリを返します。
- ST_StartPoint - Enhanced: 3.2.0 全てのジオメトリのポイントを返すようになりました。以前のバージョンではラインストリング以外ではNULLを返していました。 ラインストリングの始点を返します。
PostGIS 3.2 で変更された関数
- ST_Boundary - Changed: 3.2.0 TINに対応しました。GEOSを使いません。曲線を線形化しません。 ジオメトリの境界を返します。
12.12.4. PostGIS 3.1 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.1 で新規作成された関数
- ST_Hexagon - Availability: 3.1.0 与えられたエッジサイズと六角形グリッド空間内のセル座標を使って単一の六角形を返します。
- ST_HexagonGrid - Availability: 3.1.0 引数ジオメトリの境界を完全にカバーする六角形とセルインデックスを返します。
- ST_MaximumInscribedCircle - Availability: 3.1.0. ジオメトリに含まれる最大の円を計算します。
- ST_ReducePrecision - Availability: 3.1.0. 全ての与えられたグリッド許容値に丸められたポイントからなる妥当なジオメトリを返します。
- ST_Square - Availability: 3.1.0 与えられたエッジサイズと六角形グリッド空間内のセル座標を使って単一の正方形を返します。
- ST_SquareGrid - Availability: 3.1.0 引数ジオメトリの境界を完全にカバーするグリッド正方形とセルインデックスを返します。
PostGIS 3.1 で機能強化された関数
- ST_AsEWKT - Enhanced: 3.1.0 精度パラメータ (任意)に対応しました。 ジオメトリのSRIDメタデータが付いたWell-Known Text (WKT)表現を返します。
- ST_ClusterKMeans - Enhanced: 3.1.0 3次元ジオメトリと重みに対応するようになりました 入力ジオメトリごとにk平均法アルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_Difference - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。 ジオメトリBとインタセクトしていないジオメトリAの一部を表現するジオメトリを計算します。
- ST_Intersection - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました ジオメトリAとジオメトリBの共通部分を表現するジオメトリを返します。
- ST_MakeValid - Enhanced: 3.1.0 NaN値を持つ座標の削除が追加されました。 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
- ST_Subdivide - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。 ジオメトリの線の分割を計算します。
- ST_SymDifference - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。 ジオメトリAとジオメトリBがインタセクトしていない部分を表現するジオメトリを返します。
- ST_TileEnvelope - Enhanced: 3.1.0 marginパラメータが追加されました。 Webメルカトル (SRID:3857)上で XYZタイルを使った矩形ポリゴンを生成します。
- ST_UnaryUnion - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。 単一のジオメトリの要素の結合を計算します。
- ST_Union - Enhanced: 3.1.0 gridSizeパラメータを受け付けるようになりました。 入力ジオメトリのポイント集合の結合を表現するジオメトリを返します。
PostGIS 3.1 で変更された関数
- ST_Force3D - Changed: 3.1.0. 0でないZ値を指定できるようになりました。 ジオメトリをXYZモードに強制します。これはST_Force3DZの別名です。
- ST_Force3DM - Changed: 3.1.0. 0でないM値を指定できるようになりました。 ジオメトリをXYMモードに強制します。
- ST_Force3DZ - Changed: 3.1.0. 0でないZ値を指定できるようになりました。 ジオメトリをXYZモードに強制します。
- ST_Force4D - Changed: 3.1.0. 0でないZ値とM値を指定できるようになりました。 ジオメトリをXYZMモードに強制します。
12.12.5. PostGIS 3.0 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 3.0 で新規作成された関数
PostGIS 3.0 で機能強化された関数
- ST_AsMVT - Enhanced: 3.0 - 地物IDへの対応を追加。 行集合のMVT表現を返す集約関数です。
- ST_Contains - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Bの全てのポイントがA内にあり、かつ、双方の内部に共有点が存在するかどうかをテストします。
- ST_ContainsProperly - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Bの全てのポイントがAの内部にあるかをテストします。
- ST_CoveredBy - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Aの全てのポイントがB内にあるかをテストします。
- ST_Covers - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Bの全ての点がA内にあるかをテストします。
- ST_Crosses - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが内部に共有ポイントを持ち、かつそれだけにならないようになっているかテストします。
- ST_CurveToLine - Enhanced: 3.0.0 線形化した弧ごとの最小線分数を実装しました。トポロジ的な崩壊を防ぐためです。 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_Disjoint - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが共有点を持たないようになっているかテストします。
- ST_Equals - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが同じ点集合になっているかテストします。
- ST_GeneratePoints - Enhanced: 3.0.0 seedパラメータの追加 ポリゴン内やマルチポリゴン内にランダムなポイントを生成します。
- ST_GeomFromGeoJSON - Enhanced: 3.0.0 パースされたジオメトリのデフォルトのSRIDは、他に指定していない場合には4326となります。 ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
- ST_LocateBetween - Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。 M値の範囲に合致する部分ジオメトリを返します。
- ST_LocateBetweenElevations - Enhanced: 3.0.0 - POLYGON, TIN, TRIANGLEへの対応が追加されました。 標高 (Z値)範囲にある部分ジオメトリを返します。
- ST_Overlaps - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが同じ次元を持ち、インタセクトして、かつ相手と重ならない点少なくとも一つあるかをテストします。
- ST_Relate - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが与えられた交差行列パターンに合致するトポロジ関係があるかどうかを見るか、交差行列を計算するかします。
- ST_Segmentize - Enhanced: 3.0.0 ジオメトリの分割において、現在は、同じ長さに分割しています 与えた長さを超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
- ST_Touches - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました 二つのジオメトリが少なくとも一つの共有点を持ち、かつ内部でインタセクトしていないようになっているかテストします。
- ST_Within - Enhanced: 3.0.0 GEOMETRYCOLLECTIONへの対応が可能となりました Aの全てのポイントがB内にあり、かつ両方の内部が共有点を持つかどうかをテストします。
PostGIS 3.0 で変更された関数
- PostGIS_Extensions_Upgrade - Changed: 3.0.0 緩いエクステンションを再パッケージし、また、postgis_rasterに対応しました。 PostGISエクステンション (例: postgis_raster, postgis_topology, postgis_sfcgal)について、指定したバージョンまたは最新版にパッケージ化し、アップグレードします。
- ST_3DDistance - Changed: 3.0.0 - SFCGAL版は削除されました 投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
- ST_3DIntersects - Changed: 3.0.0 SFCGALバックエンドが削除され、GEOSバックエンドではTINに対応しました。 二つのジオメトリが3次元空間において空間的にインタセクトするかどうかをテストします。ポイント、ラインストリング、ポリゴン、多面体サーフェス (面)についてのみ動作します。
- ST_Area - Changed: 3.0.0 - SFCGALに依存しなくなりました。 ポリゴンジオメトリの面積を返します。
- ST_AsGeoJSON - Changed: 3.0.0 レコードの入力に対応しました ジオメトリをGeoJSON要素として返します。
- ST_AsGeoJSON - Changed: 3.0.0 EPSG:4326以外の場合のSRID出力。 ジオメトリをGeoJSON要素として返します。
- ST_AsKML - Changed: 3.0.0 - "version"の付いた形式の削除 ジオメトリをKML要素として返します。
- ST_Distance - Changed: 3.0.0 - SFCGALに依存しなくなりました。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Intersection - Changed: 3.0.0 SFCGAL非依存になりました。 ジオメトリAとジオメトリBの共通部分を表現するジオメトリを返します。
- ST_Intersects - Changed: 3.0.0 SFCGAL版を削除し、2次元TINのネイティブ対応を追加しました。 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_Union - Changed: 3.0.0 SFCGAL非依存になりました。 入力ジオメトリのポイント集合の結合を表現するジオメトリを返します。
12.12.6. PostGIS 2.5 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.5 で新規作成された関数
PostGIS 2.5 で機能強化された関数
- ST_AsMVT - Enhanced: 2.5.0 - パラレルクエリへの対応の追加。 行集合のMVT表現を返す集約関数です。
- ST_AsText - Enhanced: 2.5 - 精度の任意引数が導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_Buffer - Enhanced: 2.5.0 - ST_Bufferのジオメトリ対応版が強化され、バッファを施す側をside=both|left|rightで指定できるようになりました。 あるジオメトリからの距離が指定された距離以下となる点全ての集合となるジオメトリを返します。
- ST_GeomFromGeoJSON - Enhanced: 2.5.0 JSONとJSONBの入力を受け付けるようになりました。 ジオメトリのGeoJSON表現を入力として、PostGISジオメトリオブジェクトを出力します。
- ST_GeometricMedian - Enhanced: 2.5.0 ポイントの重みとしてのM値の対応が追加されました。 マルチポイントの幾何学的中央値を返します。
- ST_Intersects - Enhanced: 2.5.0 ジオメトリコレクションに対応しました。 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_OffsetCurve - Enhanced: 2.5 - GEOMETRYCOLLECTIONとULTILINESTRINGへの対応追加 与えられた距離と方面に入力ラインをずらしたラインを返します。
- ST_Scale - Enhanced: 2.5.0 局所原点 (originパラメータ)を使った拡大縮小への対応を導入しました。 与えた係数でジオメトリを拡大縮小します。
- ST_Split - Enhanced: 2.5.0 マルチラインによるポリゴンの分割に対応するようになりました。 ジオメトリを他のジオメトリで分割してできたジオメトリのコレクションを返します。
- ST_Subdivide - Enhanced: 2.5.0 ポリゴン分割で存在するポイントを再利用して頂点数の最小値を8から5に変更。 ジオメトリの線の分割を計算します。
12.12.7. PostGIS 2.4 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.4 で新規作成された関数
- ST_AsGeobuf - Availability: 2.4.0 行集合のGeobuf表現を返します。
- ST_AsMVT - Availability: 2.4.0 行集合のMVT表現を返す集約関数です。
- ST_AsMVTGeom - Availability: 2.4.0 ジオメトリをMVTタイルの座標空間に変換します。
- ST_Centroid - Availability: 2.4.0 ジオグラフィが導入されました。 ジオメトリの幾何学的重心を返します。
- ST_ForcePolygonCCW - Availability: 2.4.0 全ての外環を反時計回りに、全ての内環を時計回りに、それぞれ強制します。
- ST_ForcePolygonCW - Availability: 2.4.0 全ての外環を時計回りに、全ての内環を反時計回りに、それぞれ強制します。
- ST_FrechetDistance - Availability: 2.4.0 - GEOS 3.7.0以上が必要です。 二つのジオメトリのフレシェ距離を返します。
- ST_IsPolygonCCW - Availability: 2.4.0 ポリゴンが反時計回りの外環を持っていて、時計回りの内環を持っているかをテストします。
- ST_IsPolygonCW - Availability: 2.4.0 ポリゴンが時計回りの外環を持っていて、反時計回りの内環を持っているかをテストします。
PostGIS 2.4 で機能強化された関数
- ST_AsTWKB - Enhanced: 2.4.0 メモリと速度の改善。 TWKB (Tiny Well-Known Binary)としてジオメトリを出力します。
- ST_Covers - Enhanced: 2.4.0 ジオグラフィ型を使う形式においてポリゴンの中のポリゴンとポリゴンの中のラインストリングへの対応を追加 Bの全ての点がA内にあるかをテストします。
- ST_CurveToLine - Enhanced: 2.4.0 最大距離差による許容範囲と最大角度による許容範囲に対応し、対称出力に対応しました。 曲線を含むジオメトリを線ジオメトリに変換します。
- ST_Project - Enhanced: 2.4.0 負の距離と非正規化方位を許容するようになりました。 始点から距離と方位で算出されたポイントを返します。
- ST_Reverse - Enhanced: 2.4.0 曲線対応が導入されました。 頂点の順序を逆にしたジオメトリを返します。
PostGIS 2.4 で変更された関数
- = - Changed: 2.4.0, 以前の版では、ジオメトリ自体の等価性でなくバウンディングボックスが等価かどうかを見ていました。バウンディングボックスが等価かどうかを知る必要がある場合には、替わりにを使います。 ジオメトリ/ジオグラフィ Aの座標と座標の並び順がジオメトリ/ジオグラフィ Bと同じ場合にTRUEを返します。
- ST_Node - Changed: 2.4.0 この関数は内部でGEOSUnaryUnionの替わりにGEOSNodeを使用しています。ラインストリングの並び順と方向がPostGIS 2.4より前のものと違うことになるかも知れません。 ラインストリングの集合にノードを作成します。
12.12.8. PostGIS 2.3 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.3 で新規作成された関数
- &&&(geometry,gidx) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)n次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)とインタセクトする場合にTRUEを返します。
- &&&(gidx,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数によるn次元バウンディングボックス (GIDX)がジオメトリの (キャッシュされている)n次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&&(gidx,gidx) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)が相互にインタセクトする場合にTRUEを返します。
- &&(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックスがジオメトリの (キャッシュされている)2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- &&(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- @(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数によるn次元バウンディングボックス (GIDX)の一方がもう一方を包含する場合にTRUEを返します。
- @(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)がジオメトリの2次元バウンディングボックスに包含される場合にTRUEを返します。
- @(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの2次元バウンディングボックスが単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)に包含される場合にTRUEを返します。
- ST_ClusterDBSCAN - Availability: 2.3.0 入力ジオメトリごとにDBSCANアルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_ClusterKMeans - Availability: 2.3.0 入力ジオメトリごとにk平均法アルゴリズムを使ってクラスタ番号を返すウィンドウ関数です。
- ST_GeneratePoints - Availability: 2.3.0 ポリゴン内やマルチポリゴン内にランダムなポイントを生成します。
- ST_GeometricMedian - Availability: 2.3.0 マルチポイントの幾何学的中央値を返します。
- ST_MakeLine - Availability: 2.3.0 - MULTIPOINT入力要素への対応が導入されました POINT、MULTIPOINT、LINESTRINGからLINESTRINGを生成します。
- ST_MinimumBoundingRadius - Availability: 2.3.0 ジオメトリを完全に包含する最小円の中心ポイントと半径を返します。
- ST_MinimumClearance - Availability: 2.3.0 ジオメトリのクリアランスの最小値を返します。この値はジオメトリのロバスト性を示すものです。
- ST_MinimumClearanceLine - Availability: 2.3.0 - GEOS 3.6.0以上が必要です。 ジオメトリの最小クリアランスを示す、2点のラインストリングを返します。
- ST_Normalize - Availability: 2.3.0 標準的な形式に変えたジオメトリを返します。
- ST_Points - Availability: 2.3.0 ジオメトリの全ての座標を含むマルチポイントを返します。
- ST_VoronoiLines - Availability: 2.3.0 ジオメトリの頂点からボロノイ図のセルを返します。
- ST_VoronoiPolygons - Availability: 2.3.0 ジオメトリの頂点からボロノイ図のセルを返します。
- ST_WrapX - Availability: 2.3.0 GEOSが必要です。 ジオメトリをX値で回り込ませます。
- ~(box2df,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 二つの単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)の一方がもう一方を包含する場合にTRUEを返します。
- ~(box2df,geometry) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 単精度浮動小数点数による2次元バウンディングボックス (BOX2DF)をジオメトリの (キャッシュされている)2次元バウンディングボックスが包含する場合にTRUEを返します。
- ~(geometry,box2df) - Availability: 2.3.0 BRIN (Block Range INdexes)が導入されました。PostgreSQL 9.5以上が必要です。 ジオメトリの (キャッシュされている)2次元バウンディングボックスが単精度浮動小数点数によるn次元バウンディングボックス (GIDX)を包含する場合にTRUEを返します。
PostGIS 2.3 で機能強化された関数
- ST_Contains - Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。 Bの全てのポイントがA内にあり、かつ、双方の内部に共有点が存在するかどうかをテストします。
- ST_Covers - Enhanced: 2.3.0 ジオメトリについて、PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。 Bの全ての点がA内にあるかをテストします。
- ST_Expand - Enhanced: 2.3.0 異なる次元の異なる量によるボックスの拡張に対応するようになりました。 他のバウンディングボックスまたはジオメトリから拡張されたバウンディングボックスを返します。
- ST_Intersects - Enhanced: 2.3.0 PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_Segmentize - Enhanced: 2.3.0 ジオグラフィの分割において、現在は、同じ長さに分割しています 与えた長さを超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
- ST_Transform - Enhanced: 2.3.0 直接のPROJ.4文字列への対応が導入されました。 異なる空間参照系に投影変換された新しいジオメトリを返します。
- ST_Within - Enhanced: 2.3.0 ジオメトリについて、PIP short-circuit (ポリゴンとポイントに限定した高速判定)を少ないポイントからなるマルチポイントに対応することができるよう拡張しました。以前の版ではポリゴンとポイントの組み合わせにだけ対応していました。 Aの全てのポイントがB内にあり、かつ両方の内部が共有点を持つかどうかをテストします。
PostGIS 2.3 で変更された関数
- ST_PointN - Changed: 2.3.0 : 負数インデックスが有効になりました (-1は終端を指します) ジオメトリの最初のラインストリングまたは曲線ストリングのN番目のポイントを返します。
12.12.9. PostGIS 2.2 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.2 で新規作成された関数
- <<#>> - Availability: 2.0.0 KNNはPostgreSQL 9.1以上でのみ有効です。 AのバウンディングボックスとBのバウンディングボックスのn次元距離を返します。
- <<->> - Availability: 2.0.0 KNNはPostgreSQL 9.1以上でのみ有効です。 AのバウンディングボックスとBのバウンディングボックスのn次元距離を返します。
- ST_3DDifference - Availability: 2.2.0 3次元の差分を計算します。
- ST_3DUnion - Availability: 2.2.0 3次元の結合を計算します。
- ST_ApproximateMedialAxis - Availability: 2.2.0 面ジオメトリの近似的な中心軸を計算します。
- ST_AsEncodedPolyline - Availability: 2.2.0 ラインストリングジオメトリから符号化したポリラインを返します。
- ST_AsTWKB - Availability: 2.2.0 TWKB (Tiny Well-Known Binary)としてジオメトリを出力します。
- ST_BoundingDiagonal - Availability: 2.2.0 ジオメトリのバウンディングボックスの対角線を返します。
- ST_CPAWithin - Availability: 2.2.0 二つのトラジェクトリの最接近時の距離が指定距離内であるかどうかをテストします。
- ST_ClipByBox2D - Availability: 2.2.0 長方形内に落ちるジオメトリの一部を返します。
- ST_ClosestPointOfApproach - Availability: 2.2.0 二つのトラジェクトリの最接近時の距離を返します。
- ST_ClusterIntersecting - Availability: 2.2.0 入力ジオメトリを接続関係にある集合にクラスタリングする集約関数です。
- ST_ClusterWithin - Availability: 2.2.0 分離距離でジオメトリのクラスタリングを行う集約関数です。
- ST_DistanceCPA - Availability: 2.2.0 二つのトラジェクトリの最接近する時の距離を返します。
- ST_ForceCurve - Availability: 2.2.0 該当する場合は、ジオメトリを曲線タイプに変換します。
- ST_IsPlanar - Availability: 2.2.0: これは2.1.0のマニュアルに記述されていましたが、2.1版では偶然に外れてしまいました。 サーフェスが平面であるかないかをチェックします。
- ST_IsSolid - Availability: 2.2.0 ジオメトリが立体であるかどうかをテストします。妥当性チェックは行いません。
- ST_IsValidTrajectory - Availability: 2.2.0 ジオメトリが妥当なトラジェクトリであるかどうかをテストします。
- ST_LineFromEncodedPolyline - Availability: 2.2.0 エンコード化ポリラインからラインストリングを生成します。
- ST_MakeSolid - Availability: 2.2.0 ジオメトリを立体にキャストします。チェックはしません。妥当な立体を得るには、入力ジオメトリは閉じた多面体サーフェスか閉じたTINでなければなりません。
- ST_RemoveRepeatedPoints - Availability: 2.2.0 重複ポイントを除いたジオメトリを返します。
- ST_SetEffectiveArea - Availability: 2.2.0 Visvalingam-Whyattアルゴリズムを使って有効範囲となる個々の頂点を置きます。
- ST_SimplifyVW - Availability: 2.2.0 Visvalingam-Whyattアルゴリズムを使用して、入力ジオメトリを簡略化したジオメトリを返します。
- ST_Subdivide - Availability: 2.2.0 ジオメトリの線の分割を計算します。
- ST_SwapOrdinates - Availability: 2.2.0 与えられたジオメトリにおいて与えられた座標の値を入れ替えたジオメトリを返します。
- ST_Volume - Availability: 2.2.0 3次元立体の体積を計算します。面ジオメトリは (閉じていても)0を返します。
- postgis.enable_outdb_rasters - Availability: 2.2.0 データベース外ラスタのバンドにアクセスできるようにする、真偽型のコンフィギュレーションオプション。
- postgis.gdal_datapath - Availability: 2.2.0 GDALのGDAL_DATAオプションの値を設定するためのコンフィギュレーションオプションです。設定しない場合には、GDAL_DATA環境変数が使われます。
- postgis.gdal_enabled_drivers - Availability: 2.2.0 PostGIS環境でGDALドライバを有効にするコンフィギュレーションオプションです。GDALコンフィギュレーション変数GDAL_SKIPに影響を与えます。
- |=| - Availability:: 2.2.0 インデックス対応はPostgreSQL 9.5以上でのみ有効です。 AトラジェクトリとBトラジェクトリとの最接近する時の距離を返します。
PostGIS 2.2 で機能強化された関数
- <-> - Enhanced: 2.2.0 ジオメトリとジオグラフィとのKNN (k近傍法)の動作が本当のものになりました。ジオグラフィのKNNは回転楕円体面上でなく球面上の計算となることに注意して下さい。PostgreSQL 9.4以下では、ジオグラフィに対応していますが、バウンディングボックスの重心に対応するだけです。 AとBの2次元距離を返します。
- ST_Area - Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。 ポリゴンジオメトリの面積を返します。
- ST_AsX3D - Enhanced: 2.2.0: GeoCoordinatesと軸 (x/y, 経度/緯度)の反転に対応しました。詳細はoptionsを見て下さい。 ジオメトリをX3Dノード要素書式 (ISO-IEC-19776-1.2-X3DEncodings-XML)で返します。
- ST_Azimuth - Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。 北を基準とした2点間の線の方位角を返します。
- ST_Distance - Enhanced: 2.2.0 - 精度とロバスト性の向上のためにGeographicLibを使って回転楕円体面上での計測を行うようにしています。この新機能を使うには、Proj 4.9.0以上が必要です。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Scale - Enhanced: 2.2.0 全ての次元の拡大縮小 (factorパラメータ)への対応が導入されました。 与えた係数でジオメトリを拡大縮小します。
- ST_Split - Enhanced: 2.2.0 ライン分割をマルチライン、マルチポイントまたはポリゴンもしくはマルチポリゴンの境界で行えるようにしました。 ジオメトリを他のジオメトリで分割してできたジオメトリのコレクションを返します。
- ST_Summary - Enhanced: 2.2.0 TINと曲線の対応が追加されました。 ジオメトリについての要約文を返します。
PostGIS 2.2 で変更された関数
- <-> - Changed: 2.2.0 PostgreSQL 9.5では、古いハイブリッド書式は遅くなりる可能性があります。そのため、PostGIS 2.2以上かつPostgreSQL 9.5以上においてのみ動作させる場合には、そのやり方をり除きたくなるでしょう。 AとBの2次元距離を返します。
- ST_3DClosestPoint - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。 g1上の、g2に最も近い3次元ポイントを返します。これは3次元の最短ラインの始点です。
- ST_3DDistance - Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。 投影座標系の単位で、二つのジオメトリ間の3次元デカルト距離の最小値を返します (空間参照系に基づきます)。
- ST_3DLongestLine - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。 二つのジオメトリ間の3次元最長ラインを返します。
- ST_3DMaxDistance - Changed: 2.2.0 - 2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。 二つのジオメトリ間の3次元最大デカルト距離 (空間参照系に基づく)を空間参照系の単位で返します。
- ST_3DShortestLine - Changed: 2.2.0 - 二つの2次元ジオメトリが入力である場合には、2次元ポイントが返ります (古い挙動では、存在しないZの値について0を仮定していました)。2次元と3次元の場合には、もはや、存在しないZの値について0を仮定しません。 二つのジオメトリの3次元の最短ラインを返します。
- ST_DistanceSphere - Changed: 2.2.0 前の版ではこの関数はST_Distance_Sphereと呼ばれていました。 球面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離をメートル単位で返します。
- ST_DistanceSpheroid - Changed: 2.2.0 前の版ではこの関数はST_Distance_Sphereと呼ばれていました。 回転楕円体面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離を返します。
- ST_Equals - Changed: 2.2.0 この関数は、どちらのジオメトリも不正であっても、バイナリで同じ場合ならTRUEを返します。 二つのジオメトリが同じ点集合になっているかテストします。
- ST_LengthSpheroid - Changed: 2.2.0 これより前の版では、これはST_Length_Spheroidと呼ばれ、ST_3DLength_Spheroidという別名を持っていました。 回転楕円体面上の経度緯度のジオメトリの2次元または3次元の長さ/周長を返します。
- ST_MemSize - Changed: 2.2.0 命名規則に従うためにST_MemSizeに変更しました。 ジオメトリが取るメモリ空間の合計を返します。
- ST_PointInsideCircle - Changed: 2.2.0 前のバージョンではST_Point_Inside_Circleと呼ばれていました。 ポイントジオメトリが中心と半径で定められた円の内側にあるかをテストします。
12.12.10. PostGIS 2.1 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 2.1 で新規作成された関数
PostGIS 2.1 で機能強化された関数
- ST_AsGML - Enhanced: 2.1.0 GML 3用にidが導入されました。 GML第2版または第3版としてジオメトリを返します。
- ST_Boundary - Enhanced: 2.1.0 三角対応が導入されました。 ジオメトリの境界を返します。
- ST_DWithin - Enhanced: 2.1.0で、ジオグラフィでの速度が向上しました。詳細についてはMaking Geography fasterを参照して下さい。 二つのジオメトリが与えらえれた距離内にあるかどうかをテストします。
- ST_DWithin - Enhanced: 2.1.0 曲線ジオメトリ対応が導入されました。 二つのジオメトリが与えらえれた距離内にあるかどうかをテストします。
- ST_Distance - Enhanced: 2.1.0 ジオグラフィでの速度が改善されました。詳細はMaking Geography fasterをご覧ください。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_Distance - Enhanced: 2.1.0 - 曲線ジオメトリ対応が導入されました。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_DumpPoints - Enhanced: 2.1.0 速度向上しました。C言語で実装しなおしました。 ジオメトリ内の座標の行であるgeometry_dump行の集合を返します。
- ST_MakeValid - Enhanced: 2.1.0 GEOMETRYCOLLECTIONとMULTIPOINTの対応の追加 頂点を失うことなしに不正なジオメトリを妥当なジオメトリにしようと試みます。
- ST_Segmentize - Enhanced: 2.1.0 ジオグラフィ対応が導入されました。 与えた長さを超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
- ST_Summary - Enhanced: 2.1.0 空間参照系を持つかを示すSフラグが追加されました。 ジオメトリについての要約文を返します。
PostGIS 2.1 で変更された関数
- ST_EstimatedExtent - Changed: 2.1.0 2.0.xまではST_Estimated_Extentと呼ばれていました。 空間テーブルの推定範囲を返します。
- ST_Force2D - Changed: 2.1.0 2.0.xの間はST_Force_2Dと呼ばれていました。 ジオメトリを2次元モードに強制します。
- ST_Force3D - Changed: 2.1.0 2.0.xの間はST_Force_3Dと呼ばれていました。 ジオメトリをXYZモードに強制します。これはST_Force3DZの別名です。
- ST_Force3DM - Changed: 2.1.0 2.0.xの間はST_Force_3DMと呼ばれていました。 ジオメトリをXYMモードに強制します。
- ST_Force3DZ - Changed: 2.1.0 2.0.xの間はST_Force_3DZと呼ばれていました。 ジオメトリをXYZモードに強制します。
- ST_Force4D - Changed: 2.1.0 2.0.xの間はST_Force_4Dと呼ばれていました。 ジオメトリをXYZMモードに強制します。
- ST_ForceCollection - Changed: 2.1.0 2.0.xの間はST_Force_Collectionと呼ばれていました。 ジオメトリをジオメトリコレクションに変換します。
- ST_LineInterpolatePoint - Changed: 2.1.0 2.0.xまでではST_Line_Interpolate_Pointと呼んでいました。 ラインに沿って、割合で示された位置の補間ポイントを返します。
- ST_LineLocatePoint - Changed: 2.1.0 2.0.xまでではST_Line_Locate_Pointと呼んでいました。 ポイントに最も近いライン上のポイントの位置を割合で返します。
- ST_LineSubstring - Changed: 2.1.0 2.0.xではST_Line_Substringと呼ばれていました。 二つの割合位置からラインの一部を返します。
- ST_Segmentize - Changed: 2.1.0 ジオグラフィ対応の導入の結果、ST_Segmentize('LINESTRING(1 2, 3 4)', 0.5)とすると、あいまい関数エラーが発生します。入力ではジオメトリかジオグラフィかを確実に指定する必要があります。ST_GeomFromText、ST_GeogFromText、使いたい型へのキャスト (例: ST_Segmentize('LINESTRING(1 2, 3 4)'::geometry, 0.5) )を行います 与えた長さを超える線分を持たないよう変更したジオメトリ/ジオグラフィを返します。
12.12.12. PostGIS 1.5 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 1.5 で新規作成された関数
- && - Availability: 1.5.0 ジオグラフィ対応が導入されました。 Aの2次元バウンディングボックスがBの2次元バウンディングボックスとインタセクトする場合にTRUEを返します。
- PostGIS_LibXML_Version - Availability: 1.5 LibXML2ライブラリのバージョン番号を返します。
- ST_AddMeasure - Availability: 1.5.0 ラインに沿ったM値を補間します。
- ST_AsBinary - Availability: 1.5.0 ジオグラフィが導入されました。 ジオメトリ/ジオグラフィの、SRIDメタデータを持たないOGC/ISO Well-Knownバイナリ (WKB)表現を返します。
- ST_AsGML - Availability: 1.5.0 ジオグラフィが導入されました。 GML第2版または第3版としてジオメトリを返します。
- ST_AsGeoJSON - Availability: 1.5.0 ジオグラフィが導入されました。 ジオメトリをGeoJSON要素として返します。
- ST_AsText - Availability: 1.5 - ジオグラフィ対応が導入されました。 ジオメトリ/ジオグラフィのSRIDメタデータのないWell-Known Text (WKT)表現を返します。
- ST_Buffer - Availability: 1.5 - ST_Bufferが強化され、様々な終端と継ぎ目に対応するようになりました。たとえば、道路ラインストリングを道路ポリゴンに変換する際に終端を丸でなく平面や四角で処理したい場合などに使えます。ジオグラフィ用の薄いラッパが追加されました。 あるジオメトリからの距離が指定された距離以下となる点全ての集合となるジオメトリを返します。
- ST_ClosestPoint - Availability: 1.5.0 g1上にある、g2と最近傍となる2次元ポイントを返します。これは、あるジオメトリから他のジオメトリへの最短ラインの一つ目のポイントです。
- ST_CollectionExtract - Availability: 1.5.0 ジオメトリコレクションを与えると、指定されたタイプの要素だけからなるマルチジオメトリを返します。
- ST_Covers - Availability: 1.5 - ジオグラフィ対応が導入されました。 Bの全ての点がA内にあるかをテストします。
- ST_DFullyWithin - Availability: 1.5.0 二つのジオメトリが完全に与えらえれた距離内にあるかどうかをテストします。
- ST_DWithin - Availability: 1.5.0 ジオグラフィが導入されました。 二つのジオメトリが与えらえれた距離内にあるかどうかをテストします。
- ST_Distance - Availability: 1.5.0 1.5でジオグラフィ対応が導入されました。大きいジオメトリや頂点の多いジオメトリについての速度が改善しました。 二つのジオメトリ値またはジオグラフィ値間の距離を返します。
- ST_DistanceSphere - Availability: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 球面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離をメートル単位で返します。
- ST_DistanceSpheroid - Availability: 1.5 - ポイント以外のジオメトリが導入されました。以前の版ではポイントでのみ動作しました。 回転楕円体面の地球モデルを使って、二つの経度/緯度ジオメトリの最小距離を返します。
- ST_DumpPoints - Availability: 1.5.0 ジオメトリ内の座標の行であるgeometry_dump行の集合を返します。
- ST_Envelope - Availability: 1.5.0 挙動が変更され出力がfloat4からfloat8になりました。 ジオメトリのバウンディングボックスを表現するジオメトリを返します。
- ST_Expand - Availability: 1.5.0 出力をfloat4座標値から倍精度に変更しました。 他のバウンディングボックスまたはジオメトリから拡張されたバウンディングボックスを返します。
- ST_GMLToSQL - Availability: 1.5 libxml2 1.6+が必要です。 GML表現から指定したST_Geometry値を返します。これはST_GeomFromGMLの別名です。
- ST_GeomFromGML - Availability: 1.5 libxml2 1.6+が必要です。 GML表現からPostGISジオメトリオブジェクトを出力します。
- ST_GeomFromKML - Availability: 1.5 libxml2 2.6以上が必要です。 ジオメトリのKML表現の入力をとり、PostGISジオメトリオブジェクトを出力します。
- ST_HausdorffDistance - Availability: 1.5.0 二つのジオメトリ間のハウスドルフ距離を返します。
- ST_Intersection - Availability: 1.5 ジオグラフィ型が導入されました。 ジオメトリAとジオメトリBの共通部分を表現するジオメトリを返します。
- ST_Intersects - Availability: 1.5 ジオグラフィ対応が導入されました。 二つのジオメトリがインタセクトしている (少なくとも一つの共有点がある)かどうかテストします。
- ST_Length - Availability: 1.5.0 ジオグラフィt対応が導入されました。 線系ジオメトリの2次元長を返します。
- ST_LongestLine - Availability: 1.5.0 二つのジオメトリ間の2次元最長ラインを返します。
- ST_MakeEnvelope - Availability: 1.5 座標値の最小値と最大値から矩形ポリゴンを生成します。
- ST_MaxDistance - Availability: 1.5.0 二つのジオメトリ間の2次元最長距離を空間参照系の単位で返します。
- ST_ShortestLine - Availability: 1.5.0 二つのジオメトリの3次元の最短ラインを返します。
- ~= - Availability: 1.5.0 挙動が変更されました AのバウンディングボックスがBのバウンディングボックスと同じ場合に TRUEを返します。
12.12.13. PostGIS 1.4 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 1.4 で新規作成された関数
- Populate_Geometry_Columns - Availability: 1.4.0 ジオメトリカラムが型修飾子で定義されるか、適切な空間制約を持つようにします。
- ST_Collect - Availability: 1.4.0 - ST_Collect(geometry)が導入されました。ST_Collectがより多くのジオメトリをより早く扱えるよう強化されました。 ジオメトリの集合からジオメトリコレクションまたはマルチ系ジオメトリを生成します。
- ST_ContainsProperly - Availability: 1.4.0 Bの全てのポイントがAの内部にあるかをテストします。
- ST_GeoHash - Availability: 1.4.0 ジオメトリのGeoHash表現を返します。
- ST_IsValidReason - Availability: 1.4 ジオメトリが妥当か否かを示す文字列を返し、不正な場合は理由を返します。
- ST_LineCrossingDirection - Availability: 1.4 二つのラインストリングがどのように交差しているかを示す数字を返します。
- ST_LocateBetweenElevations - Availability: 1.4.0 標高 (Z値)範囲にある部分ジオメトリを返します。
- ST_MakeLine - Availability: 1.4.0 - ST_MakeLine(geomarray)が導入されました。ST_MakeLine集約関数はより多くのポイントをより早く扱うための強化が施されています。 POINT、MULTIPOINT、LINESTRINGからLINESTRINGを生成します。
- ST_MinimumBoundingCircle - Availability: 1.4.0 入力ジオメトリを含む最小の円を返します。
- ST_Union - Availability: 1.4.0 - ST_Unionが機能強化されました。ST_Union(geomarray)が導入され、PostgreSQLの高速なコレクションの集約が導入されました。 入力ジオメトリのポイント集合の結合を表現するジオメトリを返します。
12.12.14. PostGIS 1.3 で新規作成/機能強化された関数
次に示す関数は、新規作成または機能強化されたPostGIS関数です。
PostGIS 1.3 で新規作成された関数