ST_GeomFromGeoSquare - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

ST_GeomFromGeoSquare

ST_GeomFromGeoSquare gibt eine Geometrie zurück, die den Bereich abdeckt, der durch einen GeoSquare-Eingabewert dargestellt wird. Die zurückgegebene Geometrie ist immer zweidimensional. Informationen zur Berechnung eines GeoSquare-Werts finden Sie unter ST_GeoSquare.

Syntax

ST_GeomFromGeoSquare(geosquare)
ST_GeomFromGeoSquare(geosquare, max_depth)

Argumente

geosquare

Ein Wert des Datentyps BIGINT oder ein Ausdruck, der zu einem BIGINT-Typ ausgewertet wird, bei dem es sich um einen GeoSquare-Wert handelt. Dieser Wert beschreibt die Reihenfolge der Unterteilungen, die an der ursprünglichen Domain vorgenommen wurden, um das gewünschte Rechteck zu erreichen. Dieser Wert wird berechnet durch ST_GeoSquare.

max_depth

Ein Wert des Datentyps INTEGER, der die maximale Anzahl von Domain-Unterteilungen darstellt, die an der ursprünglichen Domain vorgenommen wurden. Der Wert muss gleich oder größer als 1 sein.

Rückgabetyp

GEOMETRY

Wenn geosquare nicht gültig ist, gibt die Funktion einen Fehler zurück.

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

Beispiele

Die folgende SQL-Anweisung gibt eine Geometrie aus einem GeoSquare-Wert zurück.

SELECT ST_AsText(ST_GeomFromGeoSquare(797852));
st_astext -------------------------------------------------------------------------------------------------------------------- POLYGON((13.359375 52.3828125,13.359375 52.734375,13.7109375 52.734375,13.7109375 52.3828125,13.359375 52.3828125))

Die folgende SQL-Anweisung gibt eine Geometrie aus einem GeoSquare-Wert und einer maximalen Tiefe von 3 zurück.

SELECT ST_AsText(ST_GeomFromGeoSquare(797852, 3));
st_astext -------------------------------------- POLYGON((0 45,0 90,45 90,45 45,0 45))

Die folgende SQL-Anweisung berechnet zunächst den GeoSquare-Wert für Seattle, indem die X-Koordinate als Längengrad und die Y-Koordinate als Breitengrad (-122,3; 47,6) angegeben wird. Dann gibt sie das Polygon für das GeoSquare zurück. Obwohl die Ausgabe eine zweidimensionale Geometrie ist, kann sie zur Berechnung raumbezogener Daten in Bezug auf Längen- und Breitengrad verwendet werden.

SELECT ST_AsText(ST_GeomFromGeoSquare(ST_GeoSquare(ST_Point(-122.3, 47.6))));
st_astext ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- POLYGON((-122.335167014971 47.6080129947513,-122.335167014971 47.6080130785704,-122.335166931152 47.6080130785704,-122.335166931152 47.6080129947513,-122.335167014971 47.6080129947513))