Skip to content

POLYGON

功能描述

根据输入的参数类型有以下功能:

  • BOX:将BOX转换为4点多边形。
  • CIRCLE:将CIRCLE转换为12点多边形。
  • INTEGER, CIRCLE:将CIRCLE转换为N点多边形。
  • PATH:将封闭路径转换为具有相同点列表的多边形。
  • CHAR:将字符串转换为多边形。

语法格式

sql
POLYGON(expr)

参数说明

expr:目标几何对象或字符串。支持以下类型:

  • BOX
  • CIRCLE
  • PATH
  • CHAR

INTEGER, CIRCLE转换输入2个参数,其中expr1为点个数,为INTEGER类型。expr2为CIRCLE类型几何对象。

函数返回类型

POLYGON类型。

示例

BOX

sql
SELECT POLYGON(BOX('(1,1),(0,0)'));
EXPR1                                    |
-----------------------------------------+
((0.0,0.0),(0.0,1.0),(1.0,1.0),(1.0,0.0))|

CIRCLE

sql
SELECT POLYGON(CIRCLE('<(0,0),2>'));
EXPR1                                    |
-----------------------------------------+
((-2.0,0.0),(-1.7320508075688774,0.9999999999999999),(-1.0000000000000002,1.7320508075688772),(-1.2246467991473532E-16,2.0),(0.9999999999999996,1.7320508075688774),(1.732050807568877,1.0000000000000007),(2.0,2.4492935982947064E-16),(1.7320508075688776,-0.9999999999999994),(1.0000000000000009,-1.7320508075688767),(3.6739403974420594E-16,-2.0),(-0.9999999999999987,-1.732050807568878),(-1.7320508075688767,-1.0000000000000009))|

INTEGER, CIRCLE

sql
SELECT POLYGON(4, CIRCLE('<(3,0),1>'));
EXPR1                                                        |
-------------------------------------------------------------+
((2.0,0.0),(3.0,1.0),(4.0,1.2246467991473532E-16),(3.0,-1.0))|

PATH

sql
SELECT POLYGON(PATH('(0,0),(1,1),(2,0)'));
EXPR1                          |
-------------------------------+
((0.0,0.0),(1.0,1.0),(2.0,0.0))|

CHAR

sql
SELECT POLYGON('(0,0),(1,1),(2,0)');
EXPR1                          |
-------------------------------+
((0.0,0.0),(1.0,1.0),(2.0,0.0))|