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

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

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

8.6. 几何类型

几何类型表示二维的空间物体。最基础的类型是点,它是所有其他类型的基础。

表 8.13. Postgres 几何类型

几何类型 存储尺寸 表示 描述
point 16字节 (x,y) 空间中的点
line 32字节 ((x1,y1),(x2,y2)) 无限直线
lseg 32字节 ((x1,y1),(x2,y2)) 有限线段
box 32字节 ((x1,y1),(x2,y2)) 矩形框
path 4+32n 字节 ((x1,y1),...) 封闭路径(类似于多边形)
path 4+32n 字节 [(x1,y1),...] 开放路径
polygon 4+32n 字节 ((x1,y1),...) 多边形(类似于封闭路径)
circle 24字节 <(x,y),r> 圆(圆心和半径)


有一套丰富的函数和运算符可用于执行各种几何操作,如缩放、平移、旋转以及求交。

8.6.1. 点

点用下列语法指定:

( x , y )
  x , y
其中
    x 是 x 轴坐标,以浮点数表示
    y 是 y 轴坐标,以浮点数表示

8.6.2. 线段

线段(lseg)由点对表示。

lseg 用下列语法指定:

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2    
其中
    (x1,y1) 和
    (x2,y2) 是线段的两个端点

8.6.3. 方框

方框由作为其两个对角的点对表示。

box 用下列语法指定:

( ( x1 , y1 ) , ( x2 , y2 ) )
  ( x1 , y1 ) , ( x2 , y2 )  
    x1 , y1   ,   x2 , y2    
其中
    (x1,y1) 和 (x2,y2) 是方框的对角

方框使用第一种语法输出。输入时角点会被重新排序,先存左下角,后存右上角。也可以输入方框的其他角点,但左下角和右上角由输入确定并存储。

8.6.4. 路径

路径由相连的点集表示。路径可以是“open”(开放)的(集合中第一个点和最后一个点不相连),也可以是“closed”(封闭)的(第一个点和最后一个点相连)。函数 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 之前的版本对路径使用另一种格式:单个前导圆括号、一个“closed”(封闭)标志、一个点数的整数计数,然后是点列表和一个闭合圆括号。内建函数 upgradepath 用于转换从 v6.1 之前的数据库转储并重新加载的路径。

8.6.5. 多边形

多边形由点集表示。多边形或许应被视为等价于封闭路径,但其存储方式不同,并且有自己的一套支持例程。

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 用于转换从 v6.1 之前的数据库转储并重新加载的多边形。

8.6.6. 圆

圆由一个圆心和一个半径表示。

circle 用下列语法指定:

< ( x , y ) , r >
( ( x , y ) , r )
  ( x , y ) , r  
    x , y   , r  
其中
    (x,y) 是圆的圆心
    r 是圆的半径

圆使用第一种语法输出。

提交更正

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