다음을 통해 공유


h3_kring 기능

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime 11.3 LTS 이상

원본 셀의(그리드) 거리 k 내에 있는 H3 셀을 반환합니다. 이러한 H3 셀의 집합을 원본 셀의 k-ring이라고 합니다.

구문

h3_kring ( h3CellIdExpr, kExpr )

인수

  • h3CellIdExpr: BIGINT 식 또는 H3 셀 ID를 나타내는 16진수 STRING 식입니다.
  • kExpr: 그리드 거리를 나타내는 INTEGER 식입니다. kExpr은 음수가 아니어야 합니다.

반품

입력 H3 셀과 동일한 해상도를 가지며 입력 H3 셀의 그리드 거리 h3CellIdExpr 내에 있는 H3 셀 ID에 해당하는 k 식의 형식과 동일한 형식의 값의 ARRAY입니다. 여기서 kkExpr의 값입니다.

함수는 입력 식 중 하나라도 NULL이면 NULL을 반환합니다. 이 함수는 입력 인수가 유효한 H3 셀 ID인지 여부에 대해 부분 유효성 검사를 수행합니다. 유효한 H3 ID에 대한 필요하지만 충분하지 않은 조건은 해당 값이 0x08001fffffffffff0x08ff3b6db6db6db6 사이에 있다는 것입니다. 입력 셀 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_kring(599686042433355775, 1)
  [599686042433355775,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175,599686014516068351]

-- Simple example where the first argument is a STRING.
> SELECT h3_kring('85283473fffffff', 1)
  [85283473fffffff,85283447fffffff,8528347bfffffff,85283463fffffff,85283477fffffff,8528340ffffffff,8528340bfffffff]

-- First input is an invalid H3 cell ID.
> SELECT h3_kring(0, 0)
  [H3_INVALID_CELL_ID] 0 is not a valid H3 cell ID

-- Second input is an invalid grid distance value.
> SELECT h3_kring('85283473fffffff', -1)
  [H3_INVALID_GRID_DISTANCE_VALUE] H3 grid distance -1 must be non-negative