индекс H3
parent) может быть разделён на семь таких же, но меньших (children), и так далее.
Уровень иерархии называется resolution и может принимать значения от 0 до 15, где 0 — это уровень base с самыми большими и самыми грубыми ячейками.
Пару широты и долготы можно преобразовать в 64-битный индекс H3, который идентифицирует ячейку сетки.
Индекс H3 в основном используется для группировки местоположений по бакетам и других геопространственных преобразований.
Полное описание системы H3 доступно на сайте Uber Engineering.
h3IsValid
h3index— Номер шестиугольного индекса. UInt64.
- 1 — Число является корректным индексом H3. UInt8.
- 0 — Число не является корректным индексом H3. UInt8.
Query
Response
h3GetResolution
h3index— номер шестиугольного индекса. UInt64.
- Разрешение индекса. Диапазон:
[0, 15]. UInt8. - Если индекс некорректен, функция возвращает случайное значение. Используйте h3IsValid, чтобы проверить индекс. UInt8.
Query
Response
h3EdgeAngle
resolution— разрешение индекса. UInt8. Диапазон:[0, 15].
Query
Response
h3EdgeLengthM
resolution— разрешение индекса. UInt8. Диапазон:[0, 15].
Query
Response
h3EdgeLengthKm
resolution— разрешение индекса. UInt8. Диапазон:[0, 15].
Query
Response
geoToH3
(lat, lon) с указанным разрешением.
Синтаксис
lat— Широта. Float64.lon— Долгота. Float64.resolution— Разрешение индекса. Диапазон:[0, 15]. UInt8.
geoToH3() принимает значения в порядке (lon, lat). Начиная с ClickHouse v25.5, входные значения принимаются в порядке (lat, lon). Предыдущее поведение можно восстановить с помощью настройки geotoh3_argument_order = 'lon_lat'.
Пример
Query
Response
h3ToGeo
h3Index— индекс H3. UInt64.
h3ToGeo() возвращает значения в порядке (lon, lat). Начиная с ClickHouse v25.1, возвращаемые значения идут в порядке (lat, lon). Предыдущее поведение можно восстановить с помощью настройки h3togeo_lon_lat_result_order = true.
Пример
Query
Response
h3ToGeoBoundary
(lat, lon), соответствующий границе указанного индекса H3.
Синтаксис
h3Index— индекс H3. UInt64.
Query
Response
h3kRing
k от заданного шестиугольника, в случайном порядке.
Синтаксис
Query
Response
h3PolygonToCells
geometryможет быть одним из следующих гео-типов данных или соответствующих примитивных типов:resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.
Query
Response
h3PolygonToCellsWithContainment
flags с режимами покрытия H3:
0—CONTAINMENT_CENTER1—CONTAINMENT_FULL2—CONTAINMENT_OVERLAPPING3—CONTAINMENT_OVERLAPPING_BBOX
geometryможет быть одним из следующих гео-типов данных или их базовых примитивных типов:resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.flags— режим покрытия. Диапазон:[0, 3]. Используйте целочисленные литералы, такие как0,1,2и3, или значения UInt32 (например,toUInt32(2)). Значения передаются в H3 API какUInt32. Другие встроенные целочисленные типы преобразуются с помощью точного приведения типов.
Query
Response
h3GetBaseCell
index— номер шестиугольного индекса. UInt64.
- Номер базовой ячейки шестиугольника. UInt8.
Query
Response
h3HexAreaM2
resolution— Разрешение индекса. Диапазон:[0, 15]. UInt8.
- Площадь в квадратных метрах. Float64.
Query
Response
h3HexAreaKm2
resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.
- Площадь в квадратных километрах. Float64.
Query
Response
h3IndexesAreNeighbors
Query
Response
h3ToChildren
index— Номер шестиугольного индекса. UInt64.resolution— Разрешение индекса. Диапазон:[0, 15]. UInt8.
Query
Response
h3ToParent
index— Номер шестиугольного индекса. UInt64.resolution— Разрешение индекса. Диапазон:[0, 15]. UInt8.
- Родительский индекс H3. UInt64.
Query
Response
h3ToString
H3Index в строковое представление.
index— номер шестиугольного индекса. UInt64.
- Строковое представление индекса H3. String.
Query
Response
stringToH3
H3Index (UInt64).
Синтаксис
index_str— Строковое представление индекса H3. String.
- Номер шестиугольного индекса. При ошибке возвращает 0. UInt64.
Query
Response
h3GetResolution
index— номер шестиугольного индекса. UInt64.
- Разрешение индекса. Диапазон:
[0, 15]. UInt8.
Query
Response
h3IsResClassIII
index— номер шестиугольного индекса. UInt64.
1— индекс относится к разрешению с ориентацией Class III. UInt8.0— индекс не относится к разрешению с ориентацией Class III. UInt8.
Query
Response
h3IsPentagon
index— номер шестиугольного индекса. UInt64.
1— индекс соответствует пятиугольной ячейке. UInt8.0— индекс не соответствует пятиугольной ячейке. UInt8.
Query
Response
h3GetFaces
index— номер шестиугольного индекса. UInt64.
Query
Response
h3CellAreaM2
index— номер шестиугольного индекса. UInt64.
- Площадь ячейки в квадратных метрах. Float64.
Query
Response
h3CellAreaRads2
index— номер шестиугольного индекса. UInt64.
- Площадь ячейки в квадратных радианах. Float64.
Query
Response
h3ToCenterChild
index— номер шестиугольного индекса. UInt64.resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.
- Индекс H3 центральной дочерней ячейки, содержащейся в указанном индексе H3 при заданном разрешении. UInt64.
Query
Response
h3ExactEdgeLengthM
index— номер шестиугольного индекса. UInt64.
- Точная длина ребра в метрах. Float64.
Query
Response
h3ExactEdgeLengthKm
index— Номер шестиугольного индекса. UInt64.
- Точная длина ребра в километрах. Float64.
Query
Response
h3ExactEdgeLengthRads
index— номер шестиугольного индекса. UInt64.
- Точная длина ребра в радианах. Float64.
Query
Response
h3NumHexagons
resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.
- Количество индексов H3. Int64.
Query
Response
h3PointDistM
lat1,lon1— широта и долгота точки 1 в градусах. Float64.lat2,lon2— широта и долгота точки 2 в градусах. Float64.
- Расстояние по гаверсинусу или расстояние по дуге большого круга в метрах. Float64.
Query
Response
h3PointDistKm
lat1,lon1— широта и долгота точки 1 в градусах. Float64.lat2,lon2— широта и долгота точки 2 в градусах. Float64.
- Расстояние, вычисленное по гаверсинусу или по дуге большого круга, в километрах. Float64.
Query
Response
h3PointDistRads
lat1,lon1— широта и долгота точки 1 в градусах. Float64.lat2,lon2— широта и долгота точки 2 в градусах. Float64.
- Расстояние по формуле гаверсинуса или длина дуги большого круга в радианах. Float64.
Query
Response
h3GetRes0Indexes
Query
Response
h3GetPentagonIndexes
resolution— разрешение индекса. Диапазон:[0, 15]. UInt8.
Query
Response
h3Line
start— Номер шестиугольного индекса, представляющий начальную точку. UInt64.end— Номер шестиугольного индекса, представляющий конечную точку. UInt64.
Query
Response
h3Distance
start— номер шестиугольного индекса, обозначающий начальную точку. UInt64.end— номер шестиугольного индекса, обозначающий конечную точку. UInt64.
- Количество ячеек сетки. Int64.
Query
Response
h3HexRing
index— Номер шестиугольного индекса, представляющий исходную ячейку. UInt64.k— Расстояние. UInt64.
Query
Response
h3GetUnidirectionalEdge
functions_h3_default_if_invalid). Для допустимых ячеек H3, не являющихся соседними (в том числе при указании одной и той же ячейки дважды), возвращает 0.
Синтаксис
originIndex— Номер шестиугольного индекса исходной ячейки. UInt64.destinationIndex— Номер шестиугольного индекса целевой ячейки. UInt64.
- Номер шестиугольного индекса однонаправленного ребра. UInt64.
Query
Response
h3UnidirectionalEdgeIsValid
index— Номер шестиугольного индекса. UInt64.
- 1 — Индекс H3 является валидным однонаправленным ребром. UInt8.
- 0 — Индекс H3 не является валидным однонаправленным ребром. UInt8.
Query
Response
h3GetOriginIndexFromUnidirectionalEdge
functions_h3_default_if_invalid); возвращает 0, только если эта настройка включена.
Синтаксис
edge— номер шестиугольного индекса, представляющего однонаправленное ребро. UInt64.
- Номер шестиугольного индекса исходной ячейки. UInt64.
- По умолчанию генерирует исключение
INCORRECT_DATAдля недопустимых направленных рёбер; возвращает0, еслиfunctions_h3_default_if_invalid = 1.
Query
Response
h3GetDestinationIndexFromUnidirectionalEdge
functions_h3_default_if_invalid); возвращает 0, только если эта настройка включена.
Синтаксис
edge— номер шестиугольного индекса, представляющего однонаправленное ребро. UInt64.
- Номер шестиугольного индекса целевой ячейки. UInt64.
- По умолчанию генерирует исключение
INCORRECT_DATAдля недопустимых направленных рёбер; возвращает0, еслиfunctions_h3_default_if_invalid = 1.
Query
Response
h3GetIndexesFromUnidirectionalEdge
edge— номер шестиугольного индекса, который представляет однонаправленное ребро. UInt64.
tuple(origin,destination):
origin— номер шестиугольного индекса исходной ячейки. UInt64.destination— номер шестиугольного индекса целевой ячейки. UInt64.
functions_h3_default_if_invalid); возвращает (0,0) только при включённой этой настройке.
Пример
Query
Response
h3GetUnidirectionalEdgesFromHexagon
functions_h3_default_if_invalid); возвращает пустой массив только при включённой настройке.
Синтаксис
index— номер шестиугольного индекса, соответствующий ячейке. UInt64.
- Массив индексов H3, представляющих каждое однонаправленное ребро. Array(UInt64).
- По умолчанию генерирует исключение
INCORRECT_DATAдля недопустимых ячеек; возвращает[], когдаfunctions_h3_default_if_invalid = 1.
Query
Response
h3GetUnidirectionalEdgeBoundary
functions_h3_default_if_invalid); возвращает пустой массив только при включённой настройке.
Синтаксис
index— номер шестиугольного индекса, представляющий однонаправленное ребро. UInt64.
- Массив пар ‘(lat, lon)’. Array(Float64, Float64).
- По умолчанию генерирует исключение
INCORRECT_DATAдля недопустимых направленных рёбер; возвращает[], когдаfunctions_h3_default_if_invalid = 1.
Query
Response