| PostgreSQL | ||
|---|---|---|
| Prev | Chapter 8. データ型 | Next |
座標型は2次元空間オブジェクトを表現します。もっとも主要な型は point で、他のすべての型のベースとなります。
Table 8-13. Postgres 座標型
| 座標型 | 記憶領域 | 表現方法 | 説明 |
|---|---|---|---|
| point | 16 バイト | (x,y) | 空間における座標点 |
| line | 32 バイト | ((x1,y1),(x2,y2)) | 無限の直線 |
| lseg | 32 バイト | ((x1,y1),(x2,y2)) | 有限の線分 |
| box | 32 バイト | ((x1,y1),(x2,y2)) | 長方形の箱 |
| path | 4+32n バイト | ((x1,y1),...) | 閉じたパス(多角形に似ている) |
| path | 4+32n バイト | [(x1,y1),...] | 開いているパス |
| polygon | 4+32n バイト | ((x1,y1),...) | 多角形(閉じたパスに似ている) |
| circle | 24 バイト | <(x,y),r> | 円(中心点と半径) |
スケーリング(縮小/拡大)、変換、回転、交点算出などのいろいろな 座標操作をするために、多くの機能や演算子の組み合わせが使用できます。
座標点 (point) は以下の書式で指定します。
( x , y )
x , y
ここで
x は X 座標値(浮動小数点)
y は Y 座標値(浮動小数点)線分 (lseg) は1組の座標点で表現されます。
lseg は以下の書式で指定します。
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1 , x2 , y2
ここで
(x1,y1) および (x2,y2) は線分の終端長方形 (box) は,その対角線上の角を表す一組の座標点 (point) で表現されます.
box は以下の書式で指定します。
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1 , x2 , y2
ここで
(x1,y1) および (x2,y2) は対角線上の角
長方形は,最初の書式で出力されます.
2 つの角は,左下の角を最初に,右上の角を最後に格納するように
並べ替えられます.長方形の中の他の角を入力することもできますが,
左下と右上の角が入力より決定され,格納されます.パス(path)は接続した座標点のセットにより表現されます.パスは, 最初の点と最後の点が接続されていない「開いた」状態か,最初の点と 最後の点が接続されている「閉じた」状態かのいずれかです. あるパスを強制的に開いた/閉じた状態にする popen(p) と pclose(p) が提供されており,また isopen(p) と isclosed(p) を使うと,問い合わせの中でいずれかのタイプを選択することができます.
パスは以下のような書式で指定します.
( ( x1 , y1 ) , ... , ( xn , yn ) )
[ ( x1 , y1 ) , ... , ( xn , yn ) ]
( x1 , y1 ) , ... , ( xn , yn )
( x1 , y1 , ... , xn , yn )
x1 , y1 , ... , xn , yn
ここで,
(x1,y1),...,(xn,yn) は 1 から n までの座標点
"[" で始まるのは開いたパス
"(" で始まるのは閉じたパス
パスは最初の書式を使って出力されます.
Postgres の v6.1 より前のバージョン
までは,パスの書式として, "(" で始まる「閉じた」フラグ,座標点の
数を表す 1 つの整数カウンタ,座標点のリスト,最後に閉じ括弧 ")"
という形式を使用していました.
v6.1 以前のデータベースからダンプおよびリロードされたパスを
変換するために,組み込み関数 upgradepath
を使用することができます.多角形(poligon)は座標点のセットで表現されます.多角形は閉じたパスと 同じであると考えられますが,異なった方法で格納され,また 双方固有のサポートルーチンのセットを持っています.
多角形は以下の書式で指定されます.
( ( x1 , y1 ) , ... , ( xn , yn ) )
( x1 , y1 ) , ... , ( xn , yn )
( x1 , y1 , ... , xn , yn )
x1 , y1 , ... , xn , yn
ここで,
(x1,y1),...,(xn,yn) は 1 から n までの座標点
多角形は最初の書式により出力されます.
Postgres の v6.1 より前のバージョン
までは,多角形の書式として, "(" ,X 座標のリスト,Y 座標のリスト,
最後に閉じ括弧 ")" という形式を使用していました.
v6.1 以前のデータベースからダンプおよびリロードされた多角形を
変換するために,組み込み関数 upgradepoly
を使用することができます.
円(circle)は中心点と半径により表現されます.
円は以下の書式により指定されます.
< ( x , y ) , r >
( ( x , y ) , r )
( x , y ) , r
x , y , r
ここで,
(x,y) は円の中心点
r は円の半径
円は最初の書式で出力されます.| Prev | Home | Next |
| ブール型 | Up | 演算子 |