

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

ST\$1MakePolygon에는 다각형을 반환하는 두 가지 변형이 있습니다. 하나는 단일 지오메트리를 사용하고 다른 하나는 2개의 지오메트리를 사용합니다.
+ 첫 번째 변형의 입력은 출력 다각형의 외부 링을 정의하는 라인스트링입니다.
+ 두 번째 변형의 입력은 라인스트링과 다중 라인스트링입니다. 둘 다 비어 있거나 닫혀 있습니다.

  출력 다각형의 외부 링 경계는 입력 라인스트링이고 다각형의 내부 링 경계는 입력 다중 라인스트링의 라인스트링입니다. 입력 라인스트링이 비어 있으면 빈 다각형이 반환됩니다. 다중 라인스트링의 빈 라인스트링은 무시됩니다. 결과 지오메트리의 공간 참조 시스템 식별자(SRID)는 두 입력 지오메트리의 공통 SRID입니다.

반환된 지오메트리의 차원은 입력 지오메트리의 차원과 같습니다. 외부 링과 내부 링의 차원이 같아야 합니다.

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

```
ST_MakePolygon(geom1)
```

```
ST_MakePolygon(geom1, geom2)
```

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

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

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

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

`GEOMETRY` 하위 유형의 입니다.`POLYGON`

반환된 지오메트리의 공간 참조 시스템 식별자(SRID)는 입력의 SRID와 같습니다.

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

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

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

*geom1*이 닫히지 않으면 오류가 반환됩니다.

*geom1*이 단일 점이거나 닫혀 있지 않으면 오류가 반환됩니다.

*geom2*에 단일 점이 있거나 닫혀 있지 않은 라인스트링이 하나 이상 포함되어 있으면 오류가 반환됩니다.

*geom1*과 *geom2*의 SRID 값이 다른 경우 오류가 반환됩니다.

*geom1*과 *geom2*의 차원이 다른 경우 오류가 반환됩니다.

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

다음 SQL은 입력 라인스트링에서 다각형을 반환합니다.

```
SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
```

```
 st_astext
---------------
POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))
```

다음 SQL은 닫힌 라인스트링과 닫힌 다중 라인스트링에서 다각형을 생성합니다. 라인스트링은 다각형의 외부 링에 사용됩니다. 다중 라인스트링의 라인스트링은 다각형의 내부 링에 사용됩니다.

```
SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
```

```
 st_astext
----------------------------------
POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))
```