PostgreSQL
上一頁 第五章. 函數 下一頁

幾何函數

幾何型態 point,box,lseg,line,path,polygon 和 circle 擁有很多的內置支援函數。

表 5-11. 幾何函數
 
函數 返回 描述 例子
area(object) float8 目標的範圍 area(box '((0,0),(1,1))')
box(box,box) box 方的交 box(box '((0,0),(1,1))',box '((0.5,0.5),(2,2))')
center(object) point 對像中心  center(box '((0,0),(1,2))')
diameter(circle) float8 圓直徑 diameter(circle '((0,0),2.0)')
height(box) float8 方的豎直高度 height(box '((0,0),(1,1))')
isclosed(path) bool 是閉合路徑嗎? isclosed(path '((0,0),(1,1),(2,0))')
isopen(path) bool 是開環路徑嗎? isopen(path '[(0,0),(1,1),(2,0)]')
length(object) float8 對像長度 length(path '((-1,0),(1,0))')
pclose(path) path 把路徑轉換為閉合 popen(path '[(0,0),(1,1),(2,0)]')
npoint(path) int4 點數 npoints(path '[(0,0),(1,1),(2,0)]')
popen(path) path 把路徑轉換為開環的 popen(path '((0,0),(1,1),(2,0))')
radius(circle) float8 圓半徑 radius(circle '((0,0),2.0)')
width(box) float8 水平尺寸(寬) width(box '((0,0),(1,1))')

表 5-13. 幾何型態轉換函數
 
函數 返回 描述 例子
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  轉換成npts點的多邊形  polygon(12,'((0,0),2.0)'::circle) 
polygon(path)  polygon  轉換成多邊形 polygon('((0,0),(1,1),(2,0))'::path) 

表 5-14. 幾何升級函數
 
函數 返回 描述 例子
isoldpath(path)  path  測試是否v6.1前的路徑 isoldpath('(1,3,0,0,1,1,2,0)'::path) 
revertpoly(polygon)  polygon  轉換v6.1前的多邊形 revertpoly('((0,0),(1,1),(2,0))'::polygon) 
upgradepath(path)  path  轉換v6.1前的路徑 upgradepath('(1,3,0,0,1,1,2,0)'::path) 
upgradepoly(polygon)  polygon  轉換v6.1前的多邊形 upgradepoly('(0,1,2,0,1,0)'::polygon) 


上一頁 首頁 下一頁
格式化函數 開頭 IP V4 函數