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

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

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

10.4. 几何函数

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

表 10.5. 几何函数

函数 返回 描述 例子
area(box) float8 框的面积 area('((0,0),(1,1))'::box)
area(circle) float8 圆的面积 area('((0,0),2.0)'::circle)
box(box,box) 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 把路径转换为闭合形式 popen('[(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)


表 10.6. 几何类型转换函数

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


表 10.7. 几何升级函数

函数 返回 描述 例子
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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。