Catégories :

Fonctions géospatiales

H3_TRY_POLYGON_TO_CELLS

Version spéciale de H3_POLYGON_TO_CELLS qui renvoie NULL en cas d’erreur lorsqu’elle tente de renvoyer un tableau de valeurs INTEGER des IDs de cellules H3 dont les centroïdes sont contenus par un polygone (spécifié par un objet GEOGRAPHY).

Syntaxe

H3_TRY_POLYGON_TO_CELLS( <geography_polygon> , <target_resolution> )
Copy

Arguments

geography_polygon

Un objet GEOGRAPHY qui représente un polygone.

target_resolution

INTEGER compris entre 0 et 15 (inclus) spécifiant la résolution H3 que vous souhaitez utiliser pour les cellules H3 renvoyées.

La spécification de toute autre valeur INTEGER entraîne une erreur.

Renvoie

Renvoie un tableau de valeurs INTEGER ou NULL.

  • Si la fonction peut effectuer un calcul correct, renvoie un tableau de valeurs INTEGER pour les IDs des cellules H3 dont les centroïdes sont contenus dans le polygone d’entrée spécifié.

  • Si la fonction ne peut pas effectuer de calcul correct, renvoie NULL sans signaler d’erreur.

Notes sur l’utilisation

Pour les Notes sur l’utilisation, voir H3_POLYGON_TO_CELLS.

Exemples

L’exemple suivant tente de renvoyer un tableau de valeurs INTEGER des IDs de cellules H3 dont les centroïdes sont contenus par un polygone (spécifié par un objet GEOGRAPHY). Comme le tableau des cellules qui couvrent l’hexagone donné à la résolution donnée dépasse la taille limite autorisée, la fonction renvoie NULL.

SELECT H3_TRY_POLYGON_TO_CELLS(
  TO_GEOGRAPHY('POLYGON((-108.959 40.948,
                         -109.015 37.077,
                         -102.117 36.956,
                         -102.134 40.953,
                         -108.959 40.948))'
              ), 15) AS h3_cells_in_polygon;
Copy
+---------------------+
| H3_CELLS_IN_POLYGON |
|---------------------|
| NULL                |
+---------------------+

Pour des exemples qui renvoient correctement un tableau d’IDs, voir H3_POLYGON_TO_CELLS.