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.
Abfrage von Geodaten in Amazon Redshift
Spatial data (Geodaten) beschreibt die Position und Form einer Geometrie in einem definierten Raum (einem räumlichen Bezugssystem). Amazon Redshift unterstützt Geodaten mit den Datentypen GEOMETRY
undGEOGRAPHY
, die räumliche Daten und optional die Kennung des räumlichen Bezugssystems (SRID) der Daten enthalten.
Geodaten enthalten geometrische Daten, die zur Darstellung geografischer Merkmale verwendet werden können. Zu den Beispielen für diese Art von Daten zählen Wetterberichte, Wegbeschreibungen, Tweets mit geografischen Positionen, Filialstandorte und Flugrouten. Geodaten spielen eine wichtige Rolle in der Geschäftsanalyse, im Berichtswesen und in der Prognose.
Sie können räumliche Daten mit Amazon Redshift SQL Redshift-Funktionen abfragen. Geodaten enthalten geometrische Werte für ein Objekt.
Die GEOMETRY
-Datentyp-Operationen arbeiten auf der kartesischen Ebene. Die Kennung des räumlichen Bezugssystems (SRID) wird zwar innerhalb des Objekts gespeichert, SRID ist jedoch lediglich eine Kennung des Koordinatensystems und spielt in den Algorithmen, die zur Verarbeitung der GEOMETRY
Objekte verwendet werden, keine Rolle. Umgekehrt behandeln die Operationen für den GEOGRAPHY
-Datentyp die Koordinaten in Objekten als sphärische Koordinaten auf einem Sphäroid. Dieses Sphäroid wird durch den definiertSRID, der auf ein geografisches räumliches Bezugssystem verweist. Standardmäßig werden GEOGRAPHY
Datentypen mit einem Raumbezug (SRID) 4326 erstellt, der auf das World Geodetic System () 84 verweist. WGS Weitere Informationen zu SRIDs finden Sie unter Räumliches Bezugssystem
Sie können die Funktion „ST_Transform“ verwenden, um die Koordinaten aus verschiedenen räumlichen Bezugssystemen zu transformieren. Nachdem die Transformation der Koordinaten abgeschlossen ist, können Sie auch eine einfache Umwandlung zwischen den beiden verwenden, sofern die Eingabe mit der geographischen SRID Kodierung GEOMETRY
erfolgt. Diese Verteilung kopiert einfach die Koordinaten ohne weitere Transformation. Beispielsweise:
SELECT ST_AsEWKT(ST_GeomFromEWKT('SRID=4326;POINT(10 20)')::geography);
st_asewkt
------------------------
SRID=4326;POINT(10 20)
Um den Unterschied zwischen GEOMETRY
den beiden GEOGRAPHY
Datentypen besser zu verstehen, sollten Sie erwägen, die Entfernung zwischen dem Flughafen Berlin (BER) und dem Flughafen San Francisco (SFO) mithilfe des World Geodetic System (WGS) 84 zu berechnen. Verwendung des Datentyps GEOGRAPHY
, das Ergebnis wird in Metern angegeben. Wenn Sie den GEOMETRY
Datentyp SRID 4326 verwenden, wird das Ergebnis in Grad angegeben, was nicht in Meter umgerechnet werden kann, da die Entfernung von einem Grad davon abhängt, wo sich die Geometrien auf dem Globus befinden.
Berechnungen zum Datentyp GEOGRAPHY
werden hauptsächlich für realistische Runderdberechnungen wie die genaue Fläche eines Landes ohne Verzerrung verwendet. Aber sie sind weitaus teurer zu berechnen. Daher kann ST_Transform die Koordinaten in ein geeignetes lokal projiziertes Koordinatensystem umwandeln und die Berechnung für den Datentyp GEOMETRY
schneller ausführen.
Mit Hilfe von Geodaten können Sie Abfragen ausführen, um Folgendes zu erreichen:
Ermitteln Sie den Abstand zwischen zwei Punkten.
Überprüfen Sie, ob ein Bereich (Polygon) ein weiteres enthält.
Überprüfen Sie, ob ein Linestring einen anderen Linestring oder ein Polygon schneidet.
Sie können den GEOMETRY
-Datentyp verwenden, um die Werte von Geodaten zu speichern. Ein GEOMETRY
-Wert in Amazon Redshift kann zweidimensionale (2D)-, dreidimensionale (3D)-, zweidimensionale Datentypen mit Maß (3DM) und vierdimensionale (4D) geometrisch primitive Datentypen definieren:
Eine zweidimensionale (2D)-Geometrie wird durch zwei kartesische Koordinaten (x, y) in einer Ebene angegeben.
Eine dreidimensionale (3DZ)-Geometrie wird durch zwei kartesische Koordinaten (x, y, z) in einer Ebene angegeben.
Eine zweidimensionale Geometrie mit Maß (3DM) wird durch drei Koordinaten (x, y, m) angegeben, wobei die ersten beiden kartesischen Koordinaten in einer Ebene und die dritte eine Messung ist.
Eine vierdimensionale Geometrie (4D) wird durch vier Koordinaten (x, y, z, m) angegeben, wobei die ersten drei kartesischen Koordinaten in einer Ebene und die vierte ein Maß ist.
Weitere Informationen zu geo-primitiven Datentypen finden Sie unter Well-known text representation of geometry
Sie können den GEOGRAPHY
-Datentyp verwenden, um die Werte von Geodaten zu speichern. Ein GEOGRAPHY
-Wert in Amazon Redshift kann zweidimensionale (2D)-, dreidimensionale (3D)-, zweidimensionale Datentypen mit Maß (3DM) und vierdimensionale (4D) geometrisch primitive Datentypen definieren:
Eine zweidimensionale Geometrie (2D) wird durch Längen- und Breitengradkoordinaten auf einem Sphäroid angegeben.
Eine dreidimensionale Geometrie (3D) wird durch Längen- und Breitengrad- sowie Höhenkoordinaten auf einem Sphäroid angegeben.
Eine zweidimensionale Geometrie mit Maß (3DM) wird durch drei Koordinaten (Längengrad, Breitengrad, Maß) angegeben, wobei die ersten beiden Winkelkoordinaten in einer Ebene liegen und die dritte eine Messung ist.
Eine vierdimensionale Geometrie (4D) wird durch vier Koordinaten (Längengrad, Breitengrad, Höhe, Maß) angegeben, wobei die ersten drei Längengrad, Breitengrad und Höhe sind und die vierte eine Messung ist.
Weitere Informationen über geografische Koordinatensysteme finden Sie unter Geographisches Koordinatensystem
Die Datentypen GEOMETRY
und GEOGRAPHY
haben die folgenden Subtypen:
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
Es gibt Amazon Redshift SQL Redshift-Funktionen, die die folgenden Darstellungen geometrischer Daten unterstützen:
Geo JSON
Bekannter Text (WKT)
Erweiterter bekannter Text (EWKT)
Bekannte binäre (WKB) Darstellung
Erweiterte bekannte Binärdatei (EWKB)
Sie können zwischen den Datentypen GEOMETRY
und GEOGRAPHY
umwandeln.
Im Folgenden wird SQL eine Linienfolge von a GEOMETRY
nach a umgewandelt. GEOGRAPHY
SELECT ST_AsEWKT(ST_GeomFromText('LINESTRING(110 40, 2 3, -10 80, -7 9)')::geography);
st_asewkt
----------------------------------------------
SRID=4326;LINESTRING(110 40,2 3,-10 80,-7 9)
Im Folgenden wird SQL eine Linienfolge von a nach a umgewandelt. GEOGRAPHY
GEOMETRY
SELECT ST_AsEWKT(ST_GeogFromText('LINESTRING(110 40, 2 3, -10 80, -7 9)')::geometry);
st_asewkt
----------------------------------------------
SRID=4326;LINESTRING(110 40,2 3,-10 80,-7 9)
Amazon Redshift bietet viele SQL Funktionen zur Abfrage räumlicher Daten. Mit Ausnahme der ST_IsValid
-Funktion, erwarten Geofunktionen, die ein GEOMETRY
-Objekt als Argument annehmen, dass das GEOMETRY
-Objekt ein gültiges Geometrieobjekt ist. Wenn das GEOMETRY
- oder GEOGRAPHY
-Objekt nicht gültig ist, ist das Verhalten der Geofunktion nicht definiert. Weitere Informationen zur Validierung finden Sie unter Geometrische Gültigkeit.
Einzelheiten zu SQL Funktionen zur Abfrage räumlicher Daten finden Sie unterGeofunktionen.
Weitere Informationen zum Laden von Geodaten finden Sie unter Eine Spalte des Datentyps oder wird GEOMETRY geladen GEOGRAPHY.