Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Babelfish supporta i tipi di dati geospaziali
A partire dalle versioni 3.5.0 e 4.1.0, Babelfish include il supporto per i seguenti due tipi di dati spaziali:
-
Tipo di dati geometrici: questo tipo di dati è destinato alla memorizzazione di dati planari o euclidei (terra piatta).
-
Tipo di dati geografici: questo tipo di dati è destinato alla memorizzazione di dati ellissoidali o terra rotonda, come le coordinate GPS di latitudine e longitudine.
Questi tipi di dati consentono l’archiviazione e la manipolazione di dati spaziali, ma con limitazioni.
Informazioni sui tipi di dati geospaziali in Babelfish
I tipi di dati geospaziali sono supportati in vari oggetti di database come viste, procedure e tabelle.
-
Supportano il tipo punto dati 2-D per memorizzare i dati sulla posizione come punti definiti da latitudine, longitudine e un SRID (Spatial Reference System Identifier) valido.
-
Le applicazioni che si connettono a Babelfish tramite driver come JDBC, ODBC, DOTNET e PYTHON possono utilizzare questa funzionalità geospaziale.
Funzioni dei tipi di dati geometrici supportate in Babelfish
STGeomFromText (
geometry_tagged_text, SRID): crea un’istanza di dati geometrici utilizzando la rappresentazione Well-Known Text (WKT).STPointFromText (
point_tagged_text, SRID ): crea un’istanza di punti dati utilizzando la rappresentazione WKT.-
Point (X, Y, SRID): crea un’istanza di punti dati utilizzando valori in virgola mobile delle coordinate x e y.
-
<geometry_instance>.STAsText ( ): estrae la rappresentazione WKT dall’istanza di dati geometrici.
-
<geometry_instance>.STDistance (other_geometry): calcola la distanza tra due istanze di dati geometrici.
-
<geometry_instance>.STX: estrae la coordinata X (longitudine) per l’istanza di dati geometrici.
-
<geometry_instance>.STY: estrae la coordinata Y (latitudine) per l’istanza di dati geometrici.
Funzioni dei tipi di dati geografici supportate in Babelfish
-
STGeomFromText (
geography_tagged_text, SRID ): crea un’istanza di dati geografici utilizzando la rappresentazione WKT. -
STPointFromText (
point_tagged_text, SRID ): crea un’istanza di punti dati utilizzando la rappresentazione WKT. -
Point (Lat, Long, SRID): crea un’istanza di punti dati utilizzando i valori in virgola mobile di latitudine e longitudine.
-
<geography_instance>.STAsText ( ): estrae la rappresentazione WKT dall’istanza di dati geografici.
-
<geography_instance>.STDistance (other_geography): calcola la distanza tra due istanze di dati geografici.
-
<geography_instance>.Lat: estrae il valore di latitudine per l’istanza di dati geografici.
-
<geography_instance>.Long: estrae il valore di longitudine per l’istanza di dati geografici.
Limitazioni per i tipi di dati geospaziali in Babelfish
-
Attualmente, Babelfish non supporta funzionalità avanzate come i flag Z-M per le istanze di punti dati dei tipi di dati geospaziali.
-
I tipi di dati geometrici diversi dall’istanza di punti dati non sono attualmente supportati:
LineString
CircularString
CompoundCurve
Poligono
CurvePolygon
MultiPoint
MultiLineString
MultiPolygon
GeometryCollection
Attualmente, l’indicizzazione spaziale non è supportata per i tipi di dati geospaziali.
Per questi tipi di dati al momento sono supportate solo le funzioni elencate. Per ulteriori informazioni, consultare Funzioni dei tipi di dati geometrici supportate in Babelfish e Funzioni dei tipi di dati geografici supportate in Babelfish.
L’output della funzione STDistance per i dati geografici potrebbe presentare variazioni di precisione minori rispetto a T-SQL. Ciò è dovuto all’implementazione di PostGIS sottostante. Per ulteriori informazioni, consulta ST_Distance
. Per prestazioni ottimali, si utilizzano i tipi di dati geospaziali incorporati, senza creare ulteriori livelli di astrazione in Babelfish.
Suggerimento
Sebbene sia possibile creare tipi di dati personalizzati, non è consigliabile crearli in aggiunta ai dati geospaziali. Ciò potrebbe introdurre complessità, che può portare a comportamenti imprevisti a causa del supporto limitato.
In Babelfish, i nomi delle funzioni geospaziali vengono utilizzati come parole chiave ed eseguono operazioni sui dati spaziali solo se utilizzate nel modo previsto.
Suggerimento
Quando si creano funzioni e procedure definite dall’utente in Babelfish, è necessario evitare di utilizzare i nomi delle funzioni geospaziali integrate. Se sono presenti oggetti di database con gli stessi nomi, utilizzare
sp_renameper rinominarli.