Babelfish prend en charge les types de données géospatiales - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Babelfish prend en charge les types de données géospatiales

À partir des versions 3.5.0 et 4.1.0, Babelfish prend en charge les deux types de données spatiales suivants :

  • Type de données géométriques : ce type de données est destiné au stockage de données planaires ou euclidiennes (monde en deux dimensions).

  • Type de données géographiques : ce type de données est destiné au stockage de données ellipsoïdales ou terrestres, telles que les coordonnées GPS de latitude et de longitude.

Ces types de données permettent le stockage et la manipulation de données spatiales, mais avec des limites.

Comprendre les types de données géospatiales dans Babelfish

  • Les types de données géospatiales sont pris en charge dans divers objets de base de données tels que les vues, les procédures et les tables.

  • Prend en charge le type de données ponctuelles 2D pour stocker les données de localisation sous forme de points définis par la latitude, la longitude et un identifiant de système de référence spatiale (SRID) valide.

  • Les applications qui se connectent à Babelfish via des pilotes tels que JDBC, ODBC, DOTNET et PYTHON peuvent utiliser cette fonctionnalité géospatiale.

Fonctions des types de données géométriques prises en charge dans Babelfish

  • STGeomFromText (geometry_tagged_text, SRID) : crée une instance de géométrie à l’aide d’une représentation WKT (Known Text).

  • STPointFromText (point_tagged_text, SRID) : crée une instance de point à l’aide d’une représentation WKT.

  • Point (X, Y, SRID) : crée une instance de point en utilisant les valeurs flottantes des coordonnées x et y.

  • <geometry_instance>.STAsText ( ) : extrait la représentation WKT d’une instance de géométrie.

  • <geometry_instance>.STDistance (other_geometry) : calcule la distance entre deux instances de géométrie.

  • <geometry_instance>.STX : extrait la coordonnée X (longitude) de l’instance de géométrie.

  • <geometry_instance>.STY : extrait la coordonnée Y (latitude) de l’instance de géométrie.

Fonctions de type de données géographiques prises en charge dans Babelfish

  • STGeomFromText (geography_tagged_text, SRID ) : crée une instance de géographie à l’aide d’une représentation WKT.

  • STPointFromText (point_tagged_text, SRID) : crée une instance de point à l’aide d’une représentation WKT.

  • Point (Lat, Long, SRID) : crée une instance de point en utilisant des valeurs flottantes de latitude et de longitude.

  • <geography_instance>.STAsText ( ) : extrait la représentation WKT d’une instance de géographie.

  • <geography_instance>.STDistance (other_geography) : calcule la distance entre deux instances de géographie.

  • <geography_instance>.Lat : extrait la valeur de latitude pour l’instance de géographie.

  • <geography_instance>.Long : extrait la valeur de longitude pour l’instance de géographie.

Limites de Babelfish pour les types de données géospatiales

  • À l’heure actuelle, Babelfish ne prend pas en charge des fonctionnalités plus avancées telles que les indicateurs Z-M pour les instances de point correspondant aux types de données géospatiales.

  • Les types de géométrie autres que les instances de point ne sont actuellement pas pris en charge :

    • LineString

    • CircularString

    • CompoundCurve

    • Polygone

    • CurvePolygon

    • MultiPoint

    • MultiLineString

    • MultiPolygon

    • GeometryCollection

  • Actuellement, l’indexation spatiale n’est pas prise en charge pour les types de données géospatiales.

  • Seules les fonctions répertoriées sont actuellement prises en charge pour ces types de données. Pour plus d’informations, consultez Fonctions des types de données géométriques prises en charge dans Babelfish et Fonctions de type de données géographiques prises en charge dans Babelfish.

  • La sortie de la fonction STDistance pour les données géographiques peut présenter des variations de précision mineures par rapport à T-SQL. Cela est dû à l’implémentation sous-jacente de PostGIS. Pour plus d’informations, consultez ST_Distance.

  • Pour des performances optimales, utilisez des types de données géospatiales intégrés, sans créer de couches d’abstraction supplémentaires dans Babelfish.

    Astuce

    Bien que vous puissiez créer des types de données personnalisés, il n’est pas recommandé d’en créer en plus des données géospatiales. Cela pourrait introduire des complexités, pouvant entraîner un comportement inattendu en raison de la prise en charge limitée.

  • Dans Babelfish, les noms des fonctions géospatiales sont utilisés comme mots-clés, et les opérations spatiales ne sont effectuées que si elles sont utilisées de la manière prévue.

    Astuce

    Lorsque vous créez des procédures et des fonctions définies par l’utilisateur dans Babelfish, évitez d’utiliser les mêmes noms que les fonctions géospatiales intégrées. Si des objets de base de données portent déjà le même nom, utilisez sp_rename pour les renommer.