Catégories :

Fonctions géospatiales, Fonctions de conversion

ST_GEOGFROMGEOHASH

Renvoie un objet GEOGRAPHY pour le polygone qui représente les limites d’un geohash.

L’argument facultatif précision spécifie la précision à utiliser pour le geohash en entrée. Par exemple, la transmission de 5 pour la précision spécifie que la fonction doit utiliser les 5 premiers caractères du geohash en entrée.

Voir aussi :

ST_GEOHASH

Syntaxe

ST_GEOGFROMGEOHASH( <geohash> [, <precision> ] )

Arguments

Obligatoire :

geohash

L’argument doit être un geohash.

Facultatif :

précision

Le nombre de caractères à utiliser à partir du geohash en entrée. Par exemple, la transmission de 5 pour la précision entraîne l’utilisation des 5 premiers caractères du geohash par la fonction.

Par défaut, la précision est de 20, ce qui oblige la fonction à utiliser jusqu’aux 20 premiers caractères du geohach.

Renvoie

La fonction renvoie une valeur de type GEOGRAPHY.

Exemples

L’exemple suivant renvoie l’objet GEOGRAPHY pour un geohash :

SELECT ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')
    AS geography_from_geohash,
    ST_AREA(ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q'))
    AS area_of_geohash;
+---------------------------------+-----------------+
| GEOGRAPHY_FROM_GEOHASH          | AREA_OF_GEOHASH |
|---------------------------------+-----------------|
| {                               |  5.48668572e-16 |
|   "coordinates": [              |                 |
|     [                           |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416200000012e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223060999999998e+02, |                 |
|         3.755416200000012e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223060999999998e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ],                        |                 |
|       [                         |                 |
|         -1.223061000000001e+02, |                 |
|         3.755416199999996e+01   |                 |
|       ]                         |                 |
|     ]                           |                 |
|   ],                            |                 |
|   "type": "Polygon"             |                 |
| }                               |                 |
+---------------------------------+-----------------+

L’exemple suivant renvoie l’objet GEOGRAPHY pour un geohash moins précis. La fonction utilise les 6 premiers caractères du geohash en entrée :

SELECT ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)
    AS geography_from_less_precise_geohash,
    ST_AREA(ST_GEOGFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6))
    AS area_of_geohash;
+-------------------------------------+-----------------+
| GEOGRAPHY_FROM_LESS_PRECISE_GEOHASH | AREA_OF_GEOHASH |
|-------------------------------------+-----------------|
| {                                   | 591559.75661851 |
|   "coordinates": [                  |                 |
|     [                               |                 |
|       [                             |                 |
|         -1.223107910156250e+02,     |                 |
|         3.755126953125000e+01       |                 |
|       ],                            |                 |
|       [                             |                 |
|         -1.223107910156250e+02,     |                 |
|         3.755676269531250e+01       |                 |
|       ],                            |                 |
|       [                             |                 |
|         -1.222998046875000e+02,     |                 |
|         3.755676269531250e+01       |                 |
|       ],                            |                 |
|       [                             |                 |
|         -1.222998046875000e+02,     |                 |
|         3.755126953125000e+01       |                 |
|       ],                            |                 |
|       [                             |                 |
|         -1.223107910156250e+02,     |                 |
|         3.755126953125000e+01       |                 |
|       ]                             |                 |
|     ]                               |                 |
|   ],                                |                 |
|   "type": "Polygon"                 |                 |
| }                                   |                 |
+-------------------------------------+-----------------+