적용 대상:
Databricks SQL
Databricks Runtime 17.1 이상으로 표시
Important
이 기능은 공개 미리보기 단계에 있습니다.
비고
이 기능은 Databricks SQL 클래식 웨어하우스에서 사용할 수 없습니다. Databricks SQL 웨어하우스에 대한 자세한 내용은 SQL 웨어하우스 유형을 참조하세요.
지정된 정밀도에서 입력 GEOMETRY 값의 지오해시를 반환합니다. 정밀도를 지정하지 않으면, 지정된 정밀도가 -1인 것처럼 표현식이 동작합니다.
Syntax
st_geohash ( geoExpr [, precisionExpr] )
Arguments
-
geoExpr:GEOMETRY값입니다. -
precisionExpr: 출력 지오하시의 선택적 유효 숫자 개수입니다.
Returns
입력 기하 도형의 지오 해시를 나타내는 형식 STRING의 값입니다.
보다 정확하게:
- 입력 기하 도형이 비어 있으면 식이 반환됩니다
NULL. - 정밀도가 0이면 빈 문자열이 반환됩니다.
- 정밀도가 양수인 경우, 지정한 정밀도로 기하 도형 경계 상자의 중심에 있는 지오해시 값을 반환합니다.
- 정밀도가 음수인 경우, 식은 입력 지오메트리의 경계 상자를 완전히 덮는 최대 정밀도(12 이하)의 지오해시 그리드 버킷에 해당하는 지오해시 값을 반환합니다. 이러한 지오하시 그리드 버킷이 없으면 빈 문자열이 반환됩니다.
지오하시에 대한 자세한 내용은 Wikipedia 를 참조하세요.
입력이 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