PostgreSQL 空间数据类型point、 line等

PostgreSQL中提供了空间类型字段

几何类型

几何数据类型表示二维空间的对象。表6-18 显示了PostgreSQL 里面所有的几何类型。最基本的类型是“点”,它是其它数据类型的基础。

 PostgreSQL  空间数据类型point、 line等

6.8.1点(point)

点是最基本的几何类型。下面语法定义point类型的值:

x , y )

x , y

x和y都是浮点数,表示横坐标和纵坐标。

eg:

insert into public."user"(userid,name,password,position,phone) values('333','aa','123',point'(1,2)','132');

6.8.2 线段(lseg)

线段 (lseg)用两个点来代表。 lseg 的值用下面语法定义:

( ( x1 , y1 ) , ( x2 , y2 ) )

x1 , y1 ) , ( x2 , y2 )

x1 , y1   ,   x2 , y2

这里的 (x1,y1), (x2,y2) 是线段的端点。

eg:

insert into public."route"(routeid,line,userid,createtime) values('123',line'( ( 113 , 34.9 ) , ( 114 , 35 ) )','1','2019-01-01');

6.8.3 长方形(box)

长方形是用两个对角个点来表示的。 它的值用下面的语法定义:

(1)( ( x1 , y1 ) , ( x2 , y2 ) )

(2)( x1 , y1 ) , ( x2 , y2 )

(3) x1 , y1   ,   x2 , y2

(x1,y1) 和 (x2,y2) 是长方形的一对对角点。

长方形的数据在输出使用第一种语法。

6.8.4路径(path)

路径由一系列连接的点组成。路径可能是开路的,列表中第一个点和最后一个点没有连接,也可能是闭路的,第一个和最后一个点连接起来。

path 的值用下面语法定义:

(1)( ( x1 , y1 ) , ... , ( xn , yn ) )

(2)[ ( x1 , y1 ) , ... , ( xn , yn ) ]

(3)( x1 , y1 ) , ... , ( xn , yn )

(4) ( x1 , y1   , ... ,   xn , yn )

(5) x1 , y1   , ... ,   xn , yn

这里的点是构成路径的线段的端点。 方括弧[]表明路径是开路的,圆括弧()表明路径是闭路的。

路径的数据在输出时使用第一种语法。

6.8.5多边形(polygon)

多边形由一系列点代表(多边形的顶点)。多边形在概念上与闭路路径一样,但是它与闭路路径的存储方式不一样而且有自己的一套支持函数。

    polygon 的值用下列语法定义:

(1)( ( x1 , y1 ) , ... , ( xn , yn ) )

(2)( x1 , y1 ) , ... , ( xn , yn )

(3) ( x1 , y1   , ... ,   xn , yn )

(4)  x1 , y1   , ... ,   xn , yn

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

多边形数据在输出使用第一种语法。

6.8.6圆(circle)

圆由一个圆心和一个半径表示。 circle 的值用下面语法定义:

(1)< ( x , y ) , r >

(2)( ( x , y ) , r )

(3) ( x , y ) , r

(4) x , y   , r

这里的 (x,y) 是圆心,而r圆的半径。

圆的数据在输出时使用第一种格式。

上一篇:[转] 有趣的JavaScript原生数组函数


下一篇:PHP 中数组函数 isset 效率比 array_key_exists 更高