##(近距点)
📄字数 480
👁️阅读量 加载中...
功能描述
计算并返回第二个对象内距离第一个对象最近的点。
语法格式
L_OPERAND_TYP ## R_OPERAND_TYP
输入参数
L_OPERAND_TYP(左操作数类型) | R_OPERAND_TYP(右操作数类型) | RET_TYPE(返回类型) |
---|---|---|
POINT | BOX | POINT |
LSEG | BOX | POINT |
POINT | LINE | POINT |
LINE | LSEG | POINT |
POINT | LSEG | POINT |
LSEG | LSEG | POINT |
输出结果
输出结果的类型为 POINT
类型。
示例
sql
-- POINT ## BOX返回边框到点的最近的点
SQL> SELECT POINT('(0,0)') ## BOX('(2,2),(4,4)');
+-------+
| EXPR1 |
+-------+
| (2,2) |
+-------+
-- POINT ## LSEG返回线段到点的最近的点
SQL> SELECT POINT('(0,0)') ## LSEG('[(2,0),(0,2)]');
+-------+
| EXPR1 |
+-------+
| (1,1) |
+-------+
-- LINE ## LSEG 返回线段到直线的最近的点
SQL> SELECT LINE('[(-2,0),(0,0)]') ## LSEG('[(2,0),(0,2)]');
+-------+
| EXPR1 |
+-------+
| (2,0) |
+-------+
--POINT ## LINE 返回直线到点的最近的点
SQL> SELECT POINT('(0,0)') ## LINE('[(2,0),(0,2)]');
+-------+
| EXPR1 |
+-------+
| (1,1) |
+-------+
--LSEG ## BOX 返回矩形到线段的最近的点
SQL> SELECT LSEG('[(2,0),(0,2)]') ## BOX('(2,2),(4,4)');
+-------+
| EXPR1 |
+-------+
| (2,2) |
+-------+