다음을 통해 공유


h3_tessellateaswkb 기능

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks Runtime 14.2 이상

지정된 해상도에서 H3 셀을 사용하여 입력 지리의 테셀레이션 을 반환합니다. 테셀레이션은 각각 테셀레이션의 요소를 나타내는 구조체의 배열로 표시됩니다. 테셀레이션의 각 요소는 H3 셀 ID(긴 정수로 표시됨), 입력 지리가 셀을 완전히 덮는지 여부를 나타내는 부울 값, 입력 지리와 H3 셀의 교집합에 대한 WKB 설명에 해당하는 BINARY 값으로 구성됩니다.

반환된 H3 셀은 지정된 해상도에서 입력 지리를 완전히 포괄하는 최소 육각형 또는 펜타곤 덮개 집합을 집합적으로 형성합니다. 반환된 지리(WKB 표현을 통해)는 입력 지리의 테셀레이션을 형성합니다.

구문

h3_tessellateaswkb ( geographyExpr, resolutionExpr )

인수

  • geographyExpr: WKB, WKT 또는 GeoJSON으로 지리를 나타내는 BINARY 또는 STRING 식입니다. 지리에는 WGS84 좌표 참조 시스템을 참조하는 경도 및 위도 좌표가 있어야 합니다.
  • resolutionExpr: H3 셀 ID에 대한 해상도를 지정하는 값을 포함하는 0 15 INT 식입니다.

반품

지정된 해상도에서 H3 셀을 사용하여 입력 지리의 분할을 나타내는 BIGINT, BOOLEAN 및 BINARY cellidcore형식의 세 필드가 있는 명명된 구조체의 배열입니다chip.

구조체의 첫 번째 필드는 H3 셀 ID(긴 정수로 표시됨)입니다. 구조체의 두 번째 필드는 H3 셀이 코어 셀인지 여부를 나타내는 부울 값입니다. 이 경우 필드의 값이 true 필드 값인지 여부입니다 false. 코어 셀은 입력 지리(즉, 입력 지리와의 교집합이 셀 자체)로 완전히 적용되는 H3 셀입니다. 세 번째 필드는 입력 지리와 H3 셀의 교집합인 지리에 대한 WKB 설명을 나타내는 BINARY 값입니다. 반환된 H3 셀은 입력 지리의 최소 덮개 집합을 집합적으로 형성합니다. 반환된 WKB 설명에 해당하는 지리가 입력 지리의 테셀레이션(분해)을 통칭합니다.

함수는 입력 식이 있는 경우 반환 NULL 됩니다.NULL 첫 번째 입력 인수가 BINARY 형식인 경우 입력 값은 점, 줄 바꿈, 다각형, 다중점, 다중 줄 바꿈 또는 다각형에 대한 WKB 설명이어야 합니다. 첫 번째 입력 인수가 STRING 형식인 경우 입력 값은 지점, 줄 바꿈, 다각형, 다중 지점, 다중 줄 바꿈 또는 다각형에 대한 WKT 또는 GeoJSON 설명이어야 합니다. 입력 지리의 차원은 2D, 3DZ, 3DM 또는 4D일 수 있습니다.

오류 조건

  • BINARY 형식이고 값이 잘못된 WKB이거나 기하 도형 컬렉션을 나타내는 경우 geographyExpr 함수는 WKB_PARSE_ERROR 반환합니다.
  • STRING 형식이고 값이 잘못된 WKT이거나 기하 도형 컬렉션을 나타내는 경우 geographyExpr 함수는 WKT_PARSE_ERROR 반환합니다.
  • STRING 형식이고 값이 잘못된 GeoJSON이거나 기하 도형 컬렉션을 나타내는 경우 geographyExpr 함수는 GEOJSON_PARSE_ERROR 반환합니다.
  • resolutionExpr0보다 작거나 15보다 크면 함수는 H3_INVALID_RESOLUTION_VALUE를 반환합니다.

예제

> SELECT h3_h3tostring(cellid), core, hex(chip) FROM (SELECT inline(h3_tessellateaswkb('MULTIPOINT(20 0,20 10,40 30)', 0))) ORDER BY 1
  802dfffffffffff     false 010100000000000000000044400000000000003E40
  806bfffffffffff     false 010400000002000000010100000000000000000034400000000000000000010100000000000000000034400000000000002440

-- Feeding an empty geometry collection in GeoJSON format (geometry collections are not supported).
> SELECT h3_tessellateaswkb('{"type":"GeometryCollection","geometries":[]}', 2)
  [GEOJSON_PARSE_ERROR] Error parsing GeoJSON: Invalid or unsupported type '"GeometryCollection"' at position 9 SQLSTATE: 22023

-- Feeding an invalid WKB (invalid endianness value)
> SELECT h3_tessellateaswkb(unhex('020700000000'), 2)
  [WKB_PARSE_ERROR] Error parsing WKB: Invalid byte order 2 at position 1 SQLSTATE: 22023

-- Feeding an invalid polygon in WKT (polygon is not closed)
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-74.0060 40.7128))', 2)
  [WKT_PARSE_ERROR] Error parsing WKT: Found non-closed ring at position 80 SQLSTATE: 22023

-- Resolution is out of range.
> SELECT h3_tessellateaswkb('POLYGON((-122.4194 37.7749,-118.2437 34.0522,-74.0060 40.7128,-122.4194 37.7749))', 16)
  [H3_INVALID_RESOLUTION_VALUE] H3 resolution 16 must be between 0 and 15, inclusive SQLSTATE: 22023