다음을 통해 공유


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입니다. 출력 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