| PostgreSQL | ||
|---|---|---|
| 上一頁 | 第三章. 數據型態 | 下一頁 |
幾何型態表示二維的平面物體。最基本的型態:點,是其他型態的基礎。
表 3-17. Postgres 幾何型態
| 幾何型態 | 儲存空間 | 表達 | 描述 |
|---|---|---|---|
| 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:
( x , y ) x , y 這裡 x 是用一個浮點數表示的點的 x 坐標 y 是用一個浮點數表示的點的 y 坐標
線段(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) 是一對對角點
方的輸出使用第一種語法。在輸入時將按先左下角後右上角的順序重新排列。你也可以輸入其他的一對對角點。但輸入時將按照先左下角後右上角的順序重排並儲存。
路徑由一系列連接的點組成。路徑可能是"開放"的,也就是第一個點和最後一個點沒有連接,也可能是"閉合"的,這時第一個和最後一個點連接起來。我們提供了函數 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
這裡
(x1,y1),...,(xn,yn) 是點 1 到點 n
前面的 "[" 表明一個開放的路徑
前面的 "(" 表明一個閉合的路徑
路徑的輸出使用第一種語法輸出。注意 Postgres v6.1以前的版本路徑的格式是由一個圓括號開始──一個"關閉標誌",一個點的計數然後後面是點的列表,最後是一個圓括號結束。有一個內建的函數upgradepath 可用於從6.1前版本輸出和重載路徑,將其轉換成新的。
多邊形由一系列點代表。多邊形可以認為與閉合路徑一樣,但是儲存方式不一樣而且有自己的一套支援程序/函數。
polygon 用下列語法聲明:
( ( 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坐標列表,最後是一個圓括號結束。用內建的函數upgradepoly 可用於從6.1前版本輸出和重載多邊形,將其轉換成新的。
圓由一個圓心和一個半徑代表。
circle 用下面語法表示:
< ( x , y ) , r >
( ( x , y ) , r )
( x , y ) , r
x , y , r
這裡
(x,y) 是圓心
r 是圓的半徑
圓的輸出用第一個格式。
| 上一頁 | 首頁 | 下一頁 |
| 布爾型態 | 開頭 | IP 版本 4 網路和主機地址 |