Teilen über


st_geohash-Funktion

Gilt für:check marked yes Databricks SQL check marked yes Databricks Runtime 17.1 and above

Important

Dieses Feature befindet sich in der Public Preview.

Hinweis

Dieses Feature ist in Databricks SQL Classic Warehouses nicht verfügbar. Weitere Informationen zu Databricks SQL Warehouses finden Sie unter SQL Warehouse-Typen.

Gibt den Geohash des Eingabewerts GEOMETRY bei der angegebenen Präzision zurück. Wenn die Genauigkeit nicht angegeben ist, verhält sich der Ausdruck so, als ob die angegebene Genauigkeit -1 lautet.

Syntax

st_geohash ( geoExpr [, precisionExpr] )

Arguments

  • geoExpr: Ein GEOMETRY Wert.
  • precisionExpr: Die optionale Genauigkeit (Anzahl der signifikanten Ziffern) des Ausgabe-Geohashs.

Returns

Ein Wert vom Typ STRING, der den Geohash der Eingabegeometrie darstellt.

Genauer gesagt:

  • Wenn die Eingabegeometrie leer ist, gibt der Ausdruck zurück NULL.
  • Wenn die Genauigkeit 0 ist, wird die leere Zeichenfolge zurückgegeben.
  • Wenn die Genauigkeit positiv ist, gibt der Ausdruck den Geohash-Wert des Mittelpunkts der Bounding Box der Geometrie mit der angegebenen Genauigkeit zurück.
  • Wenn die Genauigkeit negativ ist, gibt der Ausdruck den Geohash-Wert zurück, der dem Geohash-Gitterbereich mit maximaler Genauigkeit (aber nicht mehr als 12) entspricht, der das Begrenzungsfeld der Eingabegeometrie vollständig abdeckt. Wenn ein solcher Geohash-Raster-Bucket nicht vorhanden ist, wird die leere Zeichenfolge zurückgegeben.

Weitere Informationen zu Geohashes finden Sie unter Wikipedia .

Die Funktion gibt zurück NULL , wenn die Eingabe lautet NULL.

Fehlerbedingungen

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