

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

*ST\$1 unterteilt die Domäne ([-180, 180], [-90, 90]) GeoSquare rekursiv bis zu einer bestimmten Tiefe in gleich große quadratische Bereiche, sogenannte Geosquares.* Die Unterteilung basiert auf der Position eines angegebenen Punkts. Eines der GeoSquares, das den Punkt enthält, wird bei jedem Schritt unterteilt, bis die maximale Tiefe erreicht ist. Die Auswahl dieses GeoSquares ist stabil, das heißt, das Funktionsergebnis hängt nur von den Eingabeargumenten ab. Die Funktion gibt einen eindeutigen Wert zurück, der das endgültige GeoSquare identifiziert, in dem sich der Punkt befindet.

ST\$1 GeoSquare akzeptiert einen PUNKT, wobei die X-Koordinate den Längengrad und die Y-Koordinate den Breitengrad darstellt. Der Längen- und der Breitengrad sind auf [-180, 180] bzw. [-90, 90] begrenzt. Die Ausgabe von ST\$1 GeoSquare kann als Eingabe für die [ST\$1 GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md) Funktion verwendet werden.

Der Bogen des äquatorialen Umfangs der Erde beträgt 360° und ist in zwei Hemisphären (Ost- und Westhalbkugel) unterteilt, von denen jede vom 0°-Meridian aus 180°-Längslinien (Meridiane) aufweist. Konventionell sind die östlichen Längengrade „\$1“-Koordinaten (positiv), wenn sie auf der kartesischen Ebene auf eine X-Achse projiziert werden, und die westlichen Längengrade sind „-“-Koordinaten (negativ), wenn sie auf der kartesischen Ebene auf eine X-Achse projiziert werden. Es gibt 90°-Breitengrade nördlich und südlich des 0°-Äquatorialumfangs der Erde, die jeweils parallel zum 0°-Äquatorumfang der Erde verlaufen. Konventionell kreuzen die nördlichen Breitengrade die (positive) „\$1“-Y-Achse, wenn sie auf die kartesische Ebene projiziert werden, und die südlichen Breitengrade kreuzen die (negative) „-“-Y-Achse, wenn sie auf die kartesische Ebene projiziert werden. Das Kugelraster, das durch die Kreuzung von Längs- und Breitengraden entsteht, wird in ein auf die kartesische Ebene projiziertes Raster mit positiven und negativen X-Koordinaten sowie positiven und negativen Y-Koordinaten auf der kartesischen Ebene umgewandelt.

Der Zweck von ST\$1 besteht GeoSquare darin, nahe gelegene Punkte mit gleichen Codewerten zu kennzeichnen oder zu markieren. Punkte, die sich auf demselben GeoSquare befinden, erhalten den gleichen Codewert. Ein GeoSquare wird verwendet, um geografische Koordinaten (Breitengrad und Längengrad) in eine Ganzzahl zu codieren. Eine größere Region wird in Raster unterteilt, um ein Gebiet auf einer Karte mit unterschiedlichen Auflösungen abzugrenzen. Ein GeoSquare kann für die räumliche Indexierung, die räumliche Aufteilung, die Umkreissuche, Standortsuche und die Erstellung eindeutiger Ortskennungen verwendet werden. Die Funktion [ST\$1 GeoHash](ST_GeoHash-function.md) folgt einem ähnlichen Prozess der Aufteilung einer Region in Raster, hat jedoch eine andere Codierung.

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

```
ST_GeoSquare(geom)
```

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

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

 *geom*   
Ein PUNKT-Wert vom Datentyp `GEOMETRY` oder ein Ausdruck, der zu einem PUNKT-Untertyp ausgewertet wird. Die X-Koordinate (Längengrad) des Punkts muss innerhalb dieses Bereichs liegen: `-180`-`180`. Die Y-Koordinate (Breitengrad) des Punkts muss innerhalb dieses Bereichs liegen: `-90`-`90`. 

 *max\$1depth*   
Ein Wert vom Datentyp `INTEGER`. Gibt an, wie oft die Domäne, die den Punkt enthält, maximal rekursiv unterteilt wird. Der Wert muss eine Ganzzahl zwischen 1 und 32 sein. Der Standardwert ist 32. Die tatsächliche endgültige Anzahl der Unterteilungen ist kleiner oder gleich des festgelegten Werts für *max\$1depth*. 

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

`BIGINT`

Die Funktion gibt einen eindeutigen Wert zurück, der das endgültige GeoSquare identifiziert, in dem sich der Eingabepunkt befindet. 

Wenn die Eingabe*geometrie* kein Punkt ist, gibt die Funktion einen Fehler zurück. 

Wenn der Eingabepunkt leer ist, ist der Rückgabewert keine gültige Eingabe für die [ST\$1 GeomFromGeoSquare](ST_GeomFromGeoSquare-function.md)-Funktion. Verwenden Sie die [ST\$1 IsEmpty](ST_IsEmpty-function.md) Funktion, um Aufrufe von ST\$1 GeoSquare mit einem leeren Punkt zu verhindern. 

Wenn der Eingabepunkt nicht innerhalb des zulässigen Bereichs liegt, gibt die Funktion einen Fehler zurück. 

Wenn die Eingabe *max\$1depth* außerhalb des zulässigen Bereichs liegt, gibt die Funktion einen Fehler zurück. 

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

Die folgende SQL-Anweisung gibt ein GeoSquare aus einem Eingabepunkt zurück. 

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

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

Die folgende SQL-Anweisung gibt ein GeoSquare aus einem Eingabepunkt mit einer maximalen Tiefe von `10` zurück. 

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

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