

 Amazon Redshift는 패치 198부터 새 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\$1AddPoint
<a name="ST_AddPoint-function"></a>

ST\$1AddPoint는 점이 추가된 입력 지오메트리와 동일한 라인스트링 지오메트리를 반환합니다. 인덱스가 제공되면 인덱스 위치에 점이 추가됩니다. 인덱스가 -1이거나 제공되지 않으면 점이 라인스트링에 추가됩니다.

인덱스는 0부터 시작합니다. 결과의 SRID(공간 참조 시스템 식별자)는 입력 지오메트리의 값과 동일합니다.

반환된 지오메트리의 차원은 *geom1* 값의 차원과 같습니다. *geom1*과 *geom2*의 차원이 다른 경우 *geom2*는 *geom1*의 차원에 나타납니다.

## 구문
<a name="ST_AddPoint-function-syntax"></a>

```
ST_AddPoint(geom1, geom2)
```

```
ST_AddPoint(geom1, geom2, index)
```

## 인수
<a name="ST_AddPoint-function-arguments"></a>

 *geom1*   
`GEOMETRY` 데이터 형식의 값 또는 `GEOMETRY` 형식으로 계산되는 표현식입니다. 하위 유형은 `LINESTRING`이어야 합니다.

 *geom2*   
`GEOMETRY` 데이터 형식의 값 또는 `GEOMETRY` 형식으로 계산되는 표현식입니다. 하위 유형은 `POINT`이어야 합니다. 점은 빈 점일 수 있습니다.

 * 인덱스*   
0부터 시작하는 인덱스의 위치를 나타내는 `INTEGER` 데이터 형식의 값입니다.

## 반환 타입
<a name="ST_AddPoint-function-return"></a>

`GEOMETRY` 

*geom1*, *geom2* 또는 *index*가 null이면 null이 반환됩니다.

*geom2*가 빈 점이면 *geom1*의 복사본이 반환됩니다.

*geom1*이 `LINESTRING`이 아니면 오류가 반환됩니다.

*geom2*가 `POINT`가 아니면 오류가 반환됩니다.

*index*가 범위를 벗어나면 오류가 반환됩니다. 인덱스 위치에 대해 유효한 값은 -1 또는 0과 `ST_NumPoints(geom1)` 사이의 값입니다.

## 예제
<a name="ST_AddPoint-function-examples"></a>

다음 SQL은 닫힌 라인스트링으로 만들도록 라인스트링에 점을 추가합니다.

```
WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326))
SELECT ST_AsEWKT(ST_AddPoint(g, ST_StartPoint(g))) FROM tmp;
```

```
 st_asewkt
------------------------------------------------
 SRID=4326;LINESTRING(0 0,10 0,10 10,5 5,0 5,0 0)
```

다음 SQL은 라인스트링의 특정 위치에 점을 추가합니다.

```
WITH tmp(g) AS (SELECT ST_GeomFromText('LINESTRING(0 0,10 0,10 10,5 5,0 5)',4326))
SELECT ST_AsEWKT(ST_AddPoint(g, ST_SetSRID(ST_Point(5, 10), 4326), 3)) FROM tmp;
```

```
 st_asewkt
------------------------------------------------
 SRID=4326;LINESTRING(0 0,10 0,10 10,5 10,5 5,0 5)
```