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