

 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 DistanceSphere
<a name="ST_DistanceSphere-function"></a>

ST\$1 DistanceSphere mengembalikan jarak antara dua geometri titik yang terletak pada bola. 

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

```
ST_DistanceSphere(geom1, geom2)
```

```
ST_DistanceSphere(geom1, geom2, radius)
```

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

 *geom1*   
Nilai titik dalam derajat tipe data yang `GEOMETRY` terletak di bola. Koordinat pertama dari titik tersebut adalah nilai bujur. Koordinat kedua dari titik tersebut adalah nilai lintang. Untuk geometri 3DZ, 3DM, atau 4D, hanya dua koordinat pertama yang digunakan.

 *geom2*   
Nilai titik dalam derajat tipe data yang `GEOMETRY` terletak di bola. Koordinat pertama dari titik tersebut adalah nilai bujur. Koordinat kedua dari titik tersebut adalah nilai lintang. Untuk geometri 3DZ, 3DM, atau 4D, hanya dua koordinat pertama yang digunakan.

 *radius*   
Radius bola tipe data`DOUBLE PRECISION`. Jika tidak ada *radius* yang disediakan, bola default ke Bumi dan jari-jarinya dihitung dari representasi Sistem Geodetik Dunia (WGS) 84 dari ellipsoid. 

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

`DOUBLE PRECISION`dalam satuan yang sama dengan radius. Jika tidak ada radius yang disediakan, jaraknya dalam meter.

Jika *geom1* atau *geom2* adalah nol atau kosong, maka null dikembalikan. 

Jika tidak ada *radius* yang disediakan, maka hasilnya adalah dalam meter di sepanjang permukaan bumi. 

Jika *radius* adalah angka negatif, maka kesalahan dikembalikan. 

Jika *geom1* dan *geom2* tidak memiliki nilai yang sama untuk pengidentifikasi sistem referensi spasial (SRID), maka kesalahan akan dikembalikan. 

Jika *geom1* atau *geom2* bukan titik, maka kesalahan dikembalikan. 

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

Contoh SQL berikut menghitung jarak dalam kilometer antara dua titik di Bumi. 

```
SELECT ROUND(ST_DistanceSphere(ST_Point(-122, 47), ST_Point(-122.1, 47.1))/ 1000, 0);
```

```
  round
-----------
 13
```

Contoh SQL berikut menghitung jarak dalam kilometer antara tiga lokasi bandara di Jerman: Berlin Tegel (TXL), Munich International (MUC), dan Frankfurt International (FRA). 

```
WITH airports_raw(code,lon,lat) AS (
(SELECT 'MUC', 11.786111, 48.353889) UNION
(SELECT 'FRA', 8.570556, 50.033333) UNION
(SELECT 'TXL', 13.287778, 52.559722)),
airports1(code,location) AS (SELECT code, ST_Point(lon, lat) FROM airports_raw),
airports2(code,location) AS (SELECT * from airports1)
SELECT (airports1.code || ' <-> ' || airports2.code) AS airports,
round(ST_DistanceSphere(airports1.location, airports2.location) / 1000, 0) AS distance_in_km
FROM airports1, airports2 WHERE airports1.code < airports2.code ORDER BY 1;
```

```
  airports   | distance_in_km 
-------------+----------------
 FRA <-> MUC |            299
 FRA <-> TXL |            432
 MUC <-> TXL |            480
```