Udostępnij za pośrednictwem


geo_geohash_neighbors()

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Oblicza sąsiadów geohash.

Przeczytaj więcej na temat geohashusługi .

Składnia

geo_geohash_neighbors(geohash)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
geohash string ✔️ Wartość powłoki geograficznej obliczona przez geo_point_to_geohash(). Ciąg geohash musi zawierać się od 1 do 18 znaków.

Zwraca

Tablica sąsiadów Geohash. Jeśli skrót geograficzny jest nieprawidłowy, zapytanie generuje wynik o wartości null.

Przykłady

Poniższy przykład oblicza sąsiadów geohash.

print neighbors = geo_geohash_neighbors('sunny')

Wyjście

Sąsiadów
["sunnt","sunpj","sunnx","sunpn","sunnv","sunpp","sunnz","sunnw"]

W poniższym przykładzie jest obliczana tablica danych wejściowych geohash z sąsiadami.

let geohash = 'sunny';
print cells = array_concat(pack_array(geohash), geo_geohash_neighbors(geohash))

Wyjście

Komórek
["sunny","sunnt","sunpj","sunnx","sunpn","sunnv","sunpp","sunnz","sunnw"]

W poniższym przykładzie jest obliczana wielokąta geogonów kolekcja geometrii 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"))

Wyjście

geojson
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [
{"type":"Polygon","coordinates":[[[42.451171875,23.6865234375],[42.495171875,23.6865234375],[42.4951171875,23.73046875],[42.451171875,23.73046875],[42.45171875,23.6865234375]]},
{"type":"Polygon","coordinates":[[[42.4072265625,23.642578125],[42.4517171875,23.642578125],[42.451171875,23.6865234375],[42.4072265625,23.6865234375],[42.4072265625,23.642578125]]},
{"type":"Polygon","coordinates":[[[42.4072265625,23.73046875],[42.4517171875,23.73046875],[42.451171875,23.7744140625],[42.4072265625,23.7744140625],[42.4072265625,23.73046875]]},
{"type":"Polygon","coordinates":[[[42.4951171875,23.642578125],[42.5390625,23.642578125],[42.5390625,23.6865234375],[42.4951171875,23.6865234375],[42.49517171875,23.642578125]]},
{"type":"Polygon","coordinates":[[[42.451171875,23.73046875],[42.495171875,23.73046875],[42.4951171875,23.7744140625],[42.451171875,23.7744140625],[42.45171875,23.73046875]]},
{"type":"Polygon","coordinates":[[[[42.4072265625,23.6865234375],[42.45171875,23.6865234375],[42.451171875,23.73046875],[42.4072265625,23.73046875],[42.4072265625,23.6865234375]]},
{"type":"Polygon","coordinates":[[[[42.4951171875,23.73046875],[42.5390625,23.73046875],[42.5390625,23.7744140625],[42.4951171875,23.7744140625],[42.49517171875,23.73046875]]},
{"type":"Polygon","coordinates":[[[42.4951171875,23.6865234375],[42.5390625,23.6865234375],[42.5390625,23.73046875],[42.4951171875,23.73046875],[42.4951171875,23.6865234375]]},
{"type":"Polygon","coordinates":[[[42.451171875,23.642578125],[42.4951171875,23.642578125][42.4951171875,23.6865234375],[42.451171875,23.6865234375],[42.45171875,23.642578125]]}]},
"properties": {"name": "polygons"}}

W poniższym przykładzie obliczane są wielokąty, które reprezentują geohash i jego sąsiady.

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)

Wyjście

wielokąt
{"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]]]}

Poniższy przykład zwraca wartość true z powodu nieprawidłowych danych wejściowych tokenu geohash.

print invalid = isnull(geo_geohash_neighbors('a'))

Wyjście

nieprawidłowe
1