Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Применяется к:
Databricks SQL
Databricks Runtime 17.1 и более поздних версий
Important
Эта функция доступна в общедоступной предварительной версии.
Замечание
Эта функция недоступна в классических хранилищах Databricks SQL. Дополнительные сведения о хранилищах SQL Databricks см. в разделе "Типы хранилища SQL".
Возвращает геохашку входного GEOMETRY значения с заданной точностью. Если точность не указана, выражение ведет себя так, как если бы указанная точность была -1.
Syntax
st_geohash ( geoExpr [, precisionExpr] )
Arguments
-
geoExpr:GEOMETRYзначение. -
precisionExpr: необязательная точность (число значимых цифр) выходного геохаша.
Returns
Значение типа STRING, представляющее геохеш входной геометрии.
Точнее:
- Если входная геометрия пуста, выражение возвращается
NULL. - Если точность равна 0, возвращается пустая строка.
- Если точность положительна, выражение возвращает геохашное значение центра ограничивающего прямоугольника геометрии с указанной точностью.
- Если точность является отрицательной, выражение возвращает значение геохаширования, соответствующее контейнеру сетки геохаша максимальной точности (но не более 12), которое полностью охватывает ограничивающий прямоугольник входной геометрии. Если такой контейнер сетки геохаширования не существует, возвращается пустая строка.
Дополнительные сведения о геохашах см. в Википедии .
Функция возвращается NULL , если входные данные являются NULL.
Условия ошибок
- Если входные данные содержат координаты долготы за пределами диапазона [-180, 180], функция возвращает ST_INVALID_ARGUMENT. LONGITUDE_OUT_OF_BOUNDS.
- Если входные данные содержат координаты широты за пределами диапазона [-90, 90], функция возвращает ST_INVALID_ARGUMENT. LATITUDE_OUT_OF_BOUNDS.
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