Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_ASGEOJSON

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

功能描述

返回一个几何体作为 GeoJSON 中的 geometry 对象,

语法格式

sql
CLOB ST_ASGEOJSON(GEOMETRY geom, INTEGER maxdecimaldigits=9, INTEGER options=8);
CLOB ST_ASGEOJSON(GEOGRAPHY geog, INTEGER maxdecimaldigits=9, INTEGER options=0);
CLOB ST_ASGEOJSON(CLOB g1);

参数说明

  • geom:目标 GEOMETRY 对象。
  • geog:目标 GEOGRAPHY 对象。
  • g1: 目标 GEOMETRY 对象的字符串。
  • maxdecimaldigits:精度,用于减少输出中使用的最大小数位数。可选,默认 9。
  • options:用于在 GeoJSON 输出中添加 BBOX 或 CRS:
    • 0:表示没有选项
    • 1:GeoJSON BBOX
    • 2:GeoJSON 短 CRS(例如 EPSG:4326)
    • 4:GeoJSON 长 CRS(例如 urn:ogc:def:crs:EPSG::4326)
    • 8:GeoJSON 短 CRS,如果不是 EPSG:4326(默认)

函数返回类型

CLOB 类型

使用说明

  1. 生成的 GeoJSON 几何体和要素遵循 GeoJSON 规范 RFC 7946,但当解析的几何体使用 WGS84 经度和纬度之外的 CRS(如 EPSG:4326,urn:ogc:def:crs:OGC::CRS84)进行引用时,GeoJSON几何对象将默认附加一个短的CRS SRID标识符。
  2. 支持2D和3D几何。
  3. GeoJSON 支持SFS 1.1几何类型(例如,不支持曲线)。
  4. 如果使用 EPSG:4326 并且输出几何图形仅用于显示,则 maxdecimaldigits=6 对于许多地图来说可能是一个不错的选择。
  5. 使用 maxdecimaldigits 参数可能会导致输出几何图形无效。 为了避免这种情况,首先使用 ST_ReducePrecision 和合适的网格大小。
  6. GeoJSON 规范规定多边形使用右手定则定向,并且某些客户端需要此方向。 这可以通过使用ST_ForcePolygonCCW 来确保。 该规范还要求几何图形位于 WGS84 坐标系 (SRID = 4326) 中。 如果需要,可以使用 ST_Transform 将几何图形投影到 WGS84 中:ST_Transform( geom, 4326 )。
  7. 该函数支持 3d 并且不会丢失 z-index。

注意

暂不支持返回一行作为 GeoJSON 中 的 feature 对象。

示例

sql
SQL> SELECT ST_ASGEOJSON('LINESTRING(1 2 3, 4 5 6)'::GEOMETRY);

+-------------------------------------------------------+
|                         EXPR1                         |
+-------------------------------------------------------+
| {"type":"LineString","coordinates":[[1,2,3],[4,5,6]]} |
+-------------------------------------------------------+

(1 row)