幾何データ型は2次元空間オブジェクトを表現します。 もっとも主要な型は point で、他のすべての型の基本になります。
Table 3-16. 幾何データ型
幾何データ型 | データベース上のバイト数 | 表現方法 | 説明 |
---|---|---|---|
point | 16 bytes | (x,y) | 空間における座標点 |
line | 32 bytes | ((x1,y1),(x2,y2)) | 無限の直線 |
lseg | 32 bytes | ((x1,y1),(x2,y2)) | 有限の線分 |
box | 32 bytes | ((x1,y1),(x2,y2)) | 矩形 |
path | 4+32n bytes | ((x1,y1),...) | 閉じたパス (多角形に似ている) |
path | 4+32n bytes | [(x1,y1),...] | 開いているパス |
polygon | 4+32n bytes | ((x1,y1),...) | 多角形 (閉じたパスに似ている) |
circle | 24 bytes | <(x,y),r> | 円 (中心点と半径) |
拡大/縮小、変換、回転、交点算出などのいろいろな座標操作をするために、 多くの機能や演算子の組み合わせが使用できます。
座標 (Point) は地理データ型の基礎となる2次元構成要素です。
下記はpoint型の書式設定です。
( x , y ) x , yにおいて、それぞれは
X 座標値 (浮動小数点)
Y 座標値 (浮動小数点)
線分(lseg)は1組の座標点で表現されます。
lsegは下記の形式で設定します。
( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2において、
は線分の終端です。
矩形は、対角線上の角(かど)を表す一組の座標点 (point) で 表現されます。
box型は下記の形式で指定します。
( ( x1 , y1 ) , ( x2 , y2 ) ) ( x1 , y1 ) , ( x2 , y2 ) x1 , y1 , x2 , y2において、
は対角線上の角です。
矩形は上記一番上の書式で出力されます。 2つの角は、左下の角を最初に、 右上の角を最後に格納するように並べ替えられます。矩形の中の他の角を 入力することもできますが、入力から左下と右上の角が決定され、格納されます。
Path は接続した座標点のセットにより表現されます。パスは、最初の点と最後の点が 接続されていない「開いた」状態か、最初の点と最後の点が接続されている「閉じた」状態かの いずれかです。あるパスを強制的に開いた/閉じた状態にする popen(p)とpclose(p)が提供されており、 またisopen(p)とisclosed(p)を 使うと、問い合わせの中でいずれかのタイプを 選択することができます。
path型は下記の形式で設定します。
( ( x1 , y1 ) , ... , ( xn , yn ) ) [ ( x1 , y1 ) , ... , ( xn , yn ) ] ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , ynにおいて、
は 1 から n までの座標点で、"[" で始まるのは開いたパス、 "(" で始まるのは閉じたパスです。
Pathsは最初の構文を用いた結果です。
多角形は座標点のセットで表現されます。これは、"閉じたパス"と 同じであると考えられますが、異なった方法で格納され、 また双方とも別々のサポートルーチンセットを持っています。
polygon型は、下記の形式で指定します。
( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , ynにおいて
は 1 から n までの座標点です。
多角形は、最初の書式で出力されます。
円 (circle) は、中心点座標と半径によって表現されます。
circle型は下記の形式で指定します。
< ( x , y ) , r > ( ( x , y ) , r ) ( x , y ) , r x , y , rにおいて
は円の中心座標で、
は円の半径です。
円は最初のの構文で出力されます。