Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


POINT

📄字数 666
👁️阅读量 加载中...

功能描述

构造点几何对象或从其他几何类型中提取中心点。​

语法格式

sql
POINT(expr1 [, expr2])

输入参数

  • expr1:支持CHAR, BOXCIRCLELSEGPOLYGONDOUBLE类型,为DOUBLE类型时,必须指定expr2
  • expr2:可选参数,默认为空,不为空时,其类型必须是DOUBLE

提示

  • NULL 无具体的类型,所以当exprNULL 时且只有一个参数,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:POINT(NULL::CHAR)
  • 当参数为字符串时,合法格式'(x1,y1)',若格式错误,则报错[E17003 L1 C8] 数据格式错

输出结果

输出结果为POINT类型,输入不同类型的几何对象时,输出如下表:

参数1参数2输出
CHAR-将字符串转换为点
BOX-计算BOX的中心点
CIRCLE-计算圆心
LSEG-计算线段中点
POLYGON-计算多边形的中心(多边形的点位置的平均值)
DOUBLEDOUBLE将坐标转换为点

示例

sql
--用坐标构造点。
SQL> SELECT POINT(23.4, -44.5) FROM dual;

+--------------+
|    EXPR1     |
+--------------+
| (23.4,-44.5) |
+--------------+

-- 计算`BOX`的中心。
SQL> SELECT POINT(BOX('(1,0),(-1,0)')) FROM dual;

+-------+
| EXPR1 |
+-------+
| (0,0) |
+-------+

-- 计算圆心。
SQL> SELECT POINT(CIRCLE('<(0,0),2>')) FROM dual;

+-------+
| EXPR1 |
+-------+
| (0,0) |
+-------+

--计算线段的中心。
SQL> SELECT POINT(LSEG('[(-1,0),(1,0)]')) FROM dual;

+-------+
| EXPR1 |
+-------+
| (0,0) |
+-------+

-- 计算多边形的中心
SQL> SELECT POINT(POLYGON('((0,0),(1,1),(2,0))')) FROM dual;

+------------------------+
|         EXPR1          |
+------------------------+
| (1,0.3333333333333333) |
+------------------------+