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에 대한 필요하지만 충분하지 않은 조건은 해당 값이 0x08001fffffffffff
와 0x08ff3b6db6db6db6
사이에 있다는 것입니다.
입력 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