Categorias:

Funções geoespaciais, Funções de conversão

ST_GEOGFROMGEOHASH

Retorna um objeto GEOGRAPHY para o polígono que representa os limites de um geohash.

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 deve usar os 5 primeiros caracteres do geohash de entrada.

Consulte também:

ST_GEOHASH, ST_GEOGPOINTFROMGEOHASH

Sintaxe

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

Argumentos

Obrigatório:

geohash

O argumento deve ser um geohash.

Opcional:

precision

O número de caracteres a serem utilizados a partir do geohash de entrada. Por exemplo, passar 5 para precision faz com que a função utilize os 5 primeiros caracteres no geohash.

Você pode especificar um valor de 1 a 20.

Por padrão, precision é 20, o que faz com que a função utilize até os primeiros 20 caracteres do geohash.

Retornos

A função retorna um valor do tipo GEOGRAPHY.

Exemplos

O exemplo seguinte retorna o objeto GEOGRAPHY para um 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"             |                 |
| }                               |                 |
+---------------------------------+-----------------+
Copy

O exemplo seguinte retorna o objeto GEOGRAPHY para um geohash menos preciso. A função utiliza os primeiros 6 caracteres do geohash de entrada:

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"                 |                 |
| }                                   |                 |
+-------------------------------------+-----------------+
Copy