Terminologie des données spatiales Amazon Redshift - Amazon Redshift

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.

Terminologie des données spatiales Amazon Redshift

Les termes suivants sont utilisés pour décrire certaines fonctions spatiales Amazon Redshift.

Cadre de délimitation

Le cadre de délimitation d’une géométrie ou d’une géographie est défini comme le produit vectoriel (à travers les dimensions) des extensions des coordonnées de tous les points de la géométrie ou de la géographie. Pour les géométries bidimensionnelles, le cadre de délimitation est un rectangle qui inclut complètement tous les points de la géométrie. Par exemple, un cadre de délimitation du polygone POLYGON((0 0,1 0,0 2,0 0)) est le rectangle défini par les points (0, 0) et (1, 2) comme étant le coin inférieur gauche et le coin supérieur droit. Amazon Redshift précalcule et stocke un cadre de délimitation dans une géométrie pour accélérer les prédicats géométriques et les jointures spatiales. Par exemple, si les cadres de délimitation de deux géométries ne se croisent pas, ces deux géométries ne peuvent pas se croiser et elles ne peuvent pas être dans le jeu de résultats d’une jointure spatiale à l’aide du prédicat ST_Intersects.

Vous pouvez utiliser des fonctions spatiales pour ajouter (AddBbox), supprimer (DropbBox) et déterminer le support (SupportsBBox) pour un cadre de délimitation. Amazon Redshift prend en charge le précalcul des cadres de délimitation pour tous les sous-types de géométrie.

L’exemple suivant explique comment mettre à jour les géométries existantes d’une table afin de les stocker avec un cadre de délimitation. Si votre cluster est à la version 1.0.26809 ou ultérieure du cluster, toutes les nouvelles géométries sont créées avec un cadre de délimitation précalculé par défaut.

UPDATE my_table SET geom = AddBBox(geom) WHERE SupportsBBox(geom) = false;

Après avoir mis à jour les géométries existantes, nous vous recommandons d'exécuter la VACUUM commande sur la table mise à jour. Pour de plus amples informations, veuillez consulter VACUUM.

Pour définir si les géométries sont encodées avec un cadre de délimitation au cours d’une session, consultez default_geometry_encoding.

Validité géométrique

Les algorithmes géométriques utilisés par Amazon Redshift supposent que la géométrie en entrée est une géométrie valide. Si une entrée dans un algorithme n’est pas valide, le résultat est indéfini. La section suivante décrit les définitions de validité géométrique utilisées par Amazon Redshift pour chaque sous-type de géométrie.

Point

Un point est considéré comme valide si l’une des conditions suivantes est remplie :

  • Le point est le point vide.

  • Toutes les coordonnées des points sont des nombres finis à virgule flottante.

Un point peut être le point vide.

Linestring

Une linestring est considérée comme valide si l’une des conditions suivantes est remplie :

  • La linestring est vide, c’est-à-dire qu’elle ne contient aucun point.

  • Tous les points d’une linestring non vide ont des coordonnées qui sont des nombres finis à virgule flottante.

  • Si elle n’est pas vide, la linestring doit être unidimensionnelle, c’est-à-dire qu’elle ne peut pas dégénérer en un point.

Une linestring ne peut pas contenir de points vides.

Une linestring peut avoir des points consécutifs en double.

Une linestring peut avoir des auto-intersections.

Polygon

Un polygone est considéré comme valide si l’une des conditions suivantes est remplie :

  • Le polygone est vide, c’est-à-dire qu’il ne contient pas d’anneaux.

  • S’il n’est pas vide, un polygone est valide si toutes les conditions suivantes sont remplies :

    • Tous les anneaux du polygone sont valides. Un anneau est considéré comme valide si toutes les conditions suivantes sont remplies :

      • Tous les points de l’anneau ont des coordonnées qui sont des nombres finis à virgule flottante.

      • L’anneau est fermé, c’est-à-dire que son premier point et son dernier point coïncident.

      • L’anneau n’a pas d’auto-intersections.

      • L’anneau est bidimensionnel.

    • Les anneaux du polygone ont des orientations cohérentes. Autrement dit, si vous traversez un anneau, l’intérieur du polygone se trouve soit à votre droite, soit à votre gauche. Cela signifie que si l’anneau extérieur d’un polygone est orienté dans le sens des aiguilles d’une montre ou dans le sens inverse des aiguilles d’une montre, tous les anneaux intérieurs du polygone doivent avoir la même orientation dans le sens inverse des aiguilles d’une montre ou dans le sens des aiguilles d’une montre.

    • Tous les anneaux intérieurs doivent se situer dans l’anneau extérieur du polygone.

    • Les anneaux intérieurs ne peuvent pas être imbriqués, c’est-à-dire qu’un anneau intérieur ne peut pas se trouver dans un autre anneau intérieur.

    • Les anneaux intérieurs et extérieurs ne peuvent se croiser qu’à un nombre fini de points.

    • L’intérieur du polygone doit être simplement connecté.

Un polygone ne peut pas contenir de points vides.

Multipoint

Un multipoint est considéré comme valide si l’une des conditions suivantes est remplie :

  • Le multipoint est vide, c'est-à-dire qu'il ne contient aucun point.

  • Un multipoint n’est pas vide et tous les points sont valides selon la définition de validité des points.

Un multipoint peut contenir un ou plusieurs points vides.

Un multipoint peut avoir des points en double.

Multilinestring

Une multilinestring est considérée comme valide si l’une des conditions suivantes est remplie :

  • La multilinestring est vide, c’est-à-dire qu’il ne contient pas de linestrings.

  • Toutes les lignes d’une multilinestring non vide sont valides selon la définition de validité de linestring.

Une multilinestring non vide qui se compose uniquement de lignes vides est considérée comme valide.

Une linestring vide dans une multilinestring n’affecte pas sa validité.

Une multilinestring peut avoir des linestrings avec des points consécutifs en double.

Une multilinestring peut avoir des auto-intersections.

Une multilinestring ne peut pas contenir de points vides.

Multipolygon

Un multipolygone est considéré comme valide si l’une des conditions suivantes est remplie :

  • Le multipolygone ne contient aucun polygone (il est vide).

  • Le multipolygone n’est pas vide et toutes les conditions suivantes sont remplies :

    • Tous les polygones du multipolygone sont valides.

    • Aucun polygone dans le multipolygone ne peut se croiser à un nombre infini de points. En particulier, cela implique que l’intérieur de deux polygones ne peut pas se croiser et qu’ils ne peuvent se toucher qu’à un nombre fini de points.

Un polygone vide dans un multipolygone n’invalide pas un multipolygone.

Un multipolygone ne peut pas contenir de points vides.

Collection de géométries

Une collection de géométries est considérée comme valide si l’une des conditions suivantes est remplie :

  • La collection de géométries est vide, c’est-à-dire qu’elle ne contient aucune géométrie.

  • Toutes les géométries d’une collection de géométries non vide sont valides.

Cette définition s’applique toujours, bien que de manière récursive, aux collections de géométries imbriquées.

Une collection de géométries peut contenir des points vides et des multipoints avec des points vides.

Simplicité géométrique

Les algorithmes géométriques utilisés par Amazon Redshift supposent que la géométrie en entrée est une géométrie valide. Si une entrée dans un algorithme n’est pas valide, la vérification de simplicité n’est pas définie. La section suivante décrit les définitions de simplicité géométrique utilisées par Amazon Redshift pour chaque sous-type de géométrie.

Point

Un point valide est considéré comme simple si l’une des conditions suivantes est remplie :

  • Un point valide est toujours considéré comme simple.

  • Un point vide est considéré comme simple.

Linestring

Une linestring valide est considérée comme simple si l’une des conditions suivantes est remplie :

  • La linestring est vide.

  • La linestring n’est pas vide et toutes les conditions suivantes sont remplies :

    • Il n’a pas de points consécutifs en double.

    • Il n’a pas d’auto-intersections, sauf peut-être pour son premier point et son dernier point, qui peuvent coïncider. En d’autres termes, la linestring ne peut pas avoir d’auto-intersections sauf aux points de limite.

Polygon

Un polygone valide est considéré comme simple s’il ne contient pas de points consécutifs en double.

Multipoint

Un multipoint valide est considéré comme simple si l’une des conditions suivantes est remplie :

  • Le multipoint est vide, c'est-à-dire qu'il ne contient pas de point.

  • Aucun point non vide du multipoint coïncide avec un autre.

Multilinestring

Une multilinestring valide est considérée comme simple si l’une des conditions suivantes est remplie :

  • La multilinestring est vide.

  • La multilinestring est non vide et toutes les conditions suivantes sont remplies :

    • Toutes ses linestrings sont simples.

    • Aucunes linestrings du multilinestring ne se croisent, sauf aux points qui sont des points de limite des deux linestrings.

Une multilinestring non vide constituée de linestrings vides uniquement est considérée comme vide.

Une linestring vide dans une multilinestring n’affecte pas sa simplicité.

Une linestring fermée dans une multilinestring ne peut se croiser avec aucune autre linestring dans la multilinestring.

Une multilinestring ne peut pas avoir de linestrings avec des points consécutifs en double.

Multipolygon

Un multipolygone valide est considéré comme simple s’il ne contient pas de points consécutifs en double.

Collection de géométries

Une collection de géométries valide est considérée comme simple si l’une des conditions suivantes est remplie :

  • La collection de géométries est vide, c’est-à-dire qu’elle ne contient aucune géométrie.

  • Toutes les géométries d’une collection de géométries non vide sont simples.

Cette définition s’applique toujours, bien que de manière récursive, aux collections de géométries imbriquées.

H3

H3 est un système de grille d’indexation géospatiale hiérarchique qui permet d’indexer les coordonnées spatiales jusqu’à une résolution au mètre carré. Les données indexées peuvent être regroupées dans des jeux de données disparates et agrégées à différents niveaux de précision. H3 permet une gamme d’algorithmes et d’optimisations basés sur la grille, y compris les voisins les plus proches, le chemin le plus court, le lissage des dégradés, etc. Les indices H3 font référence à des cellules qui peuvent être hexagonales ou pentagonales. L’espace est subdivisé hiérarchiquement selon une résolution. H3 prend en charge 16 résolutions de 0 à 15 incluses, 0 étant la résolution la plus grossière et 15 la plus fine.

Amazon Redshift fournit les fonctions spatiales H3 suivantes :