↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.0 / 6.5
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

5.6. 几何函数

几何类型 point、box、 lseg、line、path、 polygon 和 circle 有一大套 原生支持的函数和操作符。

表 5.12. 几何函数

函数 返回 描述 例子
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 lseg('((-1,0),(1,0))'::box)
lseg(point,point) lseg 点转为 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)


提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。