Skip to content

#

功能描述

#在几何数据类型中有以下3种功能:

  • 返回点的数量。适用于PATH、POLYGON。
  • 计算交点,如果没有交点则返回NULL。适用于LSEG、LINE。
  • 计算两个方框的交集,如果没有则为NULL。适用于BOX。

数据类型

L_OPERAND_TYP(左操作数类型)R_OPERAND_TYP(右操作数类型)RET_TYPE(返回类型)
PATHINTEGER
POLYGONINTEGER
LSEGLSEGPOINT
LINELINEPOINT
BOXBOXBOX

示例

返回点的数量

  • PATH

    sql
    SELECT # PATH('((1,0),(0,1),(-1,0))');
    EXPR1|
    -----+
        3|
  • POLYGON

    sql
    SELECT # POLYGON('( 10, 110, 20, 120, 30, 130, 40, 140)');
    EXPR1|
    -----+
        4|

计算交点

  • LSEG

    sql
    SELECT LSEG('[(0,0),(1,1)]') # LSEG('[(1,0),(0,1)]');
    EXPR1    |
    ---------+
    (0.5,0.5)|
  • LINE

    sql
    SELECT 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)|