H3 인덱스
H3는 지구 표면을 균일한 육각형 셀의 격자로 나누는 지리 공간 인덱싱 시스템입니다. 이 시스템은 계층 구조를 가지며, 즉 최상위 수준의 각 육각형(“parent”)은 크기가 더 작은 균일한 7개의 육각형(“children”)으로 분할될 수 있고, 이러한 방식이 계속 반복됩니다. 이 계층 구조의 수준을resolution이라고 하며, 값은 0부터 15까지입니다. 이때 0은 가장 크고 가장 거친 셀을 갖는 base 수준입니다.
위도와 경도의 쌍은 격자 셀을 식별하는 64비트 H3 인덱스로 변환할 수 있습니다.
H3 인덱스는 주로 위치를 버킷으로 그룹화하거나 그 밖의 지리 공간 작업을 수행하는 데 사용됩니다.
H3 시스템에 대한 전체 설명은 Uber Engineering 사이트에서 확인할 수 있습니다.
h3IsValid
숫자가 유효한 H3 인덱스인지 확인합니다. 구문h3index— 육각형 인덱스 번호입니다. UInt64.
Query
Response
h3GetResolution
지정된 H3 인덱스의 해상도를 반환합니다. 구문h3index— 육각형 인덱스 번호. UInt64.
Query
Response
h3EdgeAngle
H3 육각형 변의 평균 길이를 그라드 단위로 계산합니다. 구문resolution— 인덱스 해상도. UInt8. 범위:[0, 15].
Query
Response
h3EdgeLengthM
H3 육각형의 변 길이 평균을 미터 단위로 계산합니다. 구문resolution— 인덱스 해상도입니다. UInt8. 범위:[0, 15].
Query
Response
h3EdgeLengthKm
H3 육각형의 변 길이 평균을 킬로미터 단위로 계산합니다. 구문resolution— 인덱스 해상도. UInt8. 범위:[0, 15].
Query
Response
geoToH3
지정된 해상도의 H3 점 인덱스(lat, lon)를 반환합니다.
구문
geoToH3()가 값을 (lon, lat) 순서로 받습니다. ClickHouse v25.5부터는 입력 값의 순서가 (lat, lon)입니다. 이전 동작은 geotoh3_argument_order = 'lon_lat' 설정으로 복원할 수 있습니다.
예시
Query
Response
h3ToGeo
주어진 H3 인덱스에 해당하는 중심점의 위도와 경도를 반환합니다. 구문h3Index— H3 인덱스. UInt64.
h3ToGeo()가 (lon, lat) 순서로 값을 반환합니다. ClickHouse v25.1부터는 반환 값이 (lat, lon) 순서입니다. 이전 동작은 설정 h3togeo_lon_lat_result_order = true를 사용해 복원할 수 있습니다.
예시
Query
Response
h3ToGeoBoundary
주어진 H3 인덱스의 경계에 해당하는(lat, lon) 쌍의 배열을 반환합니다.
구문
h3Index— H3 인덱스. UInt64.
Query
Response
h3kRing
주어진 육각형에서 반경k 이내에 있는 모든 H3 육각형을 무작위 순서로 나열합니다.
구문
Query
Response
h3PolygonToCells
제공된 Geometry(링 또는 (multi-)polygon)에 포함된 지정된 해상도의 육각형을 반환합니다. Geometry가 육각형의 중심을 포함할 때 해당 육각형이 포함된 것으로 간주하며, 이는 h3PolygonToCellsWithContainment의 포함 모드0입니다.
Geometry의 모든 꼭짓점은 구면 위에 있어야 합니다. 경도는 [-180, 180], 위도는 [-90, 90]도 범위여야 합니다. 반환되는 셀의 순서는 보장되지 않으므로 순서가 중요할 때는 배열을 정렬하십시오.
구문
geometry는 다음 Geo 데이터 타입 또는 그 기반이 되는 기본 타입 중 하나일 수 있습니다:resolution— 인덱스 해상도입니다. 범위:[0, 15]. UInt8.
Query
Response
h3PolygonToCellsWithContainment
H3 Experimental 포함 모드를 사용하여 제공된 geometry가 차지하는 영역을 지정된 해상도의 육각형으로 덮어 반환합니다. geometry는 링 또는 (multi-)polygon일 수 있습니다. geometry의 모든 꼭짓점은 구면 위에 있어야 합니다. 경도는[-180, 180], 위도는 [-90, 90]도 범위여야 합니다. 반환되는 셀의 순서는 보장되지 않으므로 순서가 중요할 때는 배열을 정렬하십시오.
이 함수는 flags를 다음 H3 포함 모드에 매핑합니다:
0—CONTAINMENT_CENTER1—CONTAINMENT_FULL2—CONTAINMENT_OVERLAPPING3—CONTAINMENT_OVERLAPPING_BBOX
geometry는 다음 Geo 데이터 타입 또는 그 기반이 되는 기본 타입 중 하나일 수 있습니다:resolution— 인덱스 해상도입니다. 범위:[0, 15]. UInt8.flags— 포함 모드입니다. 범위:[0, 3].0,1,2,3과 같은 정수 리터럴 또는 UInt32 값(예:toUInt32(2))을 사용하십시오. 값은 H3 API에UInt32로 전달됩니다. 다른 네이티브 정수 타입에는 정확한 형변환이 적용됩니다.
Query
Response
h3GetBaseCell
H3 인덱스의 기본 셀 번호를 반환합니다. 구문index— 육각형 인덱스 번호입니다. UInt64.
- 육각형의 기본 셀 번호입니다. UInt8.
Query
Response
h3HexAreaM2
주어진 해상도에서 육각형의 평균 면적을 제곱미터(m²) 단위로 반환합니다. 구문resolution— 인덱스 해상도. 범위:[0, 15]. UInt8.
- 제곱미터 단위의 면적. Float64.
Query
Response
h3HexAreaKm2
주어진 해상도에서 평균 육각형 면적을 제곱킬로미터 단위로 반환합니다. 구문resolution— 인덱스 해상도입니다. 범위:[0, 15]. UInt8.
- 제곱킬로미터 단위의 면적입니다. Float64.
Query
Response
h3IndexesAreNeighbors
주어진 H3 인덱스가 서로 인접해 있는지 반환합니다. 구문Query
Response
h3ToChildren
주어진 H3 인덱스의 자식 인덱스 배열을 반환합니다. 구문Query
Response
h3ToParent
지정된 H3 인덱스를 포함하는 상위(더 낮은 해상도의) 인덱스를 반환합니다. 구문- 상위 H3 인덱스. UInt64.
Query
Response
h3ToString
인덱스의H3Index 표현을 문자열 형식으로 변환합니다.
index— 육각형 인덱스 번호입니다. UInt64.
- H3 인덱스의 문자열 형식입니다. String.
Query
Response
stringToH3
문자열 형식을H3Index(UInt64) 형식으로 변환합니다.
구문
index_str— H3 인덱스의 문자열 형식입니다. String.
- 육각형 인덱스 번호입니다. 오류가 발생하면 0을 반환합니다. UInt64.
Query
Response
h3GetResolution
H3 인덱스의 해상도를 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
- 인덱스의 해상도. 범위:
[0, 15]. UInt8.
Query
Response
h3IsResClassIII
H3 인덱스가 Class III 방향 해상도인지 여부를 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
Query
Response
h3IsPentagon
이 H3 인덱스가 오각형 셀을 나타내는지 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
Query
Response
h3GetFaces
지정된 H3 인덱스가 교차하는 정이십면체의 면을 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
Query
Response
h3CellAreaM2
주어진 H3 인덱스에 해당하는 특정 셀의 정확한 면적을 제곱미터 단위로 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
- 제곱미터 단위의 셀의 면적. Float64.
Query
Response
h3CellAreaRads2
주어진 H3 인덱스에 해당하는 특정 셀의 정확한 면적을 제곱 라디안 단위로 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
- 제곱 라디안 단위의 셀 면적입니다. Float64.
Query
Response
h3ToCenterChild
주어진 H3에서 지정된 해상도의 중심 자식(더 세분화된) H3 인덱스를 반환합니다. 구문Query
Response
h3ExactEdgeLengthM
입력된 h3 인덱스가 나타내는 에지의 정확한 길이를 미터 단위로 반환합니다. 구문index— 육각형 인덱스 번호. UInt64.
- 미터 단위의 정확한 에지의 길이. Float64.
Query
Response
h3ExactEdgeLengthKm
입력된 h3 인덱스가 나타내는 에지의 정확한 길이를 킬로미터 단위로 반환합니다. 구문index— 육각형 인덱스 번호입니다. UInt64.
- 킬로미터 단위의 정확한 에지 길이입니다. Float64.
Query
Response
h3ExactEdgeLengthRads
입력 H3 인덱스로 표현된 에지의 정확한 길이를 라디안 단위로 반환합니다. 구문index— 육각형 인덱스 번호입니다. UInt64.
- 라디안 단위의 정확한 에지 길이입니다. Float64.
Query
Response
h3NumHexagons
지정된 해상도에서 고유한 H3 인덱스 개수를 반환합니다. 구문resolution— 인덱스 해상도. 범위:[0, 15]. UInt8.
- H3 인덱스 개수. Int64.
Query
Response
h3PointDistM
GeoCoord 점(위도/경도) 쌍 간의 “great circle” 또는 “haversine” 거리를 미터 단위로 반환합니다. 구문- 미터 단위의 haversine 또는 great circle 거리입니다.Float64.
Query
Response
h3PointDistKm
GeoCoord 점(위도/경도) 쌍 사이의 “great circle” 또는 “haversine” 거리를 킬로미터 단위로 반환합니다. 구문- 킬로미터 단위의 haversine 또는 great circle 거리입니다. Float64.
Query
Response
h3PointDistRads
GeoCoord 점(위도/경도) 쌍 사이의 “great circle” 또는 “haversine” 거리를 라디안으로 반환합니다. 구문- 라디안 단위의 haversine 또는 great circle 거리입니다. Float64.
Query
Response
h3GetRes0Indexes
해상도 0의 모든 H3 인덱스로 이루어진 배열을 반환합니다. 구문Query
Response
h3GetPentagonIndexes
지정된 해상도의 모든 오각형 H3 인덱스를 반환합니다. 구문resolution— 인덱스 해상도. 범위:[0, 15]. UInt8.
Query
Response
h3Line
주어진 두 인덱스 사이를 잇는 인덱스 선을 반환합니다. 구문Query
Response
h3Distance
주어진 두 인덱스 사이의 거리를 그리드 셀 단위로 반환합니다. 구문- 격자 셀 수입니다. Int64.
Query
Response
h3HexRing
지정된 origin h3Index를 중심으로 길이 k인 육각형 링의 인덱스를 반환합니다. 오각형 왜곡이 없으면 0을 반환합니다. 구문Query
Response
h3GetUnidirectionalEdge
인접한 두 H3 셀 인덱스(원점 및 대상)에 대한 에지 H3 인덱스를 반환합니다. 입력 중 하나라도 유효한 H3 셀이 아니면 예외가 발생합니다(functions_h3_default_if_invalid 설정으로 제어됨). 유효하지만 서로 이웃하지 않는 셀(같은 셀이 두 번 지정된 경우 포함)의 경우 0을 반환합니다.
구문
- 에지의 육각형 인덱스 번호. UInt64.
Query
Response
h3UnidirectionalEdgeIsValid
주어진 H3Index가 유효한 에지 인덱스인지 판별합니다. 에지이면 1을 반환하고, 아니면 0을 반환합니다. 구문index— 육각형 인덱스 번호입니다. UInt64.
Query
Response
h3GetOriginIndexFromUnidirectionalEdge
에지 H3Index에서 원점 육각형 인덱스를 반환합니다. 입력이 유효한 방향성 에지가 아니면 예외를 발생시킵니다(functions_h3_default_if_invalid 설정으로 제어됨). 해당 설정이 활성화된 경우에만 0을 반환합니다.
구문
edge— 에지를 나타내는 육각형 인덱스 번호입니다. UInt64.
- 원점 육각형 인덱스 번호입니다. UInt64.
- 기본적으로 유효하지 않은 방향성 에지에 대해
INCORRECT_DATA를 발생시키며,functions_h3_default_if_invalid = 1이면0을 반환합니다.
Query
Response
h3GetDestinationIndexFromUnidirectionalEdge
에지 H3Index로부터 대상 육각형 인덱스를 반환합니다. 입력이 유효한 방향성 에지가 아니면 예외를 발생시킵니다(functions_h3_default_if_invalid 설정으로 제어됨). 해당 설정이 활성화된 경우에만 0을 반환합니다.
구문
edge— 에지를 나타내는 육각형 인덱스 번호입니다. UInt64.
- 대상 육각형의 인덱스 번호입니다. UInt64.
- 기본적으로 유효하지 않은 방향성 에지에 대해
INCORRECT_DATA를 발생시키며,functions_h3_default_if_invalid = 1이면0을 반환합니다.
Query
Response
h3GetIndexesFromUnidirectionalEdge
주어진 에지 H3Index로부터 원점 및 대상 육각형 인덱스를 반환합니다. 구문edge— 에지를 나타내는 육각형 인덱스 번호입니다. UInt64.
tuple(origin,destination)입니다.
제공된 입력이 유효한 방향성 에지가 아니면 예외를 발생시킵니다(functions_h3_default_if_invalid 설정으로 제어됨). 해당 설정이 활성화된 경우에만 (0,0)을 반환합니다.
예시
Query
Response
h3GetUnidirectionalEdgesFromHexagon
지정된 H3Index의 모든 에지를 반환합니다. 입력이 유효한 H3 셀이 아닌 경우 예외를 발생시킵니다(functions_h3_default_if_invalid 설정으로 제어됨). 이 설정이 활성화된 경우에만 빈 배열을 반환합니다.
구문
index— 셀을 나타내는 육각형 인덱스 번호입니다. UInt64.
- 각 에지를 나타내는 H3 인덱스의 배열입니다. 배열(UInt64).
- 기본적으로 잘못된 셀에 대해
INCORRECT_DATA를 발생시키며,functions_h3_default_if_invalid = 1이면[]를 반환합니다.
Query
Response
h3GetUnidirectionalEdgeBoundary
에지를 구성하는 좌표를 반환합니다. 입력이 유효한 방향성 에지가 아니면 예외를 발생시킵니다(functions_h3_default_if_invalid 설정으로 제어됨). 해당 설정이 활성화된 경우에만 빈 배열을 반환합니다.
구문
index— 에지를 나타내는 육각형 인덱스 번호입니다. UInt64.
- ‘(lat, lon)’ 쌍으로 이루어진 배열입니다. 배열(Float64, Float64).
- 기본적으로 잘못된 방향성 에지에서는
INCORRECT_DATA를 발생시키며,functions_h3_default_if_invalid = 1인 경우[]를 반환합니다.
Query
Response