

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# ST\$1GeomFromGeoJSON
<a name="ST_GeomFromGeoJSON-function"></a>

ST\$1GeomFromGeoJSON 从输入几何体的 GeoJSON 表示形式构造几何体对象。有关 GeoJSON 格式的更多信息，请参阅 Wikipedia 中的 [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON)。

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

## 语法
<a name="ST_GeomFromGeoJSON-function-syntax"></a>

```
ST_GeomFromGeoJSON(geojson_string)
```

## 参数
<a name="ST_GeomFromGeoJSON-function-arguments"></a>

 *geojson\$1string*   
数据类型为 `VARCHAR` 或 `SUPER` 的值或计算结果为 `VARCHAR` 类型的表达式，即几何体的 GeoJSON 表示形式。

## 返回类型
<a name="ST_GeomFromGeoJSON-function-return"></a>

`GEOMETRY`

如果 *geojson\$1string* 为 null，则返回 null。

如果 *geojson\$1string* 无效，则返回一个错误。

## 示例
<a name="ST_GeomFromGeoJSON-function-examples"></a>

以下 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))
```