Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_ASSVG

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

功能描述

将几何图形作为标量矢量图形 (SVG) 路径数据返回。

语法格式

sql
CLOB ST_ASSVG(GEOMETRY geom, INTEGER rel=0, INTEGER maxdecimaldigits=15);
CLOB ST_ASSVG(GEOGRAPHY geog, INTEGER rel=0, INTEGER maxdecimaldigits=15);
CLOB ST_ASSVG(CLOB geom);

参数说明

  • geom:目标 GEOMETRY 对象。
  • geog:目标 GEOGRAPHY 对象。
  • rel:可选,默认为 0 。
    • 0:绝对移动。点几何图形将渲染为 cx/cy。
    • 1:相对移动。点几何图形将渲染为 x/y。
  • maxdecimaldigits:精度,用于减少输出中使用的最大小数位数。可选,默认 15。

函数返回类型

CLOB 类型

使用说明

  1. 此方法支持圆形字符串和曲线。

示例

sql
SQL> SELECT ST_ASSVG('POLYGON((0 0,0 1,1 1,1 0,0 0))'::GEOMETRY);

+-------------------------+
|          EXPR1          |
+-------------------------+
| M 0 0 L 0 -1 1 -1 1 0 Z |
+-------------------------+

(1 row)

圆弧:

sql
SQL> SELECT ST_ASSVG( ST_GEOMFROMTEXT('CIRCULARSTRING(-2 0,0 2,2 0,0 2,2 4)') );

+-----------------------------------------+
|                  EXPR1                  |
+-----------------------------------------+
| M -2 0 A 2 2 0 0 1 2 0 A 2 2 0 0 1 2 -4 |
+-----------------------------------------+

(1 row)

多曲线:

sql
SQL> SELECT ST_ASSVG('MULTICURVE((5 5,3 5,3 3,0 3),
      CIRCULARSTRING(0 0,2 1,2 2))'::GEOMETRY, 0, 0);

+------------------------------------------------+
|                     EXPR1                      |
+------------------------------------------------+
| M 5 -5 L 3 -5 3 -3 0 -3 M 0 0 A 2 2 0 0 0 2 -2 |
+------------------------------------------------+

(1 row)

多曲面:

sql
SQL> SELECT ST_ASSVG('MULTISURFACE(
     CURVEPOLYGON(CIRCULARSTRING(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),
         (-1 0,0 0.5,1 0,0 1,-1 0)),
     ((7 8,10 10,6 14,4 11,7 8)))'::GEOMETRY, 0, 2);

+-------------------------------------------------------------------------------------------------------------------------+
|                                                          EXPR1                                                          |
+-------------------------------------------------------------------------------------------------------------------------+
| M -2 0 A 1 1 0 0 0 0 0 A 1 1 0 0 0 2 0 A 2 2 0 0 0 -2 0 Z M -1 0 L 0 -0.5 1 0 0 -1 -1 0 Z M 7 -8 L 10 -10 6 -14 4 -11 Z |
+-------------------------------------------------------------------------------------------------------------------------+

(1 row)