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
BIGINToder ein Ausdruck, der zu einemBIGINT-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 als1sein.
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))