Compartir a través de


geo_s2cell_neighbors()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Calcula vecinos de celda S2.

Obtenga más información sobre la jerarquía de celdas S2.

Sintaxis

geo_s2cell_neighbors(s2cell)

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
s2cell string ✔️ Valor del token de celda S2 tal como se calculó geo_point_to_s2cell ().. La longitud máxima de cadena del token de celda S2 es de 16 caracteres.

Devoluciones

Matriz de vecinos de celda S2. Si la celda S2 no es válida, la consulta genera un resultado NULO.

Nota:

Los bordes de celda S2 son geodesics esféricos.

Ejemplos

En el ejemplo siguiente se calculan los vecinos de celda S2.

print neighbors = geo_s2cell_neighbors('89c259')

Salida

Vecinos
["89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"]

En el ejemplo siguiente se calcula una matriz de celdaS2 de entrada con sus vecinos.

let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))

Salida

células
["89c259","89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"]

En el ejemplo siguiente se calcula la colección de geometrías GeoJSON de polígonos de celdas S2.

let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
| mv-expand cells to typeof(string)
| project polygons = geo_s2cell_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"))

Salida

geojson
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [
{"type": "Polygon","coordinates": [[[ -74.0300122498838478, 40.8012684339439],[ -74.030012249838478, 40.7222262918358],[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.787917134506841],[ -74.030012249838478, 40.8012684339439]]]},
{"type": "Polygon","coordinates": [[[ -73.935982114337421, 40.708880489804564],[ -73.9359821437421, 40.629736433321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.93598211437421, 40.708880489804564]]]]},
{"type": "Polygon","coordinates": [[[ -74.1239959854733, 40.893471289549765],[ -74.1239959854733, 40.814531536204242],[ -74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.880202851376716],[ -74.1239959854733, 40.893471289549765]]]]},
{"type": "Polygon","coordinates": [[[ -74.1239959854733, 40.735483949993387],[ -74.1239959854733, 40.656328734184143],[ -74.030012249838478, 40.643076628676461],[ -74.030012249838478, 40.7222262918358],[ -74.1239959854733, 40.735483949993387]]]},
{"type": "Polygon","coordinates": [[[ -74.1239959854733, 40.814531536204242],[ -74.1239959854733, 40.735483949993387],[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.8012684339439],[ -74.1239959854733, 40.814531536204242]]]},
{"type": "Polygon","coordinates": [[[ -73.935982114337421, 40.787917134506841],[ -73.9359821437421, 40.708880489804564],[ -73.841906340776248, 40.69544646474556284],[ -73.841906340776248, 40.774477568182071],[ -73.93598211437421, 40.787917134506841]]]},
{"type": "Polygon","coordinates": [[[ -74.0300122498838478, 40.7222262918358],[ -74.030012249838478, 40.643076628676461],[ -73.93598211437421, 40.62973643321796],[ -73.935982114337421, 40.708880489804564],[ -74.030012249838478, 40.7222262918358]]]},
{"type": "Polygon","coordinates": [[[ -74.0300122498838478, 40.880202851376716],[ -74.030012249838478, 40.8012684339439],[ -73.93598211437421, 40.787917134506841],[ -73.93598211437421, 40.866846163445771],[ -74.030012249838478, 40.880202851376716]]]},
{"type": "Polygon","coordinates": [[[ -73.93598211437421, 40.866846163445771],[ -73.93598214337421, 40.787917134506841],[ -73.841906340776248, 40.774477568182071],[ -73.841906340776248, 40.853401155678846],[ -73.93598211437421, 40.866846163445771]]]}]},
"properties": {"name": "polygons"}}

En el ejemplo siguiente se calculan uniones de polígono que representan la celda S2 y sus vecinos.

let s2cell = '89c259';
print cells = array_concat(pack_array(s2cell), geo_s2cell_neighbors(s2cell))
| mv-expand cells to typeof(string)
| project polygons = geo_s2cell_to_polygon(cells)
| summarize arr = make_list(polygons)
| project polygon = geo_union_polygons_array(arr)

Salida

polígono
{"type": "Polygon","coordinates": [[[-73.841906340776248,40.695446474556284],[-73.841906340776248,40.774477568182071],[-73.841906340776248,40.853401155678846],[-73.935982114337421,40.866846163445771],[-74.030012249838478,40.880202851376716],[-74.1239959854733,40.893471289549758],[-74.1239959854733,40.814531536204242],[-74.1239959854733,40.735483949993387],[-74.1239959854733,40.656328734184143],[-74.030012249838478,40.643076628676461],[- 73.935982114337421,40.629736433321796],[-73.841906340776248,40.616308079144915],[-73.841906340776248,40.695446474556284]]]}

En el ejemplo siguiente se devuelve true debido a la entrada de token de celda S2 no válida.

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

Salida

no válido
1