

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# ST\$1 DistanceSphere
<a name="ST_DistanceSphere-function"></a>

ST\$1 DistanceSphere gibt den Abstand zwischen zwei Punktgeometrien zurück, die auf einer Kugel liegen. 

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

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

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

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

 *geom1*   
Ein Punktwert in Grad vom Datentyp `GEOMETRY` auf einer Kugel. Die erste Koordinate des Punktes ist der Längengrad. Die zweite Koordinate des Punktes ist der Breitenwert. Für 3DZ-, 3DM- oder 4D-Geometrien werden nur die ersten beiden Koordinaten verwendet.

 *geom2*   
Ein Punktwert in Grad vom Datentyp `GEOMETRY` auf einer Kugel. Die erste Koordinate des Punktes ist der Längengrad. Die zweite Koordinate des Punktes ist der Breitenwert. Für 3DZ-, 3DM- oder 4D-Geometrien werden nur die ersten beiden Koordinaten verwendet.

 *radius*   
Der Radius einer Kugel vom Datentyp `DOUBLE PRECISION`. Wenn kein *Radius* angegeben wird, ist die Kugel standardmäßig die Erde und der Radius wird aus der WGS 84-Darstellung (World Geodetic System) des Ellipsoids berechnet. 

## Rückgabetyp
<a name="ST_DistanceSphere-function-return"></a>

`DOUBLE PRECISION` in der gleichen Einheit wie der Radius. Wenn kein Radius vorgegeben ist, wird die Entfernung in Metern angegeben.

Wenn *geom1* oder *geom2* null oder leer ist, wird null zurückgegeben. 

Wenn kein *Radius* angegeben wird, wird das Ergebnis in Metern entlang der Erdoberfläche angegeben. 

Wenn *radius* eine negative Zahl ist, wird ein Fehler zurückgegeben. 

Wenn *geom1* und *geom2* nicht den gleichen SRID-Wert (Spatial Reference System Identifier) haben, wird ein Fehler zurückgegeben. 

Wenn *geom1* oder *geom2* kein Punkt ist, wird ein Fehler zurückgegeben. 

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

Die folgende Beispiel-SQL berechnet die Entfernung in Kilometern zwischen zwei Punkten auf der Erde. 

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

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

Das folgende Beispiel SQL berechnet die Kilometerabstände zwischen drei Flughafenstandorten in Deutschland: Berlin Tegel (TXL), Munich International (MUC) und 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
```