Поделиться через


geo_h3cell_rings()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Вычисляет кольца ячеек H3.

Дополнительные сведения о ячейке H3.

Синтаксис

geo_h3cell_rings(расстояние h3cell,)

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
h3cell string ✔️ Значение маркера ячейки H3, вычисляемое geo_point_to_h3cell().
distance int ✔️ Определяет максимальное расстояние от заданной ячейки. Допустимое расстояние находится в диапазоне [0, 142].

Возвраты

Упорядоченный массив массивов кругов, где первое кольцо содержит исходную ячейку, второе кольцо содержит соседние ячейки и т. д. Если ячейка H3 или расстояние недопустимы, запрос выдает результат NULL.

Примечание.

  • Только для ближайших соседей ячейки H3 см . geo_h3cell_neighbors().
  • Ячейка может не присутствовать в кольце, если обнаружена пятиугольная искажение.

Примеры

В следующем примере создаются кольца до расстояния 2.

print rings = geo_h3cell_rings('861f8894fffffff', 2)

Выходные данные

Кольца
[
["861f8894fffffff"],
["861f88947ffffff","861f8895fffff","861f88867ffff","861f8d497ff","861f8d4b7ff","861f8896fff"],
["861f88967ffff","861f88977ffff","861f88957ff","861f8882fff","861f8887ff","861f8884ff","861f8886fffffff","861f8d49fffff","861f8d487ff","861f8d4a7ff","861f8d59fffff","861f8d5d59ffff"]
]

В следующем примере создаются все ячейки уровня 1 (все соседи).

print neighbors = geo_h3cell_rings('861f8894fffffff', 1)[1]

Выходные данные

Соседей
["861f88947ffffff", "861f8895fff", "861f88867ff", "861f8d497ff", "861f8d4b7ff","861f8896fff"]

В следующем примере создается список ячеек из всех кругов.

print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on 
(
  summarize cells = make_list(rings)
)

Выходные данные

Клетки
["861f8894fffffff","861f88947ffff","861f8895fff","861f888867ff","861f8d497ff","861f8d4b7ff","861f8896fff"]

В следующем примере выполняется сборка геометрической коллекции GeoJSON всех ячеек.

print rings = geo_h3cell_rings('861f8894fffffff', 1)
| mv-apply rings on 
(
  summarize make_list(rings)
)
| mv-expand list_rings to typeof(string)
| project polygon = geo_h3cell_to_polygon(list_rings)
| summarize polygon_lst = make_list(polygon)
| project geojson = bag_pack(
    "type", "Feature",
    "geometry", bag_pack("type", "GeometryCollection", "geometries", polygon_lst),
    "properties", bag_pack("name", "H3 polygons collection"))

Выходные данные

geojson
{ "type": "Feature", "geometry": { "type": "GeometryCollection", "geometries": [ ... ... ]}, "properties": { "name": "Коллекция многоугольников H3" }}

В следующем примере возвращается значение true из-за недопустимой ячейки.

print is_null = isnull(geo_h3cell_rings('abc', 3))

Выходные данные

is_null
1

В следующем примере возвращается значение true из-за недопустимого расстояния.

print is_null = isnull(geo_h3cell_rings('861f8894fffffff', 150))

Выходные данные

is_null
1