다음을 통해 공유


h3_uncompact 기능

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

H3 셀의 입력 집합을 지정된 해상도로 컴파일 해제합니다. 컴파일되지 않은 집합은 지정된 해상도의 셀을 사용하는 원래 셀과 동일한 H3 셀 집합을 포함합니다.

구문

h3_uncompact ( h3CellIdsExpr, resolutionExpr )

인수

  • h3CellIdsExpr: BIGINT 식의 ARRAY 또는 H3 셀 ID의 배열을 나타내는 16진수 STRING 식의 ARRAY입니다.
  • resolutionExpr: 값이 입력 H3 셀의 최대 해상도와 15(포함) 사이에 있을 것으로 예상되는 INTEGER 식으로, 출력 ARRAY에서 H3 셀 ID의 해상도를 지정합니다.

반품

입력 배열 식의 값과 동일한 형식의 값을 가진 ARRAY입니다 h3cellIdsExpr. 출력 ARRAY에서 H3 셀 ID의 해상도는 resolutionExpr의 값과 같습니다.

입력이 NULL이면 함수는 NULL을 반환합니다. 이 함수는 입력 인수가 유효한 H3 셀 ID인지 여부에 대해 부분 유효성 검사를 수행합니다. 유효한 H3 ID에 대한 필요하지만 충분하지 않은 조건은 해당 값이 0x08001fffffffffff0x08ff3b6db6db6db6 사이에 있다는 것입니다. 입력 ARRAY의 셀 ID 중 하나라도 유효한 셀 ID가 아니면 함수의 동작이 정의되지 않습니다. 입력 배열의 NULL 값은 무시됩니다.

오류 조건

  • h3CellIdExpr이 BIGINT로 변환할 수 없는 STRING이거나 0x08001fffffffffff보다 작거나 0x08ff3b6db6db6db6보다 큰 BIGINT 값에 해당하는 경우 함수는 H3_INVALID_CELL_ID를 반환합니다.
  • resolutionExpr이 입력 ARRAY에 있는 H3 셀의 최대 해상도보다 작거나 15보다 크면 함수는 H3_INVALID_RESOLUTION_VALUE를 반환합니다.

예제

-- Example where the input is an ARRAY of BIGINTs
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 5);
  [599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,599686038138388479,599686039212130303,599686040285872127,599686041359613951,599686042433355775,599686043507097599,599686044580839423]

-- In this example we verify that uncompacting the compacted set of the 2-ring of an H3 cell at the cell’s resolution returns the original 2-ring.
> SELECT COUNT(*) FROM ((SELECT explode(h3_uncompact(h3_compact(h3_kring(599686042433355775, 2)), h3_resolution(599686042433355775)))) MINUS (SELECT  explode(h3_kring(599686042433355775, 2))))
  0

-- Second input is an invalid resolution value.
> SELECT h3_uncompact(ARRAY(599686030622195711,599686015589810175,599686014516068351,599686034917163007,599686029548453887,599686032769679359,599686198125920255,599686023106002943,599686027400970239,599686013442326527,599686012368584703,599686018811035647,595182446027210751), 2);
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 2 must be between 5 and 15, inclusive