ST_AsGeoJSON
ST_AsGeoJSON 返回输入几何体或地理的 GeoJSON 表示形式。有关 GeoJSON 的更多信息,请参阅 Wikipedia 中的 GeoJSON
对于 3DZ 和 4D 几何体,输出几何体是输入 3DZ 或 4D 几何体的 3DZ 投影。也就是说,x
、y
, 和 z
坐标存在于输出中。对于 3DZ 几何体,输出几何体是输入 3DM 几何体的 2D 投影。也就是说,只有 x
和 y
坐标存在于输出中。
对于输入地理,ST_AsGeoJSON 返回输入地理的 GeoJSON 表示形式。地理的坐标使用指定的精度显示。
语法
ST_AsGeoJSON(geo)
ST_AsGeoJSON(geo, precision)
参数
- geo
-
一个
GEOMETRY
或GEOGRAPHY
数据类型的值,或一个计算结果为GEOMETRY
或GEOGRAPHY
类型的表达式。 - 精度
-
一个 数据类型的 值
INTEGER
对于几何体,geo 的坐标使用指定的精度 1–20 显示。如果未指定精度,则默认值为 15。对于地理,geo 的坐标使用指定的精度显示。如果未指定精度,则默认值为 15。
返回类型
VARCHAR
如果 geo 为 null,则返回 null。
如果精度 为 null,则返回 null。
如果结果大于 64-KB VARCHAR
,则将返回一个错误。
示例
以下 SQL 返回线串的 GeoJSON 表示形式。
SELECT ST_AsGeoJSON(ST_GeomFromText('LINESTRING(3.141592653589793 -6.283185307179586,2.718281828459045 -1.414213562373095)'));
st_asgeojson
----------------------------------------------------------------------------------------------------------------
{"type":"LineString","coordinates":[[3.14159265358979,-6.28318530717959],[2.71828182845905,-1.41421356237309]]}
以下 SQL 返回线串的 GeoJSON 表示形式。使用六位数精度显示几何体的坐标。
SELECT ST_AsGeoJSON(ST_GeomFromText('LINESTRING(3.141592653589793 -6.283185307179586,2.718281828459045 -1.414213562373095)'), 6);
st_asgeojson
-----------------------------------------------------------------------------
{"type":"LineString","coordinates":[[3.14159,-6.28319],[2.71828,-1.41421]]}
以下 SQL 返回地理的 GeoJSON 表示形式。
SELECT ST_AsGeoJSON(ST_GeogFromText('LINESTRING(110 40, 2 3, -10 80, -7 9)'));
st_asgeojson
----------------------------------------------------------------------
{"type":"LineString","coordinates":[[110,40],[2,3],[-10,80],[-7,9]]}