geo_s2cell_neighbors()

Vypočítá sousedy buněk S2.

Syntax

geo_s2cell_neighbors(s2cell)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
s2cell string ✔️ Hodnota tokenu buňky S2 vypočítaná pomocí geo_point_to_s2cell() Maximální délka řetězce tokenu buňky S2 je 16 znaků.

Návraty

Pole sousedních buněk S2. Pokud je buňka S2 neplatná, dotaz vytvoří výsledek null.

Poznámka

Okraje buněk S2 jsou kulové geodetické.

Příklady

Následující příklad vypočítá sousedy buněk S2.

print neighbors = geo_s2cell_neighbors('89c259')

Výstup

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

Následující příklad vypočítá pole vstupní buňky S2 se svými sousedy.

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

Výstup

Buňky
["89c259","89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"]

Následující příklad vypočítá S2 buňky mnohoúhelníky GeoJSON geometry kolekce.

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

Výstup

geojson
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [
{"type": "Mnohoúhelník","souřadnice": [[[ -74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.7222262918358],[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.787917134506841],[ -74.030012249838478, 40.8012684339439]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.629736433321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.935982114337421, 40.708880489804564]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -74.1239959854733, 40.893471289549765],[ -74.1239959854733, 40.814531536204242],[ -74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.880202851376716],[ -74.1239959854733, 40.893471289549765]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -74.1239959854733, 40.735483949993387],[ -74.1239959854733, 40.656328734184143],[ -74.030012249838478, 40.643076662876461],[ -74.030012249838478, 40.722262918358],[ -74.1239959854733, 40.735483949993387]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -74.1239959854733, 40.814531536204242],[ -74.1239959854733, 40.735483949993387],[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.8012684339439],[ -74.1239959854733, 40.814531536204242]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.708880489804564],[ -73.841906340776248, 40.6954446474556284],[ -73.841906340776248, 40.774477568182071],[ -73.935982114337421, 40.787917134506841]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -74.030012249838478, 40.722262918358],[ -74.030012249838478, 40.643076628676461],[ -73.935982114337421, 40.629736433321796],[ -73.935982114337421, 40.708880489804564],[ -74.030012249838478, 40.7222262918358]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -74.030012249838478, 40.880202851376716],[ -74.030012249838478, 40.8012684339439],[ -73.935982114337421, 40.787917134506841],[ -73.935982114337421, 40.866846163445771],[ -74.030012249838478, 40.880202851376716]]]},
{"type": "Mnohoúhelník","souřadnice": [[[ -73.935982114337421, 40.866846163445771],[ -73.935982114337421, 40.787917134506841],[ -73.841906340776248, 40.774477568182071],[ -73.841906340776248, 40.853401155678846],[ -73.935982114337421, 40.866846163445771]]]}]},
"properties": {"name": "polygons"}}

Následující příklad vypočítá mnohoúhelníky, které představují buňku S2 a její sousedy.

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)

Výstup

Mnohoúhelník
{"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]]]}

Následující příklad vrátí hodnotu true z důvodu neplatného vstupu tokenu buňky S2.

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

Výstup

neplatné
1