

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

ST\$1GeoSquare는 도메인([-180, 180], [-90, 90])을 지정된 깊이까지 지오스퀘어로 불리는 동일한 정사각형 리전으로 재귀적으로 세분화합니다.** 세분화는 제공된 점의 위치를 기반으로 합니다. 점을 포함하는 지오스퀘어 중 하나는 최대 깊이에 도달할 때까지 각 단계에서 세분화됩니다. 이 지오스퀘어의 선택은 안정적입니다. 즉 함수 결과는 입력 인자에만 의존합니다. 이 함수는 점이 위치한 최종 지오스퀘어를 식별하는 고유 값을 반환합니다.

ST\$1GeoSquare는 x 좌표가 경도를 나타내고 y 좌표가 위도를 나타내는 POINT를 받습니다. 경도와 위도는 각각 [-180, 180] 및 [-90, 90]으로 제한됩니다. ST\$1GeoSquare의 출력은 [ST\$1GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md) 함수에 대한 입력으로 사용할 수 있습니다.

지구의 적도 원주 호를 중심으로 360°를 두 개의 반구(동반구 및 서반구)로 나누고, 각각 0° 자오선에서 180°의 세로선(자오선)을 갖습니다. 규칙에 따라 동경은 데카르트 평면의 X축에 투영할 때 "\$1"(양수) 좌표이고, 서경은 데카르트 평면의 X축에 투영할 때 "-"(음수) 좌표입니다. 지구의 적도 둘레 0°를 기준으로 북쪽과 남쪽에 각각 90°의 위도선이 있으며, 이 위도선은 지구의 적도 둘레 0°와 평행합니다. 규칙에 따라 북위도선은 데카르트 평면에 투영할 때 "\$1"(양수) y축과 교차하고, 남위도선은 데카르트 평면에 투영할 때 "-"(음수) y축과 교차합니다. 경도선과 위도선이 교차하여 형성된 구형 격자는 직교 평면에 투영된 격자로 변환되며, 직교 평면의 표준 양수 및 음수 x 좌표와 양수 및 음수 y 좌표로 변환됩니다.

ST\$1GeoSquare의 목적은 동일한 코드 값으로 가까운 점을 태그하거나 표시하는 것입니다. 동일한 지오스퀘어에 있는 포인트는 동일한 코드 값을 받습니다. 지오스퀘어는 지리적 좌표(위도 및 경도)를 정수로 인코딩하는 데 사용됩니다. 더 큰 리전은 다양한 해상도로 맵에 영역을 묘사하기 위해 그리드로 나뉩니다. 지오스퀘어는 공간 인덱싱, 공간 비닝, 근접 검색, 위치 검색, 고유한 장소 식별자 생성에 사용할 수 있습니다. [ST\$1GeoHash](ST_GeoHash-function.md) 함수는 리전을 그리드로 나누는 유사한 프로세스를 따르지만 인코딩이 다릅니다.

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

```
ST_GeoSquare(geom)
```

```
ST_GeoSquare(geom, max_depth)
```

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

 *geom*   
데이터 형식 `GEOMETRY`의 POINT 값 또는 POINT 하위 유형으로 평가되는 표현식입니다. 점의 x 좌표(경도)는 `-180` - `180` 범위 내에 있어야 합니다. 점의 y 좌표(위도)는 `-90` - `90` 범위 내에 있어야 합니다.  

 *max\$1depth*   
 데이터 형식의 값입니다`INTEGER` 점을 포함하는 도메인이 재귀적으로 세분되는 최대 횟수입니다. 값은 1 \$1 32 사이의 정수여야 합니다. 기본값은 32입니다. 세분화의 실제 최종 개수가 지정된 max\$1depth보다 작거나 같아야 합니다.**

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

`BIGINT`

이 함수는 입력 지점이 위치한 최종 지오스퀘어를 식별하는 고유 값을 반환합니다.

입력 geom이** 점이 아닌 경우 함수는 오류를 반환합니다.

입력 점이 비어 있는 경우 반환 값은 [ST\$1GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md) 함수에 대한 유효한 입력이 아닙니다. 빈 점으로 ST\$1GeoSquare를 호출하지 않도록 하려면 [ST\$1IsEmpty](ST_IsEmpty-function.md) 함수를 사용하세요.

입력 점이 범위 내에 있지 않으면 함수는 오류를 반환합니다.

입력 **max\$1depth가 범위를 벗어나면 함수는 오류를 반환합니다.

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

다음 SQL은 입력 점에서 지오스퀘어를 반환합니다.

```
SELECT ST_GeoSquare(ST_Point(13.5, 52.5));
```

```
  st_geosquare
-----------------------
 -4410772491521635895
```

다음 SQL은 입력 점에서 최대 깊이가 `10`인 지오스퀘어를 반환합니다.

```
SELECT ST_GeoSquare(ST_Point(13.5, 52.5), 10);
```

```
 st_geosquare
--------------
 797852
```