#
功能描述
#在几何数据类型中有以下3种功能:
- 返回点的数量。适用于PATH、POLYGON。
- 计算交点,如果没有交点则返回NULL。适用于LSEG、LINE。
- 计算两个方框的交集,如果没有则为NULL。适用于BOX。
数据类型
L_OPERAND_TYP(左操作数类型) | R_OPERAND_TYP(右操作数类型) | RET_TYPE(返回类型) |
---|---|---|
无 | PATH | INTEGER |
无 | POLYGON | INTEGER |
LSEG | LSEG | POINT |
LINE | LINE | POINT |
BOX | BOX | BOX |
示例
返回点的数量
PATH
sqlSELECT # PATH('((1,0),(0,1),(-1,0))'); EXPR1| -----+ 3|
POLYGON
sqlSELECT # POLYGON('( 10, 110, 20, 120, 30, 130, 40, 140)'); EXPR1| -----+ 4|
计算交点
LSEG
sqlSELECT LSEG('[(0,0),(1,1)]') # LSEG('[(1,0),(0,1)]'); EXPR1 | ---------+ (0.5,0.5)|
LINE
sqlSELECT LINE('[(0,0),(1,1)]') # LINE('[(1,0),(0,1)]'); EXPR1 | ---------+ (0.5,0.5)|
计算两个方框的交集
sql
SELECT BOX('(2,2),(-1,-1)') # BOX('(1,1),(-2,-2)');
EXPR1 |
---------------------+
(1.0,1.0),(-1.0,-1.0)|