地理的関数

点、矩形、線分、線、経路、多角形、円といった地理的データ型は固有 のサポート関数を多く持ちます。

Table 5-6. 地理的関数

関数戻り値説明
area(box) float8 矩形の面積を求める。 area('((0,0),(1,1))'::box)
area(circle) float8 円の面積を求める。 area('((0,0),2.0)'::circle)
box(box,box) box 指定矩形の共通部分を返す。 box('((0,0),(1,1))','((0.5,0.5),(2,2))')
center(box) point オブジェクトの中心を返す。 center('((0,0),(1,2))'::box)
center(circle) point オブジェクトの中心を返す。 center('((0,0),2.0)'::circle)
diameter(circle) float8 円の直径を返す。 diameter('((0,0),2.0)'::circle)
height(box) float8 矩形の高さを返す。 height('((0,0),(1,1))'::box)
isclosed(path) bool 経路が閉じているか? isclosed('((0,0),(1,1),(2,0))'::path)
isopen(path) bool 経路が開いているか? isopen('[(0,0),(1,1),(2,0)]'::path)
length(lseg) float8 線分の長さを返す。 length('((-1,0),(1,0))'::lseg)
length(path) float8 経路の長さを返す。 length('((0,0),(1,1),(2,0))'::path)
pclose(path) path 経路を閉じた経路に変換する。 popen('[(0,0),(1,1),(2,0)]'::path)
point(lseg,lseg) point 交点を返す。 point('((-1,0),(1,0))'::lseg,'((-2,-2),(2,2))'::lseg)
points(path) int4 点の数を返す。 points('[(0,0),(1,1),(2,0)]'::path)
popen(path) path 経路を開いた経路に変換する。 popen('((0,0),(1,1),(2,0))'::path)
radius(circle) float8 円の半径を返す。 radius('((0,0),2.0)'::circle)
width(box) float8 幅を返す。 width('((0,0),(1,1))'::box)

Table 5-7. 地理的型用変換関数

関数戻り値説明
box(circle) box 円を矩形に変換する。 box('((0,0),2.0)'::circle)
box(point,point) box 点から矩形を作成する。 box('(0,0)'::point,'(1,1)'::point)
box(polygon) box 多角形を矩形に変換する。 box('((0,0),(1,1),(2,0))'::polygon)
circle(box) circle 円に変換する。 circle('((0,0),(1,1))'::box)
circle(point,float8) circle 円に変換する。 circle('(0,0)'::point,2.0)
lseg(box) lseg 対角線を線分に変換する。 lseg('((-1,0),(1,0))'::box)
lseg(point,point) lseg 線分に変換する。 lseg('(-1,0)'::point,'(1,0)'::point)
path(polygon) point 経路に変換する。 path('((0,0),(1,1),(2,0))'::polygon)
point(circle) point (中心を)点に変換する。 point('((0,0),2.0)'::circle)
point(lseg,lseg) point (交点)を点に変換する。 point('((-1,0),(1,0))'::lseg, '((-2,-2),(2,2))'::lseg)
point(polygon) point 多角形の中心を返す。 point('((0,0),(1,1),(2,0))'::polygon)
polygon(box) polygon 12 個の点を持つ多角形に変換する。 polygon('((0,0),(1,1))'::box)
polygon(circle) polygon 12 個の点を持つ多角形に変換する。 polygon('((0,0),2.0)'::circle)
polygon(npts,circle) polygon 指定された点の数 を持つ多角形に変換する。 polygon(12,'((0,0),2.0)'::circle)
polygon(path) polygon 多角形に変換する。 polygon('((0,0),(1,1),(2,0))'::path)

Table 5-8. 地理情報アップグレード用関数

関数戻り値説明
isoldpath(path) path バージョン 6.1 以前の形式の経路か (訳注: 実際の戻り値は bool です。) isoldpath('(1,3,0,0,1,1,2,0)'::path)
revertpoly(polygon) polygon バージョン 6.1 以前の形式の polygon 型に変換する。 revertpoly('((0,0),(1,1),(2,0))'::polygon)
upgradepath(path) path バージョン 6.1 以前の形式の path 型を変換する。 upgradepath('(1,3,0,0,1,1,2,0)'::path)
upgradepoly(polygon) polygon バージョン 6.1 以前の形式の polygon 型を変換する。 upgradepoly('(0,1,2,0,1,0)'::polygon)