

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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\$1AsGeoJSON
<a name="ST_AsGeoJSON-function"></a>

ST\$1AsGeoJSON 會傳回輸入幾何或地理的 GeoJSON 表示法。如需 GeoJSON 的相關資訊，請參閱 Wikipedia 中的 [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON)。

對於 3DZ 和 4D 幾何，輸出幾何是輸入 3DZ 或 4D 幾何的 3DZ 投影。也就是說，`x`、`y` 和 `z` 座標存在於輸出中。對於 3DM 幾何，輸出幾何是輸入 3DM 幾何的 2D 投影。也就是說，只有 `x` 和 `y` 座標存在於輸出中。

對於輸入地理，ST\$1AsGeoJSON 會傳回輸入地理的 GeoJSON 表示法。使用指定的精確度顯示地理座標。

## 語法
<a name="ST_AsGeoJSON-function-syntax"></a>

```
ST_AsGeoJSON(geo)
```

```
ST_AsGeoJSON(geo, precision)
```

## 引數
<a name="ST_AsGeoJSON-function-arguments"></a>

 *geo*   
`GEOMETRY` 或 `GEOGRAPHY` 資料類型的值，或是評估為 `GEOMETRY` 或 `GEOGRAPHY` 類型的運算式。

 *precision*   
`INTEGER` 資料類型的值。對於幾何，使用指定的精確度 1-20 顯示 *geo* 座標。如果沒有指定 *precision*，則預設為 15。對於地理，使用指定的精確度顯示 *geo* 座標。如果沒有指定 *precision*，則預設為 15。

## 傳回類型
<a name="ST_AsGeoJSON-function-return"></a>

`VARCHAR`

如果 *geo* 為 null，則傳回 null。

如果 *precision* 為 Null，則會傳回 Null。

如果結果大於 64-KB `VARCHAR`，則會傳回錯誤。

## 範例
<a name="ST_AsGeoJSON-function-examples"></a>

以下 SQL 會傳回 linestring 的 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 會傳回 linestring 的 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]]}
```