

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# ST\$1 GeoSquare
<a name="ST_GeoSquare-function"></a>

*ST\$1 GeoSquare secara rekursif membagi domain ([-180, 180], [-90, 90]) menjadi wilayah kuadrat yang sama yang disebut geosquares ke kedalaman tertentu.* Subdivisi didasarkan pada lokasi titik yang disediakan. Salah satu geosquares yang berisi titik dibagi lagi pada setiap langkah hingga mencapai kedalaman maksimum. Pemilihan geosquare ini stabil, yaitu hasil fungsi hanya bergantung pada argumen masukan. Fungsi mengembalikan nilai unik yang mengidentifikasi geosquare akhir di mana titik berada.

ST\$1 GeoSquare menerima TITIK di mana koordinat x mewakili garis bujur, dan koordinat y mewakili garis lintang. Bujur dan lintang terbatas pada [-180, 180] dan [-90, 90], masing-masing. Output ST\$1 GeoSquare dapat digunakan sebagai input ke [ST\$1 GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md) fungsi.

Ada 360° di sekitar busur keliling khatulistiwa Bumi yang dibagi menjadi dua belahan (Timur dan Barat), masing-masing dengan 180° garis longitudinal (Meridian) dari Meridian 0°. Menurut konvensi, garis bujur timur adalah koordinat “\$1” (positif) ketika diproyeksikan ke sumbu x pada bidang Cartesian dan garis bujur barat adalah koordinat “-” (negatif) ketika diproyeksikan ke sumbu x pada bidang Cartesian. Ada 90° garis lintang utara dan selatan keliling khatulistiwa 0° Bumi, masing-masing paralel dengan keliling ekuator 0° Bumi. Menurut konvensi, garis lintang utara memotong sumbu y “\$1” (positif) ketika diproyeksikan ke bidang Cartesian, dan garis lintang selatan memotong sumbu y “-” (negatif) ketika diproyeksikan ke bidang Cartesian. Kisi bola yang dibentuk oleh persimpangan garis longitudinal dan garis lintang diubah menjadi kisi yang diproyeksikan ke bidang Cartesian dengan koordinat x positif dan negatif standar dan koordinat y positif dan negatif pada bidang Cartesian.

Tujuan ST\$1 GeoSquare adalah untuk menandai atau menandai titik tutup dengan nilai kode yang sama. Poin yang terletak di geosquare yang sama menerima nilai kode yang sama. Geosquare digunakan untuk mengkodekan koordinat geografis (lintang dan bujur) menjadi bilangan bulat. Wilayah yang lebih besar dibagi menjadi grid untuk menggambarkan area pada peta dengan resolusi yang bervariasi. Geosquare dapat digunakan untuk pengindeksan spasial, binning spasial, pencarian kedekatan, pencarian lokasi, dan membuat pengidentifikasi tempat yang unik. [ST\$1 GeoHash](ST_GeoHash-function.md)Fungsi ini mengikuti proses serupa membagi wilayah menjadi grid, tetapi memiliki pengkodean yang berbeda.

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

```
ST_GeoSquare(geom)
```

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

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

 *geom*   
Nilai POINT dari tipe data `GEOMETRY` atau ekspresi yang mengevaluasi subtipe POINT. Koordinat x (bujur) titik harus berada dalam kisaran: `-180` —`180`. Koordinat y (lintang) titik harus berada dalam kisaran: `-90` —`90`. 

 *max\$1depth*   
Nilai tipe data`INTEGER`. Jumlah maksimum kali domain yang berisi titik dibagi lagi secara rekursif. Nilai harus berupa bilangan bulat dari 1 — 32. Default-nya adalah 32. *Jumlah akhir sebenarnya dari subdivisi kurang dari atau sama dengan max\$1depth yang ditentukan.* 

## Jenis pengembalian
<a name="ST_GeoSquare-function-return"></a>

`BIGINT`

Fungsi mengembalikan nilai unik yang mengidentifikasi geosquare akhir di mana titik input berada. 

Jika input *geom* bukan titik, fungsi mengembalikan kesalahan. 

Jika titik input kosong, nilai yang dikembalikan bukan input yang valid ke [ST\$1 GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md) fungsi. Gunakan [ST\$1 IsEmpty](ST_IsEmpty-function.md) fungsi untuk mencegah panggilan ke ST\$1 GeoSquare dengan titik kosong. 

Jika titik input tidak dalam jangkauan, fungsi mengembalikan kesalahan. 

Jika input *max\$1depth* berada di luar jangkauan, fungsi mengembalikan kesalahan. 

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

SQL berikut mengembalikan geosquare dari titik input. 

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

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

SQL berikut mengembalikan geosquare dari titik input dengan kedalaman maksimum. `10` 

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

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