Abfrage von Geodaten in Amazon Redshift - Amazon Redshift

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 und GEOGRAPHY, die Geodaten und optional den SRID (Spatial Reference System Identifier) 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 Geodaten mit Amazon-Redshift-SQL-Funktionen abfragen. Geodaten enthalten geometrische Werte für ein Objekt.

Die GEOMETRY-Datentyp-Operationen arbeiten auf der kartesischen Ebene. Obwohl der SRID (Spatial Reference System Identifier) innerhalb des Objekts gespeichert ist, ist diese SRID lediglich eine Kennung des Koordinatensystems und spielt keine Rolle in den Algorithmen, die zur Verarbeitung des GEOMETRY-Objekte verwendet werden. 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 die SRID definiert, die auf ein geografisches räumliches Bezugssystem verweist. Standardmäßig werden GEOGRAPHY-Datentypen mit Raumbezug (SRID) 4326 erstellt, wobei sie auf das World Geodetic System (WGS) 84 verweisen. Weitere Informationen zu finden Sie SRIDs unter Räumliches Bezugssystem in Wikipedia.

Sie können die Funktion „ST_Transform“ verwenden, um die Koordinaten aus verschiedenen räumlichen Bezugssystemen zu transformieren. Nachdem Abschluss der Koordinatentransformation können Sie auch eine einfache Verteilung zwischen den beiden verwenden, solange die Eingabe GEOMETRY mit der geografischen SRID codiert wird. Diese Verteilung kopiert einfach die Koordinaten ohne weitere Transformation. Beispiel:

SELECT ST_AsEWKT(ST_GeomFromEWKT('SRID=4326;POINT(10 20)')::geography);
st_asewkt ------------------------ SRID=4326;POINT(10 20)

Um den Unterschied zwischen den Datentypen GEOMETRY und GEOGRAPHY besser zu verstehen, sollten Sie die Entfernung zwischen dem Flughafen Berlin (BER) und dem Flughafen San Francisco (SFO) unter Verwendung des World Geodetic System (WGS) 84 berechnen. Verwendung des Datentyps GEOGRAPHY, das Ergebnis wird in Metern angegeben. Bei Verwendung des Datentyps GEOMETRY mit SRID 4326 wird das Ergebnis in Grad angegeben, die nicht in Meter umgewandelt werden können, da die Entfernung von einem Grad davon abhängt, wo sich die Geometrien auf der Erde 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 in Wikipedia.

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 und Sphärisches Koordinatensystem in Wikipedia.

Die Datentypen GEOMETRY und GEOGRAPHY haben die folgenden Subtypen:

  • POINT

  • LINESTRING

  • POLYGON

  • MULTIPOINT

  • MULTILINESTRING

  • MULTIPOLYGON

  • GEOMETRYCOLLECTION

Es gibt Amazon-Redshift-SQL-Funktionen, die die folgenden Darstellungen von Geometriedaten unterstützen:

  • GeoJSON

  • WKT (Well-known text)

  • EWKT (Extended well-known text)

  • WKB-Darstellung (Well-known binary)

  • EWKB (Extended well-known binary)

Sie können zwischen den Datentypen GEOMETRY und GEOGRAPHY umwandeln.

Die folgende SQL-Anweisung verwandelt einen Linestring vom Format GEOMETRY zu 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)

Die folgende SQL-Anweisung verwandelt einen Linestring vom Format GEOGRAPHY zu 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 zum Abfragen von Geodaten. 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.

Weitere Informationen zu SQL-Funktionen zum Abfragen von Geodaten finden Sie unter Geofunktionen.

Weitere Informationen zum Laden von Geodaten finden Sie unter Laden einer Spalte des Datentyps GEOMETRY oder GEOGRAPHY.