st_geohash Função

Aplica-se a:check marked yes Databricks SQL check marked yes Databricks Runtime 17.1 e superior

Observação

Esse recurso não está disponível nos armazéns Databricks SQL Classic. Para saber mais sobre os armazéns SQL do Databricks, consulte Tipos de armazém SQL.

Retorna o geohash do valor de entrada GEOMETRY com a precisão dada. Se a precisão não for especificada, a expressão se comportará como se a precisão especificada fosse -1.

Syntax

st_geohash ( geoExpr [, precisionExpr] )

Arguments

  • geoExpr: Um GEOMETRY valor.
  • precisionExpr: A precisão opcional (número de dígitos significativos) do geohash de saída.

Returns

Um valor do tipo STRING, que representa o geohash da geometria de entrada.

Mais precisamente:

  • Se a geometria de entrada estiver vazia, a expressão retornará NULL.
  • Se a precisão for 0, a cadeia de caracteres vazia será retornada.
  • Se a precisão for positiva, a expressão retornará o valor geohash do centro da caixa delimitadora da geometria com a precisão especificada.
  • Se a precisão for negativa, a expressão retornará o valor geohash que corresponde ao bucket de grade geohash de precisão máxima (mas não mais de 12) que cobre totalmente a caixa delimitadora da geometria de entrada. Se esse bucket de grade geohash não existir, a cadeia de caracteres vazia será retornada.

Veja a Wikipédia para mais detalhes sobre geohashes.

A função retorna NULL se a entrada for NULL.

Condições de erro

Examples

-- Returns the geohash of a point at default precision.
> SELECT st_geohash(st_geomfromtext('POINT(-122.4261475 37.77374268)'));
  9q8yyhebpbpb
-- Returns the geohash of a point at precision 6.
> SELECT st_geohash(st_geomfromtext('POINT(-122.4261475 37.77374268)'), 6);
  9q8yyh
-- Returns the geohash of a linestring at default precision.
> SELECT st_geohash(st_geomfromtext('LINESTRING(-122.43 37.77,-122.42 37.78)'));
  9q8yy
-- Returns the geohash of a linestring at precision 9.
> SELECT st_geohash(st_geomfromtext('LINESTRING(-122.43 37.77,-122.42 37.78)'), 9);
  9q8yyhsz6
-- Returns empty string for a large geometry that doesn't fit in any geohash bucket.
> SELECT length(st_geohash(st_geomfromtext('LINESTRING(0 0,60 60)')));
  0