| PostgreSQL 8.0.0 中文文件(轉譯自 PostgreSQL 中國 製作的簡體中文版本) | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 8. 資料類型 | Fast Forward | Next |
幾何資料類型資料表示二維的平面物體。 Table 8-16 顯示了PostgreSQL 裡面可以用的幾何類型。 最基本的類型:點,是其他類型的基礎。
Table 8-16. 幾何類型
| 名字 | 儲存空間 | 描述 | 資料表現形式 |
|---|---|---|---|
| point | 16 字元 | 空間中一點 | (x,y) |
| line | 32 字元 | (無窮)直線(未完全實現) | ((x1,y1),(x2,y2)) |
| lseg | 32 字元 | (有限)線段 | ((x1,y1),(x2,y2)) |
| box | 32 字元 | 長方形 | ((x1,y1),(x2,y2)) |
| path | 16+16n 字元 | 閉合路徑(與多邊形類似) | ((x1,y1),...) |
| path | 16+16n 字元 | 開放路徑 | [(x1,y1),...] |
| polygon | 40+16n 字元 | 多邊形(與閉合路徑相似) | ((x1,y1),...) |
| circle | 24 字元 | 圓(圓心和半徑) | <(x,y),r> |
我們有一系列豐富的函數和操作符可用來進行各種幾何計算, 如拉伸,轉換,旋轉和計算相交等。 它們在 Section 9.10 裡有解釋。
線段 (lseg)是用一對點來代資料表的。 lseg 的值用下面語法聲明:
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1 , x2 , y2這裡的 (x1,y1), (x2,y2) 是線段的端點。
方是用一對對角點來資料表示的。 box 的值用下面語法聲明:
( ( x1 , y1 ) , ( x2 , y2 ) )
( x1 , y1 ) , ( x2 , y2 )
x1 , y1 , x2 , y2這裡的 (x1,y1) 和 (x2,y2) 是方形的一對對角點。
方的輸出使用第一種語法。在輸入時將按先右上角後左下角的順序重新排列。 您也可以輸入其他的一對對角點。 但輸入時將先從輸入中和儲存的角中計算出左下角和右上角然後再儲存。
路徑由一系列連接的點組成。路徑可能是開放的, 也就是認為列資料表中第一個點和最後一個點沒有連接, 也可能是閉合的,這時認為第一個和最後一個點連接起來。
path 的數值用下面語法聲明:
( ( x1 , y1 ) , ... , ( xn , yn ) )
[ ( x1 , y1 ) , ... , ( xn , yn ) ]
( x1 , y1 ) , ... , ( xn , yn )
( x1 , y1 , ... , xn , yn )
x1 , y1 , ... , xn , yn 這裡的點是組成路徑的線段的端點。 方括弧([])資料表明一個開放的路徑,圓括弧(())資料表明一個閉合的路徑。
路徑的輸出使用第一種語法輸出。
多邊形由一系列點代資料表(多邊形的頂點)。多邊形可以認為與閉合路徑一樣, 但是儲存方式不一樣而且有自己的一套支援過程/函數。
polygon 的數值用下列語法聲明:
( ( x1 , y1 ) , ... , ( xn , yn ) )
( x1 , y1 ) , ... , ( xn , yn )
( x1 , y1 , ... , xn , yn )
x1 , y1 , ... , xn , yn 這裡的點是組成多邊形邊界的線段的端點。
多邊形輸出使用第一種語法。
圓由一個圓心和一個半徑代資料表。 circle 的數值用下面語法資料表示:
< ( x , y ) , r >
( ( x , y ) , r )
( x , y ) , r
x , y , r 這裡的 (x,y) 是圓心,而r圓的半徑
圓的輸出用第一種格式。