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

幾何函數

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

表 5-11. 幾何函數

函數 返回 描述 例子
area(box)  float8  長方形範圍 area('((0,0),(1,1))'::box) 
area(circle)  float8  圓的範圍  area('((0,0),2.0)'::circle) 
box(box,box)  box  boxes to intersection box  box('((0,0),(1,1))','((0.5,0.5),(2,2))') 
center(box)  point  對像中心  center('((0,0),(1,2))'::box) 
center(circle)  point  對像中心  center('((0,0),2.0)'::circle) 
diameter(circle)  float8  圓直徑 diameter('((0,0),2.0)'::circle) 
height(box)  float8  長方形高 height('((0,0),(1,1))'::box) 
isclosed(path)  bool  如果是閉合路徑為真 isclosed('((0,0),(1,1),(2,0))'::path) 
isopen(path)  bool  如果是開環路徑為真 isopen('[(0,0),(1,1),(2,0)]'::path) 
length(lseg)  float8  線段長度 length('((-1,0),(1,0))'::lseg) 
length(path)  float8  路徑長度  length('((0,0),(1,1),(2,0))'::path) 
pclose(path)  path  將路徑轉換為閉合  pclose('[(0,0),(1,1),(2,0)]'::path) 
point(lseg,lseg)  point  轉換成點 (相交)  point('((-1,0),(1,0))'::lseg,'((-2,-2),(2,2))'::lseg) 
points(path)  int4  路徑中點數 points('[(0,0),(1,1),(2,0)]'::path) 
popen(path)  path  將路徑轉換為開環 popen('((0,0),(1,1),(2,0))'::path) 
radius(circle)  float8  圓半徑 radius('((0,0),2.0)'::circle) 
width(box)  float8  長方形寬 width('((0,0),(1,1))'::box) 

表 5-12. 幾何型態轉換函數

函數 返回 描述 例子
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-13. 幾何升級函數

函數 返回 描述 例子
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 函數