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 Geospatial-Datentypen
Ab den Versionen 3.5.0 und 4.1.0 bietet Babelfish Unterstützung für die folgenden zwei räumlichen Datentypen:
-
Geometrischer Datentyp — Dieser Datentyp ist für die Speicherung planarer oder euklidischer (flacher Erdboden) Daten vorgesehen.
-
Geografischer Datentyp — Dieser Datentyp ist für die Speicherung ellipsoidförmiger oder erdnaher Daten wie GPS-Längen- und Breitengradkoordinaten vorgesehen.
Diese Datentypen ermöglichen die Speicherung und Bearbeitung von Geodaten, allerdings mit Einschränkungen.
Die Geodatentypen in Babelfish verstehen
Geospatiale Datentypen werden in verschiedenen Datenbankobjekten wie Ansichten, Prozeduren und Tabellen unterstützt.
-
Unterstützt den 2D-Punktdatentyp zum Speichern von Ortsdaten 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 Geospatial-Funktion nutzen.
Funktionen des Datentyps „Geometrie“, die in Babelfish unterstützt werden
ST GeomFromText (
geometry_tagged_text
, SRID) — Erzeugt eine Geometrieinstanz unter Verwendung der WKT-Darstellung (Well-known Text).ST PointFromText (
point_tagged_text
, SRID) — Erzeugt eine Punktinstanz mithilfe der WKT-Darstellung.-
Point (X, Y, SRID) — Erzeugt eine Punktinstanz unter Verwendung von Gleitkommawerten der X- und Y-Koordinaten.
-
.ST AsText () <geometry_instance>— Extrahiert die WKT-Darstellung aus einer Geometrieinstanz.
-
.stDistance (other_geometry) <geometry_instance>— Berechnet den Abstand zwischen zwei Geometrieinstanzen.
-
.STX — Extrahiert die X-Koordinate <geometry_instance>(Längengrad) für die Geometrieinstanz.
-
.STY <geometry_instance>— Extrahiert die Y-Koordinate (Breitengrad) für die Geometrieinstanz.
Funktionen des Datentyps „Geografie“, die in Babelfish unterstützt werden
-
ST GeomFromText (
geography_tagged_text
, SRID) — Erzeugt eine geografische Instanz mithilfe der WKT-Darstellung. -
ST PointFromText (
point_tagged_text
, SRID) — Erzeugt eine Punktinstanz mithilfe der WKT-Darstellung. -
Point (Lat, Long, SRID) — Erzeugt eine Punktinstanz unter Verwendung von Gleitkommawerten für Breitengrad und Längengrad.
-
.ST AsText () <geography_instance>— Extrahiert die WKT-Darstellung aus der Geography-Instanz.
-
.stDistance (other_geography) <geography_instance>— Berechnet die Entfernung zwischen zwei Geography-Instanzen.
-
.Lat <geography_instance>— Extrahiert den Latitude-Wert für die Geography-Instanz.
-
.Long <geography_instance>— Extrahiert den Längengradwert für die Geography-Instanz.
Einschränkungen in Babelfish für Geodatentypen
-
Derzeit unterstützt Babelfish keine erweiterten Funktionen wie Z-M-Flags für Punktinstanzen von Geodatentypen.
-
Andere Geometrietypen als Punktinstanzen werden derzeit nicht unterstützt:
LineString
CircularString
CompoundCurve
Polygon
CurvePolygon
MultiPoint
MultiLineString
MultiPolygon
GeometryCollection
Derzeit wird die räumliche Indizierung für Geodatentypen nicht unterstützt.
Derzeit werden nur die aufgelisteten Funktionen für diese Datentypen unterstützt. Weitere Informationen finden Sie unter Funktionen des Datentyps „Geometrie“, die in Babelfish unterstützt werden und Funktionen des Datentyps „Geografie“, die in Babelfish unterstützt werden.
Die Ausgabe der STDistance-Funktion für Geographiedaten 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 Geospatial-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ät führen und aufgrund der begrenzten Unterstützung möglicherweise zu unerwartetem Verhalten führen.
In Babelfish werden Geospatial-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 Geospatial-Funktionen. Wenn Sie bereits Datenbankobjekte mit denselben Namen haben, verwenden Sie diese
sp_rename
, um sie umzubenennen.