Babelfish unterstützt raumbezogene Datentypen - Amazon Aurora

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.

Babelfish unterstützt raumbezogene Datentypen

Ab den Versionen 3.5.0 und 4.1.0 bietet Babelfish Unterstützung für die folgenden zwei räumlichen Datentypen:

  • Geometrie-Datentyp – Dieser Datentyp ist für die Speicherung planarer oder euklidischer (flachbezogener) Daten vorgesehen.

  • Geografie-Datentyp – Dieser Datentyp ist für die Speicherung ellipsoidaler oder kugelbezogener Daten wie GPS-Längen- und Breitengradkoordinaten vorgesehen.

Diese Datentypen ermöglichen die Speicherung und Bearbeitung von Geodaten, allerdings mit Einschränkungen.

Verstehen der raumbezogenen Datentypen in Babelfish

  • Raumbezogene Datentypen werden in verschiedenen Datenbankobjekten wie Ansichten, Prozeduren und Tabellen unterstützt.

  • Unterstützt den 2D-Punktdatentyp zum Speichern von Standortdaten als Punkte, die durch Breitengrad, Längengrad und einen gültigen Spatial Reference System Identifier (SRID) definiert sind

  • Anwendungen, die über Treiber wie JDBC, ODBC, DOTNET und PYTHON eine Verbindung zu Babelfish herstellen, können diese Geodatenfunktion nutzen.

Unterstützte Funktionen für Geometriedatentypen in Babelfish

  • STGeomFromText (geometry_tagged_text, SRID) – Erzeugt eine Geometrie-Instance unter Verwendung der bekannten Textdarstellung (Well-Known Text, WKT)

  • STPointFromText (point_tagged_text, SRID) – Erzeugt eine Punkt-Instance mithilfe der WKT-Darstellung

  • Point (X, Y, SRID) – Erzeugt eine Punkt-Instance unter Verwendung von Gleitkommawerten der X- und Y-Koordinaten

  • <geometry_instance>.STAsText ( ) – Extrahiert die WKT-Darstellung aus einer Geometrie-Instance

  • <geometry_instance>.STDistance (other_geometry) – Berechnet die Entfernung zwischen zwei Geometrie-Instances

  • <geometry_instance>.STX – Extrahiert die X-Koordinate (Längengrad) für die Geometrie-Instance

  • <geometry_instance>.STY – Extrahiert die Y-Koordinate (Breitengrad) für die Geometrie-Instance

Unterstützte Funktionen für Geografie-Datentypen in Babelfish

  • STGeomFromText (geography_tagged_text, SRID) – Erzeugt eine Geografie-Instance unter Verwendung der WKT-Darstellung

  • STPointFromText (point_tagged_text, SRID) – Erzeugt eine Punkt-Instance mithilfe der WKT-Darstellung

  • Point (Lat, Long, SRID) – Erzeugt eine Punkt-Instance unter Verwendung von Gleitkommawerten für Breitengrad und Längengrad

  • <geography_instance>.STAsText ( ) – Extrahiert die WKT-Darstellung aus einer Geografie-Instance

  • <geography_instance>.STDistance (other_geography) – Berechnet die Entfernung zwischen zwei Geografie-Instances

  • <geography_instance>.Lat – Extrahiert den Wert des Breitengrads für die Geografie-Instance

  • <geography_instance>.Long – Extrahiert den Wert des Längengrads für die Geografie-Instance

Einschränkungen in Babelfish für raumbezogene Datentypen

  • Derzeit unterstützt Babelfish keine erweiterten Funktionen wie Z-M-Flags für Punkt-Instances von raumbezogenen Datentypen.

  • Andere Geometrietypen als Punkt-Instances werden derzeit nicht unterstützt:

    • LineString

    • CircularString

    • CompoundCurve

    • Polygon

    • CurvePolygon

    • MultiPoint

    • MultiLineString

    • MultiPolygon

    • GeometryCollection

  • Derzeit wird die räumliche Indizierung für raumbezogene Datentypen nicht unterstützt.

  • Derzeit werden nur die aufgelisteten Funktionen für diese Datentypen unterstützt. Weitere Informationen erhalten Sie unter Unterstützte Funktionen für Geometriedatentypen in Babelfish und Unterstützte Funktionen für Geografie-Datentypen in Babelfish.

  • Die Ausgabe der STDistance-Funktion für geografische Daten kann im Vergleich zu T-SQL geringfügige Genauigkeitsabweichungen aufweisen. Dies ist auf die zugrunde liegende PostGIS-Implementierung zurückzuführen. Weitere Informationen finden Sie unter ST_Distance.

  • Für eine optimale Leistung sollten Sie integrierte raumbezogene Datentypen verwenden, ohne zusätzliche Abstraktionsebenen in Babelfish zu erstellen.

    Tipp

    Sie können zwar benutzerdefinierte Datentypen erstellen, es wird jedoch nicht empfohlen, diese zusätzlich zu Geodaten zu erstellen. Dies könnte zu Komplexitäten führen und aufgrund der eingeschränkten Unterstützung möglicherweise unerwartetes Verhalten verursachen.

  • In Babelfish werden Geodaten-Funktionsnamen als Schlüsselwörter verwendet und führen räumliche Operationen nur dann durch, wenn sie in der vorgesehenen Weise verwendet werden.

    Tipp

    Vermeiden Sie bei der Erstellung benutzerdefinierter Funktionen und Prozeduren in Babelfish die Verwendung derselben Namen wie bei integrierten Geodatenfunktionen. Wenn Sie bereits Datenbankobjekte mit denselben Namen haben, verwenden Sie sp_rename, um sie umzubenennen.