<->(距离)
📄字数 718
👁️阅读量 加载中...
功能描述
计算几何对象之间距离。
语法格式
L_OPERAND_TYP <-> R_OPERAND_TYP
输入参数
L_OPERAND_TYP(左操作数类型) | R_OPERAND_TYP(右操作数类型) | RET_TYPE(返回类型) |
---|---|---|
LSEG | POINT | DOUBLE |
POINT | LSEG | DOUBLE |
POINT | BOX | DOUBLE |
POINT | LINE | DOUBLE |
CIRCLE | CIRCLE | DOUBLE |
BOX | BOX | DOUBLE |
LINE | POINT | DOUBLE |
LSEG | BOX | DOUBLE |
LINE | LSEG | DOUBLE |
POINT | PATH | DOUBLE |
BOX | LSEG | DOUBLE |
PATH | POINT | DOUBLE |
BOX | POINT | DOUBLE |
POINT | CIRCLE | DOUBLE |
POINT | POLYGON | DOUBLE |
CIRCLE | POINT | DOUBLE |
POLYGON | POINT | DOUBLE |
CIRCLE | POLYGON | DOUBLE |
LINE | LINE | DOUBLE |
LSEG | LSEG | DOUBLE |
POLYGON | CIRCLE | DOUBLE |
LSEG | LINE | DOUBLE |
PATH | PATH | DOUBLE |
POINT | POINT | DOUBLE |
POLYGON | POLYGON | DOUBLE |
输出结果
输出结果的类型为 DOUBLE
类型。
示例
sql
-- CIRCLE <-> CIRCLE 计算圆到圆的距离。
SQL> SELECT CIRCLE('<(0,0),1>') <-> CIRCLE('<(5,0),1>');
+--------------+
| EXPR1 |
+--------------+
| 3.000000e+00 |
+--------------+
-- POINT <-> LSEG 计算点到线段的距离
SQL> SELECT POINT('(0,0)') <-> LSEG('[(2,0),(0,2)]') ;
+--------------+
| EXPR1 |
+--------------+
| 1.414214e+00 |
+--------------+
-- CIRCLE <-> POLYGON 计算圆到多边形的距离
SQL> SELECT CIRCLE('<(0,0),1>') <-> POLYGON('(10, 110), (20, 120), (30, 130), (40, 140)');
+--------------+
| EXPR1 |
+--------------+
| 1.094536e+02 |
+--------------+