目次
ここで示す関数は,PostGISのユーザが必要とすると思われる関数です.この他に,一般的なユーザが使わない,PostGISオブジェクトに対して求められるサポート関数があります.
![]() | |
PostGISは,既存の名前付け方針からSQL-MM中心の方針への切り替えを開始しています.結果として,ユーザが知っていて愛用している関数の多くが標準空間型(ST)プレフィクスを使うように名前変更されました.以前の関数はまだ有効ですが,更新された等価な関数があるものについては,この文書の一覧から外しています.これらの関数は,将来のリリースでは非推奨になりますので,*使わないでください*. |
概要
本節では,PostGISによってインストールされたPostgreSQLデータ型を示します. 特にユーザ定義関数をデザインする際に大変重要なキャストのふるまいを記載しています.
ある型が他の型に強制されることをキャストといいます. PostgreSQLは,ほとんどのデータベースと異なり,カスタム型のキャストとキャストのために使われる関数のためのキャストに関するふるまいを定義することができます.キャストは自動的に指定することができます.この場合は,otherfootypeでしか動作しない関数にmyfooを送った場合で,自動キャストがそこにある場合には,CAST(myfoo AS otherfootype)やmyfoo::otherfootypeというものを必要としません.
自動キャストのふるまいに頼る危険性は,関数をオーバロードするときに出てきます.たとえば,box2dを取るものとbox3dとをとるがジオメトリをとらないとします.どちらの関数とも,ジオメトリは両方に自動キャストするので,ジオメトリを使って良いです.-- しかし,あいまいな関数エラーで終わります.PostgreSQLに強制的に選択させるために,CAST(mygeom As box3d)またはmygeom::box3dを実行します.
![]() | |
| 少なくともPostgreSQL 8.3では,全て文字列にキャストできます(おそらく,不思議な未知の型のためです).オブジェクトを文字列にキャストするために表現するキャストの定義は必要ありません. |
TRUEを返します.
geometry_columnsテーブルに存在することを確実にします.
geometry_columnsテーブルに存在しない場合は追加を行います.
LINESTRINGを生成します.
LINESTRINGの最後のポイントをPOINTで返します.
POLYGONの外環を表現するラインストリングを返します.ジオメトリがポリゴンでない場合はNULLを返します.マルチポリゴンでは動作しません.
LINESTRINGの始点と終点が一致する場合にTRUEを返します.
TRUEを返します.TRUEの場合,ジオメトリは,GEOMETRYCOLLECTION(EMPTY)等のように点の集合が空集合になることを表現しています.
LINESTRINGが閉じていて,かつ単純である場合にTRUEを返します.
TRUEを返します.
ST_Geometryが妥当である場合にTRUEを返します.
LINESTRINGの最初のポイントをPOINTとして返します.
ST_Geometryについての要約文を返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
TRUEを返します.
ST_Lengthの別名です.
POINTを返します.
TRUEを返します.
gometry_dump行の集合を返します.
このモジュールとPL/pgSQL関数は,Web Feature Service仕様で求められているロングロックをサポートします.
![]() | |
serializable transaction levelを使わなければなりません.さもなくばロック機構が壊れます. |
これらの関数は,データが何らかの方法で壊された場合にのみ使用されるべきのもので,めったに使われません.データ破壊のトラブルシューティングに使われ,また,通常の状況下では決して起こらないことの修復にも使われます