

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 name="babelfish-geospatial"></a>

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
<a name="babelfish-geospatial-overview"></a>
+ I tipi di dati geospaziali sono supportati in vari oggetti di database come viste, procedure e tabelle.
+ Supporta il tipo di dati puntuale per memorizzare i dati sulla posizione come punti definiti da latitudine, longitudine e un SRID (Spatial Reference System Identifier) valido. Un punto può contenere valori Z (elevazione), M (misura) e può essere vuoto.
+ Supporta il tipo di dati linestring (a partire dalla versione 5.4.0) definito da una sequenza di punti e dai segmenti di linea che li collegano e da un SRID (Spatial Reference System Identifier) valido. Una stringa di linee può contenere punti con valori Z (elevazione), M (misura) e può essere vuota.
+ 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
<a name="babelfish-geospatial-overview-geometry"></a>
+ **STGeomFromText (*geometry\$1tagged\$1text*, SRID)** — Crea un'istanza geometrica utilizzando la rappresentazione Wooden Text (WKT).
+ **STPointFromText (*point\$1tagged\$1text*, SRID)** — Crea un'istanza puntuale 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\$1instance>. STAsText ()** — Estrae la rappresentazione WKT dall'istanza geometrica.
+ **<geometry\$1instance>. STAsBinary ()** — Estrae la rappresentazione WKB dall'istanza geometrica.
+ **<geometry\$1instance>. STArea ()** — Calcola la superficie totale dell'istanza geometrica.
+ **<geometry\$1instance>. STSrid ()** — Estrae l'identificatore di riferimento spaziale (SRID) dell'istanza geometrica.
+ **<geometry\$1instance>. STDimension ()** — Recupera la dimensione spaziale dell'istanza geometrica.
+ **<geometry\$1instance>. STIsEmpty ()** — Verifica se l'istanza geometrica è vuota.
+ **<geometry\$1instance>. STIsClosed ()** — Verifica se l'istanza geometrica è chiusa.
+ **<geometry\$1instance>. STIsValid ()** — Verifica se l'istanza geometrica è valida.
+ **<geometry\$1instance>. STDistance (other\$1geometry)** — Calcola la distanza tra due istanze geometriche.
+ **<geometry\$1instance>. STEquals (other\$1geometry)** — Verifica se l'istanza geometrica rappresenta lo stesso set di punti di un'altra istanza geometrica.
+ **<geometry\$1instance>. STContains (other\$1geometry)** — Verifica se l'istanza geometrica contiene l'istanza other\$1geometry.
+ **<geometry\$1instance>. STDisjoint (other\$1geometry)** — Verifica se due istanze geometriche non hanno punti in comune.
+ **<geometry\$1instance>. STIntersects (other\$1geometry)** — Verifica se due istanze geometriche si intersecano spazialmente.
+ **<geometry\$1instance>.STX**: estrae la coordinata X (longitudine) per l’istanza di dati geometrici.
+ **<geometry\$1instance>.STY**: estrae la coordinata Y (latitudine) per l’istanza di dati geometrici.

A partire dalle versioni 4.7.0 e 5.3.0, Babelfish include il supporto per le seguenti funzioni relative ai dati spaziali:
+ **.M — Estrae la coordinata M** <geometry\$1instance>dell'istanza geometrica.
+ **.Z — Estrae** <geometry\$1instance>la coordinata Z dell'istanza geometrica.
+ **.hasM** <geometry\$1instance>— Verifica se l'istanza geometrica ha almeno un valore M.
+ **.hasZ** <geometry\$1instance>— Verifica se l'istanza geometrica ha almeno un valore Z.

A partire dalla versione 5.4.0, Babelfish include il supporto per la seguente funzione di dati spaziali:
+ **STLineFromText (*linestring\$1tagged\$1text*, SRID)** — Crea un'istanza di linestring utilizzando la rappresentazione WKT.

### Funzioni dei tipi di dati geografici supportate in Babelfish
<a name="babelfish-geospatial-overview-geography"></a>
+ **STGeomFromText (*geography\$1tagged\$1text*, SRID)** — Crea un'istanza geografica utilizzando la rappresentazione WKT.
+ **STPointFromText (*point\$1tagged\$1text*, SRID)** — Crea un'istanza puntuale 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\$1instance>. STAsText ()** — Estrae la rappresentazione WKT dall'istanza geografica.
+ **<geography\$1instance>. STAsBinary ()**: estrae la rappresentazione WKB dall'istanza geografica.
+ **<geography\$1instance>. STArea ()** — Calcola la superficie totale dell'istanza geografica.
+ **<geography\$1instance>. STSrid ()** — Estrae l'identificatore di riferimento spaziale (SRID) dell'istanza geografica.
+ **<geography\$1instance>. STDimension ()** — Recupera la dimensione spaziale dell'istanza geografica.
+ **<geography\$1instance>. STIsEmpty ()**: verifica se l'istanza geografica è vuota.
+ **<geography\$1instance>. STIsChiusa ()**: verifica se l'istanza geografica è chiusa.
+ **<geography\$1instance>. STIsValid ()**: verifica se l'istanza geografica è valida.
+ **<geography\$1instance>. STDistance (other\$1geography)** — Calcola la distanza tra due istanze geografiche.
+ **<geography\$1instance>. STEquals (other\$1geography)** — Verifica se l'istanza geografica rappresenta lo stesso set di punti di un'altra istanza geografica.
+ **<geography\$1instance>. STContains (other\$1geography)** — Verifica se l'istanza geography contiene l'istanza other\$1geography.
+ **<geography\$1instance>. STDisjoint (other\$1geography)** — Verifica se due istanze geografiche non hanno punti in comune.
+ **<geography\$1instance>. STIntersects (other\$1geography)** — Verifica se due istanze geografiche si intersecano spazialmente.
+ **<geography\$1instance>.Lat**: estrae il valore di latitudine per l’istanza di dati geografici.
+ **<geography\$1instance>.Long**: estrae il valore di longitudine per l’istanza di dati geografici.

A partire dalle versioni 4.7.0 e 5.3.0, Babelfish include il supporto per le seguenti funzioni relative ai dati spaziali:
+ **.M — Estrae la coordinata M** <geography\$1instance>dell'istanza geografica.
+ **.Z — Estrae** <geography\$1instance>la coordinata Z dell'istanza geografica.
+ **.hasM** <geography\$1instance>— Verifica se l'istanza geografica ha almeno un valore M.
+ **.hasZ**<geography\$1instance>: verifica se l'istanza geografica ha almeno un valore Z.

A partire dalla versione 5.4.0, Babelfish include il supporto per la seguente funzione di dati spaziali:
+ **STLineFromText (*linestring\$1tagged\$1text*, SRID)** — Crea un'istanza di linestring utilizzando la rappresentazione WKT.

## Limitazioni per i tipi di dati geospaziali in Babelfish
<a name="babelfish-geospatial-limitations"></a>
+ I tipi di geometria e geografia diversi dalle istanze point e linestring non sono attualmente supportati:
  + 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](#babelfish-geospatial-overview-geometry) e [Funzioni dei tipi di dati geografici supportate in Babelfish](#babelfish-geospatial-overview-geography).
+ STDistance l'output della funzione 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\$1Distance](https://postgis.net/docs/ST_Distance.html).
+ STIsL'output di una funzione valido per i dati di geometria e geografia potrebbe presentare alcune deviazioni rispetto a T-SQL. Per questo motivo, in alcuni casi le funzioni - STDistance STContains,, STInstersects, STDisjoint, STDimension, STArea, STEquals possono anche differire da T-SQL (restituiscono un output anziché generare errori). Ciò è dovuto all’implementazione di PostGIS sottostante. [Per ulteriori informazioni, vedere ST\$1. IsValid](https://postgis.net/docs/ST_IsValid.html)
+ Per prestazioni ottimali, si utilizzano i tipi di dati geospaziali incorporati, senza creare ulteriori livelli di astrazione in Babelfish.
+ In Babelfish, i nomi delle funzioni geospaziali vengono utilizzati come parole chiave ed eseguono operazioni sui dati spaziali solo se utilizzate nel modo previsto.