- Catégories :
ST_GEOMFROMGEOHASH¶
Renvoie un objet GEOMETRY pour le polygone qui représente les limites d’un geohash.
Le nombre de caractères dans un geohash détermine la précision. La suppression de caractères de la fin d’un geohash entraîne un geohash moins précis et qui identifie une zone rectangulaire plus grande.
L’argument facultatif precision
spécifie la précision à utiliser pour le geohash en entrée. Par exemple, la transmission de 5
pour la precision
spécifie que la fonction utilise les 5 premiers caractères du geohash en entrée.
- Voir aussi :
Syntaxe¶
ST_GEOMFROMGEOHASH( <geohash> [, <precision> ] )
Arguments¶
Obligatoire :
geohash
L’argument doit être un geohash.
Facultatif :
precision
Le nombre de caractères à utiliser dans le geohash. Vous pouvez spécifier une valeur de
1
à20
.Par défaut, la
precision
est20
, ce qui produit un geohash de 20 caractères.
Renvoie¶
Renvoie une valeur de type GEOMETRY.
Exemples¶
L’exemple suivant renvoie l’objet GEOMETRY pour un geohash :
SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q')
AS geometry_from_geohash,
ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q'))
AS area_of_geohash;
+---------------------------------+-----------------+
| GEOMETRY_FROM_GEOHASH | AREA_OF_GEOHASH |
|---------------------------------+-----------------|
| { | 5.492996255e-26 |
| "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 GEOMETRY pour un geohash moins précis. La fonction utilise les 6 premiers caractères du geohash en entrée :
SELECT ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6)
AS geometry_from_less_precise_geohash,
ST_AREA(ST_GEOMFROMGEOHASH('9q9j8ue2v71y5zzy0s4q', 6))
AS area_of_geohash;
+------------------------------------+-----------------+
| GEOMETRY_FROM_LESS_PRECISE_GEOHASH | AREA_OF_GEOHASH |
|------------------------------------+-----------------|
| { | 6.034970284e-05 |
| "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" | |
| } | |
+------------------------------------+-----------------+