

 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\$1SetPoint
<a name="ST_SetPoint-function"></a>

ST\$1SetPoint는 인덱스에 의해 지정된 입력 라인스트링의 위치와 관련하여 업데이트된 좌표가 있는 라인스트링을 반환합니다. 새 좌표는 입력 점의 좌표입니다.

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

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

```
ST_SetPoint(geom1, index, geom2)
```

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

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

 * 인덱스*   
인덱스의 위치를 나타내는 `INTEGER` 데이터 형식의 값입니다. `0`은 라인스트링의 왼쪽에서 첫 번째 점을 가리키고, `1`은 두 번째 점을 가리킵니다. 인덱스는 음수 값일 수 있습니다. `-1`은 라인스트링의 오른쪽에서 첫 번째 점을 가리키고, `-2`는 라인스트링의 오른쪽에서 두 번째 점을 가리킵니다.

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

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

`GEOMETRY`

*geom2*가 빈 점이면 *geom1*이 반환됩니다.

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

*geom1*이 라인스트링이 아니면 오류가 반환됩니다.

*index*가 유효한 인덱스 범위 내에 있지 않으면 오류가 반환됩니다.

*geom2*가 점이 아니면 오류가 반환됩니다.

*geom1*과 *geom2*의 SRID(공간 참조 시스템 식별자) 값이 같지 않으면 오류가 반환됩니다.

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

다음 SQL은 입력 라인스트링의 두 번째 점을 지정된 점으로 설정한 새로운 라인스트링을 반환합니다.

```
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
```

```
st_astext              
-------------
 LINESTRING(1 2,3 2,7 9,1 2)
```

다음 SQL 예는 라인스트링의 오른쪽에서 세 번째 점(인덱스가 음수임)를 지정된 점으로 설정한 새로운 라인스트링을 반환합니다.

```
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
```

```
st_astext              
-------------
 LINESTRING(1 2,7 9,5 2,1 2)
```