ST_GeomFromGeoJSON - Amazon Redshift

ST_GeomFromGeoJSON

ST_GeomFromGeoJSON 从输入几何体的 GeoJSON 表示形式构造几何体对象。有关 GeoJSON 格式的更多信息,请参阅 Wikipedia 中的 GeoJSON

如果至少有一个点具有三个或更多坐标,则生成的几何体为 3DZ,其中只有两个坐标的点的 Z 分量为零。如果输入 GeoJSON 中的所有点都包含两个坐标或为空,则 ST_GeomFromGeoJSON 将返回 2D 几何体。返回的几何体的空间参考标识符 (SRID) 始终为 4326。

语法

ST_GeomFromGeoJSON(geojson_string)

参数

geojson_string

数据类型为 VARCHAR 的值或计算结果为 VARCHAR 类型的表达式,即几何体的 GeoJSON 表示形式。

返回类型

GEOMETRY

如果 geojson_string 为 null,则返回 null。

如果 geojson_string 无效,则返回一个错误。

示例

以下 SQL 返回以输入 GeoJSON 表示的 2D 几何体。

SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"Point","coordinates":[1,2]}'));
st_asewkt ----------------------- SRID=4326;POINT(1 2)

以下 SQL 返回以输入 GeoJSON 表示的 3DZ 几何体。

SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"LineString","coordinates":[[1,2,3],[4,5,6],[7,8,9]]}'));
st_asewkt ------------------------------------------ SRID=4326;LINESTRING Z (1 2 3,4 5 6,7 8 9)

当输入 GeoJSON 中只有一个点具有三个坐标,而所有其他点具有两个坐标时,以下 SQL 返回 3DZ 几何体。

SELECT ST_AsEWKT(ST_GeomFromGeoJSON('{"type":"Polygon","coordinates":[[[0, 0],[0, 1, 8],[1, 0],[0, 0]]]}'));
st_asewkt ------------------------------------------------ SRID=4326;POLYGON Z ((0 0 0,0 1 8,1 0 0,0 0 0))