- Categorias:
ST_GEOMFROMGEOHASH¶
Retorna um objeto GEOMETRY para o polígono que representa os limites de um geohash.
O número de caracteres em um geohash determina a precisão. A remoção de caracteres do fim de um geohash resulta em um geohash que é menos preciso e que identifica uma área retangular maior.
O argumento opcional precision
especifica a precisão a ser usada para o geohash de entrada. Por exemplo, passar 5
para precision
especifica que a função usa os 5 primeiros caracteres do geohash de entrada.
- Consulte também:
Sintaxe¶
ST_GEOMFROMGEOHASH( <geohash> [, <precision> ] )
Argumentos¶
Obrigatório:
geohash
O argumento deve ser um geohash.
Opcional:
precision
O número de caracteres a serem utilizados no geohash. Você pode especificar um valor de
1
a20
.Por padrão,
precision
é20
, o que produz um geohash com 20 caracteres.
Retornos¶
Retorna um valor do tipo GEOMETRY.
Exemplos¶
O exemplo seguinte retorna o objeto GEOMETRY para um 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" | |
| } | |
+---------------------------------+-----------------+
O exemplo seguinte retorna o objeto GEOMETRY para um geohash menos preciso. A função utiliza os primeiros 6 caracteres do geohash de entrada:
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" | |
| } | |
+------------------------------------+-----------------+