Babelfish supporta i tipi di dati geospaziali - Amazon Aurora

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_rename per rinominarli.