Partager via


geo_s2cell_neighbors()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcule les voisins de cellules S2.

En savoir plus sur la hiérarchie de cellules S2.

Syntaxe

geo_s2cell_neighbors(s2cell)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
s2cell string ✔️ Valeur du jeton de cellule S2 telle qu’elle a été calculée par geo_point_to_s2cell(). La longueur maximale du jeton de cellule S2 est de 16 caractères.

Retours

Tableau de voisins de cellules S2. Si la cellule S2 n’est pas valide, la requête produit un résultat null.

Remarque

Les arêtes de cellule S2 sont des géodésiques sphériques.

Exemples

L’exemple suivant calcule les voisins de cellules S2.

print neighbors = geo_s2cell_neighbors('89c259')

Sortie

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

L’exemple suivant calcule un tableau de cellules S2 d’entrée avec ses voisins.

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

Sortie

Cellules
["89c259 »,"89c25d »,"89c2f9 »,"89c251 »,"89c257 »,"89c25f »,"89c25b »,"89c2f7 »,"89c2f5"]

L’exemple suivant calcule la collection geometry GeoJSON des polygones de cellules 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"))

Sortie

geojson
{"type » : « Feature »,"geometry » : {"type » : « GeometryCollection »,"geometries » : [
{"type » : « Polygon »,"coordinates » : [[[ -74.030012249838478, 40.8012684339],[ -74.030012249838478, 40.7222262918358],[ -73.935982114337421, 40.708804880489804564],[ -73.935982114337421, 40.787917134506841],[ -74.030012249838478, 40.8012684339439]]},
{"type » : « Polygon »,"coordinates » : [[[ -73.93598211437421, 40.70888048980489804564],[ -73.935982114337421, 40.62973643321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.935982114337421, 40.70880480489804564]]]},
{"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.73548394993387]]},
{"type » : « Polygon »,"coordinates » : [[ -74.1239959854733, 40.814531536204242],[ -74.1239959854733, 40.73548394993387],[ -74.030012249838478, 40.722226262918358],[ -74.030012249838478, 40.8012684339439],[ -74.1239959854733, 40.814531536204242]]},
{"type » : « Polygon »,"coordinates » : [[[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.708880489804564],[ -73.841906340776248, 40.695446474556284],[ -73.84190634076248, 40.774477568182071],[ -73.935982114337421, 40.787917134506841]]]},
{"type » : « Polygon »,"coordinates » : [[[ -74.030012249838478, 40.722262918358],[ -74.030012249838478, 40.643076628676461],[ -73.935982114337421, 40.629736433321796],[ -73.935982114337421, 40.708880489804564],[ -74.030012249838478, 40.7222226262918358]]},
{"type » : « Polygon »,"coordinates » : [[[ -74.030012249838478, 40.880202851376716],[ -74.030012249838478, 40.8012684339439],[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.866846163445771],[ -74.030012249838478, 40.880202851376716]]]},
{"type » : « Polygon »,"coordinates » : [[[ -73.935982114337421, 40.86684616345771],[ -73.935982114337421, 40.787917134506841],[ -73.841906340776248, 40.774477568182071],[ -73.841906340776248, 40.853401155678846],[ -73.935982114337421, 40.86684661616345771]]]}},
« properties » : {"name » : « polygons"}}

L’exemple suivant calcule les unions de polygones qui représentent la cellule S2 et ses voisins.

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)

Sortie

polygone
{"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]]]}

L’exemple suivant retourne true en raison de l’entrée de jeton de cellule S2 non valide.

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

Sortie

non valide
1