Compartilhar via


geo_geohash_neighbors()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Calcula vizinhos de Geohash.

Leia mais sobre geohash.

Sintaxe

geo_geohash_neighbors(geohash)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
geohash string ✔️ Um valor de geohash conforme foi calculado por geo_point_to_geohash(). A cadeia de caracteres geohash deve ter entre 1 e 18 caracteres.

Devoluções

Uma matriz de vizinhos Geohash. Se o Geohash for inválido, a consulta produzirá um resultado nulo.

Exemplos

O exemplo a seguir calcula vizinhos Geohash.

print neighbors = geo_geohash_neighbors('sunny')

Saída

Vizinhos
["sunnt","sunpj","sunnx","sunpn","sunnv","sunpp","sunnz","sunnw"]

O exemplo a seguir calcula uma matriz de Geohash de entrada com seus vizinhos.

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

Saída

Células
["ensolarado","sunnt","sunpj","sunnx","sunpn","sunnv","sunpp","sunnz","sunnw"]

O exemplo a seguir calcula a coleção de geometria GeoJSON de polígonos Geohash.

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"))

Saída

geojson
{"type": "Recurso","geometry": {"type": "GeometryCollection","geometries": [
{"type":"Polígono","coordinates":[[[42.451171875,23.6865234375],[42.4951171875,23.6865234375],[42.4951171875,23.73046875],[42.451171875,23.73046875],[42.451171875,23.6865234375]]]},
{"type":"Polígono","coordinates":[[[42.4072265625,23.642578125],[42.451171875,23.642578125],[42.451171875,23.6865234375],[42.4072265625,23.6865234375],[42.4072265625,23.642578125]]]},
{"type":"Polígono","coordinates":[[[42.4072265625,23.73046875],[42.451171875,23.73046875],[42.451171875,23.7744140625],[42.4072265625,23.7744140625],[42.4072265625,23.73046875]]]},
{"type":"Polígono","coordenadas":[[[42.4951171875,23.642578125],[42.5390625,23.642578125],[42.5390625,23.6865234375],[42.4951171875,23.6865234375],[42.4951171875,23.642578125]]]},
{"type":"Polígono","coordinates":[[[42.451171875,23.73046875],[42.4951171875,23.73046875],[42.4951171875,23.7744140625],[42.451171875,23.7744140625],[42.451171875,23.73046875]]]},
{"type":"Polígono","coordenadas":[[[42.4072265625,23.6865234375],[42.451171875,23.6865234375],[42.451171875,23.73046875],[42.4072265625,23.73046875],[42.4072265625,23.6865234375]]]},
{"type":"Polígono","coordenadas":[[[42.4951171875,23.73046875],[42.5390625,23.73046875],[42.5390625,23.7744140625],[42.4951171875,23.7744140625],[42.4951171875,23.73046875]]]},
{"type":"Polígono","coordinates":[[[42.4951171875,23.6865234375],[42.5390625,23.6865234375],[42.5390625,23.73046875],[42.4951171875,23.73046875],[42.4951171875,23.6865234375]]]},
{"type":"Polígono","coordinates":[[[42.451171875,23.642578125],[42.4951171875,23.642578125],[42.4951171875,23.6865234375],[42.451171875,23.6865234375],[42.451171875,23.642578125]]]}]},
"propriedades": {"nome": "polígonos"}}

O exemplo a seguir calcula uniões de polígonos que representam Geohash e seus vizinhos.

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)

Saída

polígono
{"tipo":"Polígono","coordenadas":[[[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]]]}

O exemplo a seguir retorna true devido à entrada de token Geohash inválida.

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

Saída

inválido
1