h3_kringdistances
기능
적용 대상: Databricks SQL
Databricks Runtime 11.3 LTS 이상
원본 H3 셀에서 그리드 거리 k
내에 있는 모든 H3 셀(정수(Long) 또는 문자열로 표시됨)을 원본 H3 셀로부터의 거리와 함께 반환합니다.
구문
h3_kringdistances ( h3CellIdExpr, kExpr )
인수
-
h3CellIdExpr
: BIGINT 식 또는 H3 셀 ID를 나타내는 16진수 STRING 식입니다. -
kExpr
: 그리드 거리를 나타내는 INTEGER 식입니다.kExpr
은 음수가 아니어야 합니다.
반품
구조체의 첫 번째 필드는 H3 셀 ID(긴 정수 또는 문자열로 표시됨)이고 구조체의 두 번째 필드는 원본 H3 셀(정수로 표시됨)과의 거리이기 cellid
distance
및 where두 필드가 있는 명명된 구조체의 배열입니다. 출력의 H3 셀 ID 형식은 h3CellIdExpr
형식과 동일합니다.
반환된 ARRAY의 요소는 원본 H3 셀로부터의 거리를 기준으로 정렬됩니다. 반환된 ARRAY에서 동일한 거리에 해당하는 요소는 임의의 순서로 반환될 수 있습니다.
함수는 입력 식 중 하나라도 NULL이면 NULL을 반환합니다.
이 함수는 입력 인수가 유효한 H3 셀 ID인지 여부에 대해 부분 유효성 검사를 수행합니다. 유효한 H3 ID에 대한 필요하지만 충분하지 않은 조건은 해당 값이 0x08001fffffffffff
와 0x08ff3b6db6db6db6
사이에 있다는 것입니다.
입력 셀 ID가 유효한 셀 ID가 아니면 함수의 동작이 정의되지 않습니다.
그리드 거리 값이 0이면 반환된 배열에는 입력 H3 셀 ID와 동일한 단일 값이 포함됩니다.
오류 조건
-
h3CellIdExpr
이 BIGINT로 변환할 수 없는 STRING이거나0x08001fffffffffff
보다 작거나0x08ff3b6db6db6db6
보다 큰 BIGINT 값에 해당하는 경우 함수는 H3_INVALID_CELL_ID를 반환합니다. -
kExpr
이 음수이면 함수는 H3_INVALID_GRID_DISTANCE_VALUE를 반환합니다.
예제
-- Simple example where the first argument is a BIGINT.
> SELECT h3_kringdistances(599686042433355775, 1)
[{"cellid":599686042433355775,"distance":0},{"cellid":599686030622195711,"distance":1},{"cellid":599686044580839423,"distance":1},{"cellid":599686038138388479,"distance":1},{"cellid":599686043507097599,"distance":1},{"cellid":599686015589810175,"distance":1},{"cellid":599686014516068351,"distance":1}]
-- Simple example where the first argument is a STRING.
> SELECT h3_kringdistances('85283473fffffff', 1)
[{"cellid":"85283473fffffff","distance":0},{"cellid":"85283447fffffff","distance":1},{"cellid":"8528347bfffffff","distance":1},{"cellid":"85283463fffffff","distance":1},{"cellid":"85283477fffffff","distance":1},{"cellid":"8528340ffffffff","distance":1},{"cellid":"8528340bfffffff","distance":1}]
-- First input is an invalid H3 cell ID.
> SELECT h3_kringdistances(0, 0)
[H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID
-- Second input is an invalid grid distance value.
> SELECT h3_kringdistances('85283473fffffff', -1)
[H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative