Географические функции

Функции географических координат

Функции географических координат в RQL предназначены для обработки и анализа геопространственных данных. Они позволяют выполнять расчеты расстояний между точками на земной поверхности, определять принадлежность точек к геометрическим фигурам, таким как эллипсы и многоугольники, и вычислять углы между точками.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции географических координат
Функция Описание

geoDistance

Вычисляет расстояние между двумя точками на земной поверхности.

greatCircleAngle

Вычисляет угол между двумя точками на поверхности земли по большому кругу.

greatCircleDistance

Расчет расстояния по большому кругу между двумя точками на поверхности земли.

pointInEllipses

Определяет, находится ли точка внутри заданных эллипсов.

pointInPolygon

Проверяет, находится ли заданная точка внутри многоугольника.

Функции Geohash

Geohash — это система геокодирования, которая делит поверхность Земли на сектора в форме сетки и кодирует каждую ячейку короткой строкой из букв и цифр. Это иерархическая структура данных, поэтому чем длиннее строка geohash, тем точнее географическое местоположение.

Если вам необходимо вручную конвертировать географические координаты в строки geohash, вы можете использовать geohash.org.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции Geohash
Функция Описание

geohashDecode

Декодирует строку Geohash обратно в географические координаты.

geohashEncode

Кодирует географические координаты в строку Geohash.

geohashesInBox

Генерирует Geohash-коды, покрывающие прямоугольник, заданный двумя угловыми точками.

Функции индексов H3

H3 — это географическая система индексации, в которой поверхность Земли разделена на сетку равных шестиугольных ячеек. Эта система является иерархической, то есть каждый шестиугольник на верхнем уровне ("родитель") может быть разделен на семь равных, но меньших ("дети").

Уровень иерархии называется разрешением и может принимать значения от 0 до 15, где 0 — это базовый уровень с самыми крупными и грубыми ячейками.

Пара широты и долготы может быть преобразована в 64-битный индекс H3, идентифицирующий ячейку сетки.

Индекс H3 в основном используется для группировки местоположений и других геопространственных манипуляций.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции индексов H3
Функция Описание

geoToH3

Преобразует географические координаты в индекс H3.

h3CellAreaM2

Возвращает площадь ячейки H3 в квадратных метрах.

h3CellAreaRads2

Возвращает площадь ячейки H3 в квадратны х радианах.

h3Distance(start,end)

Возвращает расстояние в ячейках между индексами H3 start и end.

h3EdgeAngle

Вычисляет угол ребра индекса H3.

h3EdgeLengthKm

Вычисляет длину ребра индекса H3 в километрах.

h3EdgeLengthM

Вычисляет длину ребра индекса H3 в метрах.

h3ExactEdgeLengthKm

Возвращает точную длину ребра индекса H3 в километрах.

h3ExactEdgeLengthM

Возвращает точную длину ребра индекса H3 в метрах.

h3ExactEdgeLengthRads

Возвращает точную длину ребра индекса H3 в радианах.

h3GetBaseCell

Возвращает базовую ячейку для данного индекса H3.

h3GetDestinationIndexFromUnidirectionalEdge

Возвращает конечный индекс для однонаправленного ребра.

h3GetFaces

Возвращает список граней, которые пересекает ячейка, представленная индексом H3.

h3GetIndexesFromUnidirectionalEdge

Возвращает оба индекса для однонаправленного ребра.

h3GetOriginIndexFromUnidirectionalEdge

Возвращает исходный индекс для однонаправленного ребра.

h3GetResolution

Возвращает разрешение (уровень детализации) индекса H3.

h3GetUnidirectionalEdge

Возвращает однонаправленное ребро между двумя индексами H3.

h3GetUnidirectionalEdgeBoundary

Возвращает границы однонаправленного ребра.

h3GetUnidirectionalEdgesFromHexagon

Возвращает все однонаправленные ребра для заданной ячейки.

h3HexAreaKm2

Возвращает площадь ячейки, представленной индексом H3, в квадратных километрах.

h3HexAreaM2

Возвращает площадь ячейки, представленной индексом H3, в квадратных метрах.

h3HexRing(index, k)

Возвращает индексы кольца ячеек на расстоянии k от индекса H3 index.

h3IndexesAreNeighbors

Проверяет, являются ли два индекса H3 соседями.

h3IsPentagon

Проверяет, является ли индекс H3 пятиугольной ячейкой.

h3IsResClassIII

Определяет, принадлежит ли индекс H3 к третьему классу разрешения.

h3IsValid

Проверяет, является ли заданный индекс H3 действительным.

h3kRing

Возвращает набор индексов H3, составляющих кольцо вокруг заданной точки.

h3Line

Возвращает линию (последовательность индексов H3) между двумя индексами H3.

h3NumHexagons

Возвращает количество уникальных индексов H3 в указанном разрешении.

h3ToCenterChild

Возвращает центральный дочерний индекс для заданного индекса H3.

h3ToChildren

Возвращает дочерние индексы для заданного индекса H3 и указанного разрешения.

h3ToGeo

Преобразует индекс H3 обратно в географические координаты.

h3ToGeoBoundary

Возвращает границы ячейки, представленной индексом H3.

h3ToParent

Возвращает родительский индекс для заданного индекса H3 и указанного разрешения.

h3ToString

Преобразует индекс H3 в строковое представление.

h3UnidirectionalEdgeIsValid

Проверяет, является ли однонаправленное ребро действительным.

stringToH3

Преобразует строковое представление индекса H3 обратно в индекс.

Функции индексов S2

S2 — это система географической индексации, в которой все географические данные представлены на трехмерной сфере, аналогично глобусу.

В библиотеке S2 точки представлены как S2 Index — определенное число, которое внутренне кодирует точку на поверхности единичной сферы, в отличие от традиционных пар широты и долготы. Для получения индекса точки S2 для данной точки, указанной в формате "широта, долгота", используйте функцию geoToS2. Также вы можете использовать функцию s2ToGeo для получения географических координат, соответствующих указанному индексу точки S2.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции индексов S2
Функция Описание

geoToS2(lon, lat)

Преобразует географические координаты с широтой lon и долготой lat в индекс S2.

s2CapContains

Проверяет, содержит ли сферический сегмент заданную точку или ячейку.

s2CapUnion

Объединяет два сферических сегмента.

s2CellsIntersect

Проверяет пересечение двух ячеек S2.

s2GetNeighbors

Возвращает индексы S2 соседних ячеек.

s2RectAdd

Добавляет точку к прямоугольнику S2, потенциально расширяя его.

s2RectContains

Проверяет, содержит ли прямоугольник S2 заданную точку.

s2RectIntersection

Находит пересечение двух прямоугольников S2.

s2RectUnion

Объединяет два прямоугольника S2.

s2ToGeo

Преобразует индекс S2 обратно в географические координаты.

Была ли полезна эта страница?

Обратная связь