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


geo_h3cell_neighbors()

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

Вычисляет соседи ячейки H3.

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

Синтаксис

geo_h3cell_neighbors(h3cell)

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

Параметры

Имя (название) Type Обязательно Описание
h3cell string ✔️ Значение маркера ячейки H3, вычисляемое geo_point_to_h3cell().

Возвраты

Массив соседей ячейки H3. Если ячейка H3 недопустима, запрос создаст результат NULL.

Примечание.

Если требуется больше неимидиатных соседей, см . geo_h3cell_rings().

Примеры

В следующем примере вычисляется соседи ячеек H3.

print neighbors = geo_h3cell_neighbors('862a1072fffffff')

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

Соседей
["862a10727ffff","862a10707ffff","862a1070fff","862a10777ff","862a100dfffff","862a100d7ffff"]

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

let h3cell = '862a1072fffffff';
print cells = array_concat(pack_array(h3cell), geo_h3cell_neighbors(h3cell))

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

Клетки
["862a1072fffffff","862a10727ffff","862a10707ffff","862a1070fff","862a10777ff","862a100dfffffff","862a100d7ffffff"]

В следующем примере вычисляется коллекция геометрии GeoJSON ячеек H3.

let h3cell = '862a1072fffffff';
print cells = array_concat(pack_array(h3cell), geo_h3cell_neighbors(h3cell))
| mv-expand cells to typeof(string)
| project polygons = geo_h3cell_to_polygon(cells)
| summarize arr = make_list(polygons)
| project geojson = bag_pack("type", "Feature","geometry", bag_pack("type", "GeometryCollection", "geometries", arr), "properties", bag_pack("name", "polygons"))

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

geojson
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [
{"type":"Polygon","координаты":[[-74.0022744646159,40.73537602626215022],[-74.046908029029686236,140.727986222489115],[-74.06061071223664,40.69675140349033],[-74.0297240815682,40.672970047595463],[-73.985140983708192,40.680349049267583],[-73.9771393761028622,40.7115439393543933],[-74.0022744646159,40.735376026215021502]]]]},
{"type":"Polygon","координаты":[[-74.01948383546617,40.790439140236963],[-74.064132193843633 40.783038509825],[-74.0778396534211,40.751803958414136],[-74.046908029686236,40.72798622489115],[-74.0027446159,40.735376026215021502],[-73.988522328408948,40.766594382212254],[-74.019483838354617,40.790439140236963]]]},
{"type":"Polygon","координаты":[[-74.0778396534211,40.751803939414136],[-74.1224794808745,1224794808745 40.74438358828388],[-74.1361375042681,40.713131563700029125],[-74.1052004095288,40.689365648097258],[-74.06061071223664,40.69675140349033],[-74.0469008029686236,40.727986222489115],[-74.07783965396534211,40.751803958414136]]},
{"type":"Polygon","координаты":[[-74.06061071223664,40.69675140349033],[-74.1052004095288,10528840.689365648097258],[-74.118853750491638,40.658191927046628],[-74.0879619670209,40.63438382429609],[-74.043228384933,40.641782462872115],[-74.02977240815682,40.672970047047595463],[-74.06061071223664,40.69677514034903]]]},
{"type":"Polygon","координаты":[[-73.985140983708192,40.680349049267583],[-74.0297240815682,. 40.672970047595463],[-74.0434228384933,40.641782462872115],[-74.01258189358343,40.6179900659981623],[-73.9680480120749,40.625358290164748],[-73.954305094775,40.656529678451555],[-73.985140983708192,40.680349049267583]]]},
{"type":"Polygon","координаты":[[-73.926766604813565,40.718903205013063],[-73.971393761028622 40.71154393543933],[-73.985140983708192,40.680349049267583],[-73.95430509472675,40.656529678451555],[-73.909728515658443,40.6638782224435],[-73.895936872069854,40.69505685239637],[-73.92676604813565,40.718903205013013063]]]},
{"type":"Polygon","координаты":[[-73.9438490490496629,40.77396404038523],[-73.98852232328408948948,40.76659438212254],[-74.0022744646159,40.73537602621502215022],[-73.971393761028622,40.71154393543933],[-73.92676604813565,40.718903205013063],[-73.912969923470314,40.7501053405345329],[-73.9438490490496629,40.77396404038523]},},
"properties": {"name": "polygons"}}

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

let h3cell = '862a1072fffffff';
print cells = array_concat(pack_array(h3cell), geo_h3cell_neighbors(h3cell))
| mv-expand cells to typeof(string)
| project polygons = geo_h3cell_to_polygon(cells)
| summarize arr = make_list(polygons)
| project polygon = geo_union_polygons_array(arr)

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

polygon
{
"type": "Polygon",
"coordinates": [[[ -73.926766604813565, 40.718903205013063],[ -73.912969923470314, 40.750105305345329],[ -73.943844904976629, 40.773964402038523],[ -73.988522328408948, 40.766594382212254],[ -74.019448383546617, 40.79043914023697],[ -74.064132193843633, 40.783038509825005],[ -74.077839665342211, 40.751803958414136],[ -74.1224794808745, 40.744383587828388],[ -74.1361375042681, 40.713156370029125],[ -74.1052004095288, 40.689365648097251],[ -74.118853750491638, 40.658161927046628],[ -74.0879619670209, 40.6343838242296],[ -74.043422283844933, 40.641782462872115],[ -74.012581189358343, 40.617990065981623],[ -73.968047801220749, 40.625358290164755],[ -73.954305509472675, 40.656529678451555],[ -73.909728515658443, 40.663878222244442],[ -73.895936872069854, 40.695056852396377],[ -73.926766604813565, 40.718903205013063]]]}

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

print invalid = isnull(geo_h3cell_neighbors('abc'))

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

недопустимо
1