

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

ST\$1LineInterpolatePoint 返回一条直线上距离该线起点一小段距离的一个点。

要确定点相等性，ST\$1LineInterpolatePoint 对输入几何体的 2D 投影进行操作。如果输入几何体为空，则返回该几何体的维度与输入相同的副本。对于 3DZ、3DM 和 4D 几何体，`z` 或 `m` 坐标点所在线段的 `z` 或 `m` 坐标的平均值。

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

```
ST_LineInterpolatePoint(geom, fraction)
```

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

 *geom*   
一个 `GEOMETRY` 数据类型的值，或一个计算结果为 `GEOMETRY` 类型的表达式。子类型为 `LINESTRING`。

 *fraction*   
数据类型 `DOUBLE PRECISION` 的一个值，表示点沿着线的线串的位置。该值是介于 0—1 范围内的一个分数，包含首尾。

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

`GEOMETRY`子类型 的 `POINT`。

如果 *geom* 或 *fraction* 为 null，则返回 null。

如果 *geom* 为空，则返回一个空点。

返回的几何体的空间参考系统标识符 (SRID) 值是输入几何体的 SRID 值。

如果 *fraction* 超出范围，则返回一个错误。

如果 *geom* 不是线串，则返回一个错误。

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

以下 SQL 返回沿线串中途的点。

```
SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.50));
```

```
st_asewkt
-----------
 POINT(5 5)
```

以下 SQL 返回沿线串行程 90% 的点。

```
SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.90));
```

```
st_asewkt
-----------
 POINT(9 9)
```