본문으로 바로가기
본문으로 바로가기

H3 인덱스를 다루는 함수

H3 Index

H3는 지구 표면을 동일한 크기의 육각형 셀로 이루어진 격자로 분할하는 지리 인덱싱 시스템입니다. 이 시스템은 계층 구조를 가지며, 최상위 수준의 각 육각형(「parent」)은 크기는 같지만 더 작은 7개의 육각형(「children」)으로 분할될 수 있고, 이러한 방식으로 계속 세분화됩니다.

계층의 수준은 resolution이라고 하며 0부터 15까지의 값을 가질 수 있습니다. 이 중 0은 셀이 가장 크고 가장 거친 base 수준입니다.

위도와 경도 쌍은 64비트 H3 인덱스로 변환되어 특정 격자 셀을 식별합니다.

H3 인덱스는 주로 위치를 버킷으로 묶거나 기타 지리 공간 연산을 수행하는 데 사용됩니다.

H3 시스템에 대한 전체 설명은 Uber Engineering 사이트에서 확인할 수 있습니다.

h3IsValid

숫자가 유효한 H3 인덱스인지 검증합니다.

구문

h3IsValid(h3index)

매개변수

  • h3index — 육각형 인덱스 번호입니다. UInt64.

반환 값

  • 1 — 숫자가 유효한 H3 인덱스입니다. UInt8.
  • 0 — 숫자가 유효한 H3 인덱스가 아닙니다. UInt8.

예시

쿼리:

SELECT h3IsValid(630814730351855103) AS h3IsValid;

결과:

┌─h3IsValid─┐
│         1 │
└───────────┘

h3GetResolution

지정된 H3 인덱스의 해상도를 나타냅니다.

구문

h3GetResolution(h3index)

매개변수

  • h3index — 육각형 인덱스 번호. UInt64.

반환값

  • 인덱스 해상도. 범위: [0, 15]. UInt8.
  • 인덱스가 유효하지 않으면 함수는 임의의 값을 반환합니다. 인덱스 유효성을 검증하려면 h3IsValid를 사용합니다. UInt8.

예시

쿼리:

SELECT h3GetResolution(639821929606596015) AS resolution;

결과:

┌─resolution─┐
│         14 │
└────────────┘

h3EdgeAngle

H3 육각형 변의 평균 길이를 그라디안 단위로 계산합니다.

구문

h3EdgeAngle(resolution)

매개변수

  • resolution — 인덱스 해상도. UInt8. 범위: [0, 15].

반환 값

  • 도 단위로 표현한 H3 육각형 변의 평균 길이. Float64.

예제

쿼리:

SELECT h3EdgeAngle(10) AS edgeAngle;

결과:

┌───────h3EdgeAngle(10)─┐
│ 0.0005927224846720883 │
└───────────────────────┘

h3EdgeLengthM

H3 육각형 한 변의 평균 길이를 미터 단위로 계산합니다.

구문

h3EdgeLengthM(resolution)

매개변수

  • resolution — 인덱스의 해상도. UInt8. 범위: [0, 15].

반환 값

  • H3 육각형의 평균 변 길이(미터 단위). Float64.

예시

쿼리:

SELECT h3EdgeLengthM(15) AS edgeLengthM;

결과:

┌─edgeLengthM─┐
│ 0.509713273 │
└─────────────┘

h3EdgeLengthKm

H3 헥사곤 변의 평균 길이를 킬로미터 단위로 계산합니다.

구문

h3EdgeLengthKm(resolution)

매개변수

  • resolution — 인덱스 해상도. UInt8. 범위: [0, 15].

반환값

  • H3 육각형 변의 평균 길이(킬로미터 단위). Float64.

예시

쿼리:

SELECT h3EdgeLengthKm(15) AS edgeLengthKm;

결과:

┌─edgeLengthKm─┐
│  0.000509713 │
└──────────────┘

geoToH3

지정한 해상도로 (lat, lon) 좌표에 대한 H3 포인트 인덱스를 반환합니다.

구문

geoToH3(lat, lon, resolution)

인수

  • lat — 위도. Float64.
  • lon — 경도. Float64.
  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환 값

  • 육각형 인덱스 번호. UInt64.
  • 오류 발생 시 0. UInt64.

참고: ClickHouse v25.4 이하에서는 geoToH3() 함수가 (lon, lat) 순서로 값을 받습니다. ClickHouse v25.5부터는 (lat, lon) 순서로 입력값을 받습니다. 이전 동작은 geotoh3_argument_order = 'lon_lat' SETTING을 사용하여 복원할 수 있습니다.

예시

쿼리:

SELECT geoToH3(55.71290588, 37.79506683, 15) AS h3Index;

결과:

┌────────────h3Index─┐
│ 644325524701193974 │
└────────────────────┘

h3ToGeo

제공된 H3 인덱스에 해당하는 중심 위도와 경도를 반환합니다.

구문

h3ToGeo(h3Index)

인수

  • h3Index — H3 인덱스. UInt64.

반환 값

  • 두 개의 값으로 구성된 튜플: tuple(lat, lon). lat — 위도(Latitude). Float64. lon — 경도(Longitude). Float64.

참고: ClickHouse v24.12 또는 그 이전 버전에서는 h3ToGeo()(lon, lat) 순서로 값을 반환합니다. ClickHouse v25.1부터는 (lat, lon) 순서로 값을 반환합니다. 이전 동작은 h3togeo_lon_lat_result_order = true 설정을 사용하여 복원할 수 있습니다.

예시

쿼리:

SELECT h3ToGeo(644325524701193974) AS coordinates;

결과:

┌─coordinates───────────────────────────┐
│ (55.71290243145668,37.79506616830252) │
└───────────────────────────────────────┘

h3ToGeoBoundary

주어진 H3 인덱스의 경계를 나타내는 (lat, lon) 좌표 쌍 배열을 반환합니다.

구문

h3ToGeoBoundary(h3Index)

인수

  • h3Index — H3 인덱스. UInt64.

반환값

예시

쿼리:

SELECT h3ToGeoBoundary(644325524701193974) AS coordinates;

결과:

┌─h3ToGeoBoundary(599686042433355775)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [(37.2713558667319,-121.91508032705622),(37.353926450852256,-121.8622232890249),(37.42834118609435,-121.92354999630156),(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044),(37.26319797461824,-122.02910130919001)] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3kRing

지정된 헥사곤으로부터 반경 k 안에 있는 모든 H3 헥사곤을 임의의 순서로 반환합니다.

구문

h3kRing(h3index, k)

인수

  • h3index — 육각형 인덱스 번호. UInt64.
  • k — 반지름. integer

반환 값

예시

쿼리:

SELECT arrayJoin(h3kRing(644325529233966508, 1)) AS h3index;

결과:

┌────────────h3index─┐
│ 644325529233966508 │
│ 644325529233966497 │
│ 644325529233966510 │
│ 644325529233966504 │
│ 644325529233966509 │
│ 644325529233966355 │
│ 644325529233966354 │
└────────────────────┘

h3PolygonToCells

지정된 해상도의 육각형 셀들 중에서, 제공된 기하 도형(링 또는 (멀티)폴리곤)에 포함되는 것들을 반환합니다.

구문

h3PolygonToCells(geometry, resolution)

인수

반환 값

  • 포함된 H3 인덱스의 배열입니다. Array(UInt64).

예시

쿼리:

SELECT h3PolygonToCells([(-122.4089866999972145,37.813318999983238),(-122.3544736999993603,37.7198061999978478),(-122.4798767000009008,37.8151571999998453)], 7) AS h3index;

결과:

┌────────────h3index─┐
│ 608692970769612799 │
│ 608692971927240703 │
│ 608692970585063423 │
│ 608692970819944447 │
│ 608692970719281151 │
│ 608692970752835583 │
│ 608692972027903999 │
└────────────────────┘

h3GetBaseCell

H3 인덱스의 기본 셀 번호를 반환합니다.

구문

h3GetBaseCell(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환 값

  • 육각형 베이스 셀 번호. UInt8.

예시

쿼리:

SELECT h3GetBaseCell(612916788725809151) AS basecell;

결과:

┌─basecell─┐
│       12 │
└──────────┘

h3HexAreaM2

지정된 해상도에서의 육각형 평균 면적을 제곱미터 단위로 반환합니다.

구문

h3HexAreaM2(resolution)

매개변수

  • resolution — 인덱스 해상도입니다. 범위는 [0, 15]입니다. UInt8.

반환 값

  • 제곱미터 단위의 면적입니다. Float64.

예시

쿼리:

SELECT h3HexAreaM2(13) AS area;

결과:

┌─area─┐
│ 43.9 │
└──────┘

h3HexAreaKm2

주어진 해상도에서의 육각형 평균 면적을 제곱킬로미터 단위로 반환합니다.

구문

h3HexAreaKm2(resolution)

매개변수

  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환값

  • 제곱킬로미터 단위의 면적. Float64.

예제

쿼리:

SELECT h3HexAreaKm2(13) AS area;

결과:

┌──────area─┐
│ 0.0000439 │
└───────────┘

h3IndexesAreNeighbors

제공된 H3 인덱스가 서로 이웃인지 여부를 반환합니다.

구문

h3IndexesAreNeighbors(index1, index2)

인수

  • index1 — 육각형 인덱스 번호. UInt64.
  • index2 — 육각형 인덱스 번호. UInt64.

반환 값

  • 1 — 인덱스가 서로 인접합니다. UInt8.
  • 0 — 인덱스가 서로 인접하지 않습니다. UInt8.

예제

쿼리:

SELECT h3IndexesAreNeighbors(617420388351344639, 617420388352655359) AS n;

결과:

┌─n─┐
│ 1 │
└───┘

h3ToChildren

주어진 H3 인덱스의 하위 인덱스 배열을 반환합니다.

문법

h3ToChildren(index, resolution)

인수

  • index — 육각형 인덱스 번호입니다. UInt64.
  • resolution — 인덱스 해상도입니다. 범위: [0, 15]. UInt8.

반환 값

예시

쿼리:

SELECT h3ToChildren(599405990164561919, 6) AS children;

결과:

┌─children───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [603909588852408319,603909588986626047,603909589120843775,603909589255061503,603909589389279231,603909589523496959,603909589657714687] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3ToParent

주어진 H3 인덱스를 포함하는 상위(더 낮은 해상도의) 인덱스를 반환합니다.

구문

h3ToParent(index, resolution)

인수

  • index — 육각형 인덱스 번호. UInt64.
  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환 값

  • 부모 H3 인덱스. UInt64.

예시

쿼리:

SELECT h3ToParent(599405990164561919, 3) AS parent;

결과:

┌─────────────parent─┐
│ 590398848891879423 │
└────────────────────┘

h3ToString

H3Index 형식으로 표현된 인덱스를 문자열 형식으로 변환합니다.

h3ToString(index)

매개변수

  • index — 헥사곤 인덱스 번호. UInt64.

반환값

  • H3 인덱스의 문자열 표현. String.

예시

쿼리:

SELECT h3ToString(617420388352917503) AS h3_string;

결과:

┌─h3_string───────┐
│ 89184926cdbffff │
└─────────────────┘

stringToH3

문자열 표현을 H3Index (UInt64) 표현으로 변환합니다.

구문

stringToH3(index_str)

매개변수

  • index_str — H3 인덱스의 문자열 표현입니다. String.

반환값

  • 육각형 인덱스 번호입니다. 오류가 발생하면 0을 반환합니다. UInt64.

예제

쿼리:

SELECT stringToH3('89184926cc3ffff') AS index;

결과:

┌──────────────index─┐
│ 617420388351344639 │
└────────────────────┘

h3GetResolution

H3 인덱스의 해상도를 반환합니다.

구문

h3GetResolution(index)

파라미터

  • index — 육각형 인덱스 번호. UInt64.

반환값

  • 인덱스 해상도. 범위: [0, 15]. UInt8.

예시

쿼리:

SELECT h3GetResolution(617420388352917503) AS res;

결과:

┌─res─┐
│   9 │
└─────┘

h3IsResClassIII

H3 인덱스가 Class III 방향성을 가진 해상도를 갖는지 여부를 반환합니다.

구문

h3IsResClassIII(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환 값

  • 1 — 인덱스에 Class III 방향 해상도가 있습니다. UInt8.
  • 0 — 인덱스에 Class III 방향 해상도가 없습니다. UInt8.

예제

쿼리:

SELECT h3IsResClassIII(617420388352917503) AS res;

결과:

┌─res─┐
│   1 │
└─────┘

h3IsPentagon

H3 인덱스가 오각형 셀을 나타내는지 여부를 반환합니다.

구문

h3IsPentagon(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환 값

  • 1 — 인덱스가 오각형 셀을 나타냅니다. UInt8.
  • 0 — 인덱스가 오각형 셀을 나타내지 않습니다. UInt8.

예시

쿼리:

SELECT h3IsPentagon(644721767722457330) AS pentagon;

결과:

┌─pentagon─┐
│        0 │
└──────────┘

h3GetFaces

지정된 H3 인덱스와 교차하는 정이십면체의 면을 반환합니다.

구문

h3GetFaces(index)

매개변수

  • index — 헥사곤 인덱스 번호입니다. UInt64.

반환 값

  • 지정된 H3 인덱스와 교차하는 이십면체 면(icosahedron faces)을 포함하는 배열입니다. Array(UInt64).

예시

쿼리:

SELECT h3GetFaces(599686042433355775) AS faces;

결과:

┌─faces─┐
│ [7]   │
└───────┘

h3CellAreaM2

지정한 H3 인덱스에 해당하는 특정 셀의 정확한 면적(제곱미터 단위)을 반환합니다.

구문

h3CellAreaM2(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환값

  • 셀 면적(제곱미터 단위). Float64.

예시

쿼리:

SELECT h3CellAreaM2(579205133326352383) AS area;

결과:

┌───────────────area─┐
│ 4106166334463.9233 │
└────────────────────┘

h3CellAreaRads2

입력으로 주어진 H3 인덱스에 해당하는 특정 셀의 정확한 면적을 제곱 라디안 단위로 반환합니다.

구문

h3CellAreaRads2(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환 값

  • 셀 면적(단위: 제곱 라디안). Float64.

예제

쿼리:

SELECT h3CellAreaRads2(579205133326352383) AS area;

결과:

┌────────────────area─┐
│ 0.10116268528089567 │
└─────────────────────┘

h3ToCenterChild

지정된 해상도에서, 주어진 H3 인덱스에 포함된 중심 자식(더 세밀한 해상도의) H3 인덱스를 반환합니다.

구문

h3ToCenterChild(index, resolution)

매개변수

  • index — 육각형 인덱스 번호. UInt64.
  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환값

  • 지정된 해상도에서, 주어진 H3에 포함된 중심 자식 H3 인덱스. UInt64.

예시

쿼리:

SELECT h3ToCenterChild(577023702256844799,1) AS centerToChild;

결과:

┌──────centerToChild─┐
│ 581496515558637567 │
└────────────────────┘

h3ExactEdgeLengthM

입력 h3 인덱스가 나타내는 단방향 엣지의 정확한 길이를 미터 단위로 반환합니다.

구문

h3ExactEdgeLengthM(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환값

  • 미터 단위의 정확한 변 길이. Float64.

예제

쿼리:

SELECT h3ExactEdgeLengthM(1310277011704381439) AS exactEdgeLengthM;;

결과:

┌───exactEdgeLengthM─┐
│ 195449.63163407316 │
└────────────────────┘

h3ExactEdgeLengthKm

입력 h3 인덱스가 나타내는 단방향 엣지의 정확한 길이를 킬로미터 단위로 반환합니다.

구문

h3ExactEdgeLengthKm(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환 값

  • 킬로미터 단위의 정확한 변의 길이. Float64.

예제

쿼리:

SELECT h3ExactEdgeLengthKm(1310277011704381439) AS exactEdgeLengthKm;;

결과:

┌──exactEdgeLengthKm─┐
│ 195.44963163407317 │
└────────────────────┘

h3ExactEdgeLengthRads

입력 h3 인덱스로 표현되는 단방향 에지의 정확한 길이를 라디안 단위로 반환합니다.

구문

h3ExactEdgeLengthRads(index)

매개변수

  • index — 헥사곤 인덱스 번호. UInt64.

반환값

  • 라디안 단위의 정확한 변의 길이. Float64.

예시

쿼리:

SELECT h3ExactEdgeLengthRads(1310277011704381439) AS exactEdgeLengthRads;;

결과:

┌──exactEdgeLengthRads─┐
│ 0.030677980118976447 │
└──────────────────────┘

h3NumHexagons

지정된 해상도에서 고유한 H3 인덱스의 개수를 반환합니다.

구문

h3NumHexagons(resolution)

매개변수

  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환 값

  • H3 인덱스의 개수. Int64.

예제

쿼리:

SELECT h3NumHexagons(3) AS numHexagons;

결과:

┌─numHexagons─┐
│       41162 │
└─────────────┘

h3PointDistM

GeoCoord 좌표 쌍(위도/경도) 사이의 「great circle」 또는 「haversine」 거리를 미터 단위로 반환합니다.

구문

h3PointDistM(lat1, lon1, lat2, lon2)

인수

  • lat1, lon1 — point1의 위도와 경도(도 단위). Float64.
  • lat2, lon2 — point2의 위도와 경도(도 단위). Float64.

반환 값

  • Haversine 또는 대권 거리, 단위는 미터입니다. Float64.

예제

쿼리:

SELECT h3PointDistM(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistM;

결과:

┌──────h3PointDistM─┐
│ 2223901.039504589 │
└───────────────────┘

h3PointDistKm

GeoCoord 좌표(위도/경도) 쌍 사이의 「대권(great circle)」 또는 「haversine」 거리를 킬로미터 단위로 반환합니다.

구문

h3PointDistKm(lat1, lon1, lat2, lon2)

인수

  • lat1, lon1 — point1 지점의 위도와 경도(도 단위). Float64.
  • lat2, lon2 — point2 지점의 위도와 경도(도 단위). Float64.

반환값

  • Haversine 또는 대권 거리(킬로미터 단위). Float64.

예시

쿼리:

SELECT h3PointDistKm(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistKm;

결과:

┌─────h3PointDistKm─┐
│ 2223.901039504589 │
└───────────────────┘

h3PointDistRads

GeoCoord로 표현된 위도/경도 좌표 쌍 사이의 「대권(great circle)」 또는 「하버사인(haversine)」 거리를 라디안 단위로 반환합니다.

구문

h3PointDistRads(lat1, lon1, lat2, lon2)

인자

  • lat1, lon1 — point1 지점의 위도와 경도(도 단위). Float64.
  • lat2, lon2 — point2 지점의 위도와 경도(도 단위). Float64.

반환 값

  • Haversine 거리 또는 대권 거리(라디안 단위). Float64.

예시

쿼리:

SELECT h3PointDistRads(-10.0 ,0.0, 10.0, 0.0) AS h3PointDistRads;

결과:

┌────h3PointDistRads─┐
│ 0.3490658503988659 │
└────────────────────┘

h3GetRes0Indexes

해상도 0인 모든 H3 인덱스를 배열로 반환합니다.

구문

h3GetRes0Indexes()

반환 값

  • 모든 resolution 0 수준 H3 인덱스를 포함하는 배열입니다. Array(UInt64).

예시

쿼리:

SELECT h3GetRes0Indexes AS indexes ;

결과:

┌─indexes─────────────────────────────────────┐
│ [576495936675512319,576531121047601151,....]│
└─────────────────────────────────────────────┘

h3GetPentagonIndexes

지정한 해상도의 모든 H3 오각형 인덱스를 반환합니다.

구문

h3GetPentagonIndexes(resolution)

매개변수

  • resolution — 인덱스 해상도. 범위: [0, 15]. UInt8.

반환값

  • 모든 오각형 H3 인덱스의 배열. Array(UInt64).

예제

쿼리:

SELECT h3GetPentagonIndexes(3) AS indexes;

결과:

┌─indexes────────────────────────────────────────────────────────┐
│ [590112357393367039,590464201114255359,590816044835143679,...] │
└────────────────────────────────────────────────────────────────┘

h3Line

제공된 두 인덱스를 잇는 인덱스들의 선(line)을 반환합니다.

구문

h3Line(start,end)

매개변수

  • start — 시작 지점을 나타내는 육각형 인덱스 번호입니다. UInt64.
  • end — 종료 지점을 나타내는 육각형 인덱스 번호입니다. UInt64.

반환 값

두 인덱스 사이의 경로를 나타내는 h3 인덱스 배열입니다. Array(UInt64).

예제

쿼리:

 SELECT h3Line(590080540275638271,590103561300344831) AS indexes;

결과:

┌─indexes────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080540275638271,590080471556161535,590080883873021951,590106516237844479,590104385934065663,590103630019821567,590103561300344831] │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3Distance

제공된 두 인덱스 간의 거리를 그리드 셀 수로 반환합니다.

구문

h3Distance(start,end)

매개변수

  • start — 시작 지점을 나타내는 육각형 인덱스 번호입니다. UInt64.
  • end — 종료 지점을 나타내는 육각형 인덱스 번호입니다. UInt64.

반환 값

  • 그리드 셀 수입니다. Int64.

거리 계산에 실패하면 음수를 반환합니다.

예제

쿼리:

 SELECT h3Distance(590080540275638271,590103561300344831) AS distance;

결과:

┌─distance─┐
│        7 │
└──────────┘

h3HexRing

제공된 origin h3Index를 중심으로 하고 길이 k를 갖는 육각형 링을 구성하는 인덱스를 반환합니다.

오각형 왜곡이 발생하지 않은 경우 0을 반환합니다.

Syntax

h3HexRing(index, k)

매개변수

  • index — 기준이 되는 육각형 인덱스를 나타내는 번호. UInt64.
  • k — 거리. UInt64.

반환 값

예시

쿼리:

 SELECT h3HexRing(590080540275638271, toUInt16(1)) AS hexRing;

결과:

┌─hexRing─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [590080815153545215,590080471556161535,590080677714591743,590077585338138623,590077447899185151,590079509483487231] │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3GetUnidirectionalEdge

지정된 origin과 destination을 기반으로 단방향 edge H3 인덱스를 반환하며, 오류가 발생하면 0을 반환합니다.

구문

h3GetUnidirectionalEdge(originIndex, destinationIndex)

매개변수

  • originIndex — 원본 육각형 인덱스 번호. UInt64.
  • destinationIndex — 목적지 육각형 인덱스 번호. UInt64.

반환 값

  • 단방향 에지 육각형 인덱스 번호. UInt64.

예시

쿼리:

 SELECT h3GetUnidirectionalEdge(599686042433355775, 599686043507097599) AS edge;

결과:

┌────────────────edge─┐
│ 1248204388774707199 │
└─────────────────────┘

h3UnidirectionalEdgeIsValid

제공된 H3Index가 유효한 단방향 에지 인덱스인지 확인합니다. 단방향 에지인 경우 1을, 그렇지 않은 경우 0을 반환합니다.

구문

h3UnidirectionalEdgeisValid(index)

매개변수

  • index — 육각형 인덱스 번호. UInt64.

반환값

  • 1 — H3 인덱스가 유효한 단방향 엣지입니다. UInt8.
  • 0 — H3 인덱스가 유효한 단방향 엣지가 아닙니다. UInt8.

예제

쿼리:

 SELECT h3UnidirectionalEdgeIsValid(1248204388774707199) AS validOrNot;

결과:

┌─validOrNot─┐
│          1 │
└────────────┘

h3GetOriginIndexFromUnidirectionalEdge

단방향 엣지 H3Index에서 원점 육각형 인덱스를 반환합니다.

구문

h3GetOriginIndexFromUnidirectionalEdge(edge)

매개변수

  • edge — 단방향 edge를 나타내는 육각형 인덱스 번호. UInt64.

반환 값

  • 시작 육각형 인덱스 번호. UInt64.

예시

쿼리:

 SELECT h3GetOriginIndexFromUnidirectionalEdge(1248204388774707197) AS origin;

결과:

┌─────────────origin─┐
│ 599686042433355773 │
└────────────────────┘

h3GetDestinationIndexFromUnidirectionalEdge

단방향 에지 H3Index에서 목적지 육각형 인덱스를 반환합니다.

구문

h3GetDestinationIndexFromUnidirectionalEdge(edge)

매개변수

  • edge — 단방향 에지를 나타내는 육각형 인덱스 번호입니다. UInt64.

반환값

  • 대상 육각형 인덱스 번호입니다. UInt64.

예시

쿼리:

 SELECT h3GetDestinationIndexFromUnidirectionalEdge(1248204388774707197) AS destination;

결과값:

┌────────destination─┐
│ 599686043507097597 │
└────────────────────┘

h3GetIndexesFromUnidirectionalEdge

주어진 단방향 에지 H3Index에서 시작 육각형 인덱스와 도착 육각형 인덱스를 반환합니다.

구문

h3GetIndexesFromUnidirectionalEdge(edge)

매개변수

  • edge — 단방향 edge를 나타내는 헥사곤 인덱스 번호. UInt64.

반환값

다음 두 값으로 구성된 튜플 tuple(origin, destination):

  • origin — 시작 헥사곤 인덱스 번호. UInt64.
  • destination — 도착 헥사곤 인덱스 번호. UInt64.

입력값이 유효하지 않은 경우 (0,0)을 반환합니다.

예시

쿼리:

 SELECT h3GetIndexesFromUnidirectionalEdge(1248204388774707199) AS indexes;

결과:

┌─indexes─────────────────────────────────┐
│ (599686042433355775,599686043507097599) │
└─────────────────────────────────────────┘

h3GetUnidirectionalEdgesFromHexagon

제공된 H3Index의 모든 단방향 에지를 반환합니다.

구문

h3GetUnidirectionalEdgesFromHexagon(index)

매개변수

  • index — 단방향 간선을 나타내는 육각형 인덱스 번호입니다. UInt64.

반환 값

각 단방향 간선을 나타내는 h3 인덱스로 구성된 배열입니다. Array(UInt64).

예시

쿼리:

 SELECT h3GetUnidirectionalEdgesFromHexagon(1248204388774707199) AS edges;

결과:

┌─edges─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ [1248204388774707199,1320261982812635135,1392319576850563071,1464377170888491007,1536434764926418943,1608492358964346879] │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

h3GetUnidirectionalEdgeBoundary

단방향 에지를 나타내는 좌표를 반환합니다.

구문

h3GetUnidirectionalEdgeBoundary(index)

파라미터

  • index — 단방향 edge를 나타내는 육각형 인덱스 번호입니다. UInt64.

반환 값

예시

쿼리:

 SELECT h3GetUnidirectionalEdgeBoundary(1248204388774707199) AS boundary;

결과:

┌─boundary────────────────────────────────────────────────────────────────────────┐
│ [(37.42012867767779,-122.03773496427027),(37.33755608435299,-122.090428929044)] │
└─────────────────────────────────────────────────────────────────────────────────┘