

 从补丁 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\$1GeomFromGeoHash
<a name="ST_GeomFromGeoHash-function"></a>

ST\$1GeomFromGeoHash 从输入几何体的 geohash 表示形式构造几何体对象。ST\$1GeomFromGeoHash 返回空间参考标识符 (SRID) 为零 (0) 的二维 (2D) 几何体。有关 geohash 格式的更多信息，请参阅 Wikipedia 中的 [Geohash](https://en.wikipedia.org/wiki/Geohash)。

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

```
ST_GeomFromGeoHash(geohash_string)
```

```
ST_GeomFromGeoHash(geohash_string, precision)
```

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

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

 *精度*   
数据类型 `INTEGER` 的值，表示 geohash 的精度。该值是要用作精度的 geohash 的字符数。如果未指定该值、值小于零或大于 *geohash\$1string* 长度，则使用 *geohash\$1string* 长度。

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

`GEOMETRY`

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

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

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

以下 SQL 返回具有高精度的多边形。

```
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0'));
```

```
 st_asewkt       
-----------------------
 POLYGON((-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646,-115.172816 36.114646))
```

以下 SQL 返回具有高精度的点。

```
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz00'));
```

```
 st_asewkt       
-----------------------
 POINT(-115.172816 36.114646)
```

以下 SQL 返回具有低精度的多边形。

```
SELECT ST_AsText(ST_GeomFromGeoHash('9qq'));
```

```
 st_asewkt       
-----------------------
 POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))
```

以下 SQL 返回精度为 3 的多边形。

```
SELECT ST_AsText(ST_GeomFromGeoHash('9qqj7nmxncgyy4d0dbxqz0', 3));
```

```
 st_asewkt       
-----------------------
 POLYGON((-115.3125 35.15625,-115.3125 36.5625,-113.90625 36.5625,-113.90625 35.15625,-115.3125 35.15625))
```