您的位置:寻梦网首页编程乐园数据库PostgreSQL 7.2 Documentation

3.7. 几何类型

几何类型表示二维的平面物体.最基本的类型:点,是其他类型的基础.

Table 3-18. 几何类型

几何类型 存储空间 表现形式 描述
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> 圆(圆心和半径)

我们有一系列丰富的函数和操作符可用来进行各种几何计算, 如度量,转换,旋转和计算相交等。

3.7.1. Point(点)

点是几何类型的基本二维构造单位。

用下面语法描述 point

( 

x

 , 

y

 )
  

x

 , 

y


     

这里的参数是

x

是用浮点数表示的点的 x 坐标。

y

是用浮点数表示的点的 y 坐标。

3.7.2. 线段

线段 ( lseg )是用一对点来代表的.

lseg 用下面语法声明:

( ( 

x1

 , 

y1

 ) , ( 

x2

 , 

y2

 ) )
  ( 

x1

 , 

y1

 ) , ( 

x2

 , 

y2

 )  
    

x1

 , 

y1

   ,   

x2

 , 

y2


     

这里的参数是

( x1 , y1 )
( x2 , y2 )

是线段的端点。

3.7.3. Box(方)

方是用一对对角点来表示的。

box 用下面语法声明:

( ( 

x1

 , 

y1

 ) , ( 

x2

 , 

y2

 ) )
  ( 

x1

 , 

y1

 ) , ( 

x2

 , 

y2

 )  
    

x1

 , 

y1

   ,   

x2

 , 

y2


     

这里的参数是

( x1 , y1 )
( x2 , y2 )

是方形的一对对角点。

方的输出使用第一种语法.在输入时将按先右上角后左下角的顺序重新排列. 你也可以输入其他的一对对角点. 但输入时将先从输入中计算出左下角和右上角然后再存储.

3.7.4. Path(路径)

路径由一系列连接的点组成.路径可能是"开放"的, 也就是第一个点和最后一个点没有连接,也可能是"闭合" 的,这时第一个和最后一个点连接起来.我们提供了函数 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

    
     

这里的参数是

( x , y )

组成路径的线段的端点。 前面的("[")表明一个开放的路径,而前面的("(")表明一个闭合的路径。

路径的输出使用第一种语法输出.

3.7.5. Polygon(多边形)

多边形由一系列点代表.多边形可以认为与闭合路径一样, 但是存储方式不一样而且有自己的一套支持过程/函数.

polygon 用下列语法声明:

( ( 

x1

 , 

y1

 ) , ... , ( 

xn

 , 

yn

 ) )
  ( 

x1

 , 

y1

 ) , ... , ( 

xn

 , 

yn

 )  
  ( 

x1

 , 

y1

   , ... ,   

xn

 , 

yn

 )  
    

x1

 , 

y1

   , ... ,   

xn

 , 

yn

    
     

这里的参数是

( x , y )

组成多边形边界的线段的端点。

多边形输出使用第一种语法.

3.7.6. Circle(圆)

圆由一个圆心和一个半径代表.

circle 用下面语法表示:

< ( 

x

 , 

y

 ) , 

r

 >
( ( 

x

 , 

y

 ) , 

r

 )
  ( 

x

 , 

y

 ) , 

r

  
    

x

 , 

y

   , 

r

  
     

这里的参数是

( x , y )

圆心

r

圆的半径

圆的输出用第一种格式.