Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_ASKML

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

功能描述

将几何图形作为 Keyhole 标记语言 (KML) 元素返回。

语法格式

sql
CLOB ST_ASKML(GEOMETRY geom, INTEGER maxdecimaldigits=15, VARCHAR nprefix=NULL);
CLOB ST_ASKML(GEOGRAPHY geog, INTEGER maxdecimaldigits=15, VARCHAR nprefix=NULL);

参数说明

  • geom:目标 GEOMETRY 对象。
  • geog:目标 GEOGRAPHY 对象。
  • maxdecimaldigits:精度,用于减少输出中使用的最大小数位数。可选,默认 15。
  • nprefix:自定义命名空间前缀。默认为 NULL。

函数返回类型

CLOB 类型

使用说明

  1. GML 2指2.1.2版本,GML 3指3.1.1版本。
  2. 使用 maxdecimaldigits 参数可能会导致输出几何图形无效。 为了避免这种情况,首先使用 ST_REDUCEPRECISION 和合适的网格大小。
  3. 该函数支持 3d 并且不会丢失 z-index。

注意

ST_ASKML 输出不适用于无 SRID 的几何图形。

示例

sql
SQL> SELECT ST_ASKML(ST_GEOMFROMTEXT('POLYGON((0 0,0 1,1 1,1 0,0 0))',4326));

+-------------------------------------------------------------------------------------------------------------------------------+
|                                                             EXPR1                                                             |
+-------------------------------------------------------------------------------------------------------------------------------+
| <Polygon><outerBoundaryIs><LinearRing><coordinates>0,0 0,1 1,1 1,0 0,0</coordinates></LinearRing></outerBoundaryIs></Polygon> |
+-------------------------------------------------------------------------------------------------------------------------------+

(1 row)

-- 3D linestring 
SQL> SELECT ST_AsKML('SRID=4326;LINESTRING(1 2 3, 4 5 6)');

+-----------------------------------------------------------------+
|                              EXPR1                              |
+-----------------------------------------------------------------+
| <LineString><coordinates>1,2,3 4,5,6</coordinates></LineString> |
+-----------------------------------------------------------------+

(1 row)