geo_geohash_neighbors()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет соседей geohash.
Дополнительные сведения см. в geohash
статье .
Синтаксис
geo_geohash_neighbors(
геохаш)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
геохаш | string |
✔️ | Геохашное значение, вычисляемое geo_point_to_geohash(). Строка геохаша должна находиться в диапазоне от 1 до 18 символов. |
Возвраты
Массив соседей Geohash. Если геохашная черта недопустима, запрос создает результат NULL.
Примеры
В следующем примере вычисляется соседи Geohash.
print neighbors = geo_geohash_neighbors('sunny')
Выходные данные
Соседей |
---|
["sunnt","sunpj","sunnx","sunpn", "sunnv", "sunpp", "sunnz","sunnw"] |
В следующем примере вычисляется массив входных геохашей со своими соседями.
let geohash = 'sunny';
print cells = array_concat(pack_array(geohash), geo_geohash_neighbors(geohash))
Выходные данные
Клетки |
---|
["солнечный","sunnt","sunpj","sunnx", "sunpn","sunnv", "sunpp", "sunnz","sunnw"] |
В следующем примере вычисляется геометрическая коллекция Geohash GeoJSON.
let geohash = 'sunny';
print cells = array_concat(pack_array(geohash), geo_geohash_neighbors(geohash))
| mv-expand cells to typeof(string)
| project polygons = geo_geohash_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","координаты":[[[42.451171875,23.6865234375],[42.495171875,23.6865234375],[42.4995171875,23.73046875],[42.451171875,23.73046875],[42.45171875,23.6865234375]]}, {"type":"Polygon","координаты":[[[42.4072265625,23.642578125],[42.451171875,23.642578125],[42.45117],[42.451171875,23.6865234375],[42.4072265625,23.6865234375],[42.40726525,23.642578125]]]}, {"type":"Polygon","координаты":[[[42.4072265625,23.73046875],[42.451171875,23.73046875],[42.451171875,23.7744140625],[4072265625 23.7744140625],[42.4072265625,23.73046875]]}, {"type":"Polygon","координаты":[[[42.495171875,23.642578125],[42.5390625,23.642578125],[42.5390625,23.6865234375],[42.495171875,23.6865234375],[42.495171875,23.642578125]]]}, {"type":"Polygon","координаты":[[[42.4517171875,23.73046875],[42.495171875,23.73046875],[42.49511171875,23.7744140625],[42.4517171875,23.7744140625],[42.45171875,23.73046875]]]}, {"type":"Polygon","координаты":[[[42.4072265625,23.6865234375],[42.451171875,23.6865234375],[42.451171875,23.73046875],[42.4072265625,23.73046875],[42.4072265625,23.6865234375]]}, {"type":"Polygon","координаты":[[[42.495171875,23.73046875],[42.5390625,233046875],[42.5390625,23.7744140625],[42.495171875,23.7744140625],[495171875,23.73046875]]]}, {"type":"Polygon","координаты":[[[42.495171875,23.6865234375],[42.5390625,23.6865234375],[42.53990625,23.73046875],[42.495171875,23.73046875],[42.495171875,23.6865234375]]}, {"type":"Polygon","координаты":[[[42.45171875,23.642578125],[42.495171875,23.642578125],[42.49511717],[42.4951171875,23.6865234375],[42.4517171875,23.6865234375],[42.45171875,23.642578125]}}, "properties": {"name": "polygons"}} |
В следующем примере вычисляется многоугольники, представляющие Геохаш и его соседей.
let h3cell = 'sunny';
print cells = array_concat(pack_array(h3cell), geo_geohash_neighbors(h3cell))
| mv-expand cells to typeof(string)
| project polygons = geo_geohash_to_polygon(cells)
| summarize arr = make_list(polygons)
| project polygon = geo_union_polygons_array(arr)
Выходные данные
polygon |
---|
{"type":"Polygon","coordinates":[[[42.4072265625,23.642578125],[42.451171875,23.642578125],[42.4951171875,23.642578125],[42.5390625,23.642578125],[42.5390625,23.686523437500004],[42.5390625,23.730468750000004],[42.5390625,23.7744140625],[42.4951171875,23.7744140625],[42.451171875,23.7744140625],[42.407226562499993,23.7744140625],[42.4072265625,23.73046875],[42.4072265625,23.6865234375],[42.4072265625,23.642578125]]]} |
В следующем примере возвращается значение true из-за недопустимого ввода маркера Geohash.
print invalid = isnull(geo_geohash_neighbors('a'))
Выходные данные
недопустимо |
---|
1 |