다음을 통해 공유


h3_hexring 기능

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

원본 H3 셀을 중심으로 속이 빈 육각 링을 형성하고 원본 H3 셀에서 그리드 거리 k에 있는 H3 셀의 배열을 반환합니다.

구문

h3_hexring ( h3CellIdExpr, kExpr )

인수

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

반품

입력 H3 셀과 해상도가 동일한 H3 셀 ID에 해당하며, 원점 H3 셀을 중심으로 k, wherek 거리에서 속이 빈 링을 형성하는 h3CellIdExpr 식의 형식과 동일한 형식의 values 배열이고, kExpr의 값입니다.

함수는 입력 식 중 하나라도 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를 반환합니다.
  • 원본 셀의 k-ring에 오각형이 있는 경우 함수는 H3_PENTAGON_ENCOUNTERED_ERROR를 반환합니다.

예제

-- Simple example where the first argument is a BIGINT.
> SELECT h3_hexring(599686042433355775, 1)
  [599686014516068351,599686030622195711,599686044580839423,599686038138388479,599686043507097599,599686015589810175]

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

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

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

-- The input cell is a hexagonal cell adjacent to a pentagonal cell (the 2-ring of the hexagonal cell contains the pentagon).
> SELECT H3_HexRing('8007fffffffffff', 2)
  [H3_PENTAGON_ENCOUNTERED_ERROR] A pentagon was encountered while computing the hex ring of '8007fffffffffff' with grid distance 2