その他の関数

A &< B

"&<"演算子は,Aのbounding boxがBのbounding boxに重なるか左側にあるとき,真を返します.

A &> B

"&>"演算子は,Aのbounding boxがBのbounding boxに重なるか右側にあるとき,真を返します.

A << B

"<<"演算子は,Aのbounding boxが厳密にBのbounding Boxの左側にあるとき,真を返します.

A >> B

">>"演算子は,Aのbounding boxが厳密にBのbounding Boxの右側にあるとき,真を返します.

A ~= B

"~="演算子は「合同("same as")」演算子です. これは,2つの図形の実際の地理的な等しさ(geometric equality)をテストします.そのため,AとBが頂点単位で同じ図形であるとき,この演算子は真を返します.

A ~ B

"~"演算子は,Aのbounding boxがBのbounding boxに完全に含まれるとき,真を返します.

A && B

"&&"演算子は,「重複("overlaps")」演算子です.Aのbounding boxがBのboundingに重なるとき,この演算子は真を返します.

area2d(geometry)

ジオメトリがポリゴンかマルチポリゴンであるとき,その面積を返します.

asbinary(geometry,'NDR')

リトルエンディアンの符号順でOGCの"well-known-binary"フォーマットでジオメトリを返します.この演算子は,文字列表現へ変換することなくデータベースからデータを引き出すバイナリカーソルにおいて便利です.

asbinary(geometry,'XDR')

ビッグエンディアンの符号順でOGCの"well-known-binary"フォーマットでジオメトリを返します.この演算子は,文字列表現へ変換することなくデータベースからデータを引き出すバイナリカーソルにおいて便利です.

box3d(geometry)

ジオメトリの最大範囲のBOX3D表現を返します.

collect(geometry)

この関数は,ジオメトリの集合から,GEOMETRYCOLLECTIONオブジェクトを返します.collect()関数はPostgreSQLの専門用語でいう「統合("aggregate")」関数です.それは,sum()やmean()関数が行うのと同様に,データのリストリストについて動作することを意味します.例えば,"SELECT COLLECT(GEOM) FROM GEOMTABLE GROUP BY ATTRCOLUMN"は, 異なるATTRCOLUMNの値毎に分かれたGEOMETRYCOLLECTIONを返すでしょう.

distance_spheroid(point, point, spheroid)

与えられた特定の回転楕円面の2つの緯度/経度の点間の直線距離を返します.length_spheroid()にある,回転楕円面の拡張を参照してください.現在,点についてのみ実装されています.

extent(geometry)

The extent()関数は,collect()関数はPostgreSQLの専門用語でいう「統合("aggregate")」関数です.それは,sum()やmean()関数が行うのと同様に,データのリストリストについて動作することを意味します.例えば,"SELECT EXTENT(GEOM) FROM GEOMTABLE"は,テーブル中の全ての図形の最大領域を示すBOX3Dを返すでしょ.同様に,"SELECT EXTENT(GEOM) FROM GEOMTABLE GROUP BY CATEGORY" は,各カテゴリ毎に一つの領域を返すでしょう.

find_srid(varchar,varchar,varchar)

構文は find_srid(<db/schema>, <table>, <column>) です.この関数は,GEOMETRY_COLUMNSテーブル中を検索して,記述されたカラムのSRIDの整数値を返します.ジオメトリカラムが,AddGeometryColumns()関数で適切に追加されていなければ,この関数も上手く動かないでしょう.

force_collection(geometry)

ジオメトリをGEOMETRYCOLLECTIONに変換します.これは,WKB表現を簡単化するのに便利です.

force_2d(geometry)

全ての出力の投影法が,X座標とY座標だけを持つように,ジオメトリを「二次元モード("2-dimensional mode")」にします.これは,OGC準拠の出力にするのに便利です(OGCは2-Dジオメトリの仕様しか決めていないので).

force_3d(geometry)

全ての出力の投影法が,X座標,Y座標とZ座標を持つように,ジオメトリを「3次元モード("3-dimensional mode")」にします.

length2d(geometry)

ジオメトリがリストストリングかマルチリストストリングのとき,ジオメトリの2次元での長さを返します.

length3d(geometry)

ジオメトリがリストストリングかマルチリストストリングのとき,ジオメトリの3次元での長さを返します.

length_spheroid(geometry,spheroid)

楕円(elipsoid:以下すべてellipsoidの誤り?)上のジオメトリの長さを計算します.これは,ジオメトリの座標系が緯度/経度の場合に便利で,座標系変換なしに長さを求めることができます.楕円は個別のデータベースタイプで,以下のようにして作ることができます:

SPHEROID[<NAME>,<SEMI-MAJOR AXIS>,<INVERSE FLATTENING>]

例:

SPHEROID["GRS_1980",6378137,298.257222101]

計算例はこのようになるでしょう:

SELECT
length_spheroid(
geometry_column,
'SPHEROID["GRS_1980",6378137,298.257222101]'
)
FROM geometry_table;

length3d_spheroid(geometry,spheroid)

高さを計算に取り入れて,楕円(elipsoid:ellipsoidの誤り?)上のジオメトリの長さを計算します.これは,垂直座標(別の言い方をすると,回転楕円体の軸と同じ単元(unit))が,垂直方向の変異を加えた追加の距離を計算するのに使われることをのぞいて,length_spheroidとまったく同じです.

max_distance(linestring,linestring)

二つのラインストリング間の最も大きな距離を返します.

mem_size(geometry)

ジオメトリが占めるメモリの量を(byteで)返します.

npoints(geometry)

ジオメトリの点の数を返します.

nrings(geometry)

ジオメトリが,ポリゴンまたはマルチポリゴンののとき,環の数を返します.

numb_sub_objects(geometry)

ジオメトリに格納されているオブジェクトの数を返します.これは,MULTI-geometriesとGEOMETRYCOLLECTIONについて便利です.

perimeter2d(geometry)

ジオメトリがポリゴンかマルチポリゴンのとき,ジオメトリの2次元の周囲の長さを返します.

perimeter3d(geometry)

ジオメトリがポリゴンかマルチポリゴンのとき,ジオメトリの3次元の周囲の長さを返します.

point_inside_circle(geometry,float,float,float)

この関数の構文は,point_inside_circle(<geometry>,<circle_center_x>,<circle_center_y>,<radius>) です.ジオメトリが点で円の内側にあるとき,真を返します.それ以外では偽を返します.

postgis_version()

このデータベースにインストールされているPostGIS関数のバージョンナンバーを返します.

summary(geometry)

ジオメトリの説明の要約文を返します.

transform(geometry,integer)

整数パラメータで参照されるSRIDの座標系に変換された新しいジオメトリを返します.目的のSRIDはSPATIAL_REF_SYSに存在しなければなりません.

translate(geometry,float8,float8,float8)

オフセット値として数値パラメータを使ってジオメトリを新しい場所に平行移動させます.例:translate(geom,X,Y,Z).

truly_inside(geometryA,geometryB)

Bの全ての部分がAのbounding boxに含まれるとき,真を返します.

xmin(box3d) ymin(box3d) zmin(box3d)

bounding boxの要求された最小値を返します.

xmax(box3d) ymax(box3d) zmax(box3d)

bounding boxの要求された最大値を返します.