postgresql----几何类型和函数
postgresql支持的几何类型如下表:
名字 | 存储空间 | 描述 | 表现形式 |
point | 16字节 | 平面上的点 | (x,y) |
line | 32字节 | 直线 | {A,B,C} |
lseg | 32字节 | 线段 | ((x1,y1),(x2,y2)) |
box | 32字节 | 矩形 | ((x1,y1),(x2,y2)) |
path | 16+16n字节 | 闭合路径 | ((x1,y1),...) |
path | 16+16n字节 | 开放路径 | [(x1,y1),...] |
polygon | 40+16n字节 | 多边形 | ((x1,y1),...) |
circle | 24字节 | 圆 | <(x,y),r> |
示例:
test=# select point'(1,1)'; point ------- (1,1) (1 row) test=# select line'{1,1,1}'; line --------- {1,1,1} (1 row) test=# select lseg'(1,1),(2,2)'; lseg --------------- [(1,1),(2,2)] (1 row) test=# select box'(1,1),(2,2)'; box ------------- (2,2),(1,1) (1 row) test=# select path'(1,1),(2,2),(2,1)'; path --------------------- ((1,1),(2,2),(2,1)) (1 row) test=# select path'[(1,1),(2,2),(2,1)]'; path --------------------- [(1,1),(2,2),(2,1)] (1 row) test=# select polygon'((1,1),(2,2),(2,1))'; polygon --------------------- ((1,1),(2,2),(2,1)) (1 row) test=# select circle'<(0,0),1>'; circle ----------- <(0,0),1> (1 row)
操作符
操作符 | 描述 | 示例 | 结果 |
+ | 平移 | select box '((0,0),(1,1))' + point '(2.0,0)'; | (3,1),(2,0) |
- | 平移 | select box '((0,0),(1,1))' - point '(2.0,0)'; | (-1,1),(-2,0) |
* | 伸缩/旋转 | select box '((0,0),(1,1))' * |