次の方法で共有


geo_s2cell_neighbors()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

S2 セルの隣接セルを計算します。

詳細については、「S2 セルの階層」を参照してください。

構文

geo_s2cell_neighbors(s2cell)

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
s2cell string ✔️ geo_point_to_s2cell()によって計算された S2 セル トークン値。 S2 セル トークン文字列の最大長は 16 文字です。

返品

S2 セルの隣接セルの配列。 S2 セルが無効な場合、クエリによって null 結果が生成されます。

Note

S2 のセル*エッジ*は球面測地線となります。

次の例では、S2 セルの隣接セルを計算します。

print neighbors = geo_s2cell_neighbors('89c259')

出力

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

次の例では、隣接する入力 S2 セルの配列を計算します。

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

出力

セル
["89c259","89c25d","89c2f9","89c251","89c257","89c25f","89c25b","89c2f7","89c2f5"]

次の例では、S2 セルの多角形 GeoJSON ジオメトリ コレクションを計算します。

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

出力

geojson
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [
{"type": "Polygon","coordinates": [[[-74.030012249838478, 40.8012684339439],[ -74.030012249838478, 40.7222262918358],[ -73.935982114337421, 40.708880489804564],[ -73.935982114337421, 40.787917134506841],[ -74.030012249838478, 40.8012684339439]]]},
{"type": "Polygon","coordinates": [[[-73.9359821114337421, 40.708880489804564],[ -73.935982114337421, 40.629736433321796],[ -73.841906340776248, 40.616308079144915],[ -73.841906340776248, 40.695446474556284],[ -73.9359821114337421, 40.708880489804564]]]}
{"type": "Polygon","coordinates": [[[-74.1239959854733, 40.893471289549765],[ -74.1239959854733, 40.814531536204242],[ -74.03001249838478, 40.8012684339439],[ -74.030012249838478, 40.880202851376716],[ -74.1239959854733, 40.893471289549765]]]},
{"type": "Polygon","coordinates": [[[-74.1239959854733, 40.735483949993387],[ -74.123995985473, 40.656328734184143],[ -74.03001249838478, 40.643076628676461], -74.030012249838478, 40.7222262918358],[ -74.1239959854733, 40.735483949993387]]]},
{"type": "Polygon","coordinates": [[[-74.1239959854733, 40.814531536204242],[ -74.123995985473, 40.735483949993387],[ -74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.8012684339439],[ -74.1239959854733, 40.814531536204242]]]},
{"type": "Polygon","coordinates": [[[-73.9359821114337421, 40.787917134506841],[ -73.935982114337421, 40.708880489804564],[ -73.841906340776248, 40.695446474556284], [-73.841906340776248, 40.774477568182071],[ -73.9359821114337421, 40.787917134506841]]]}
{"type": "Polygon","coordinates": [[[-74.030012249838478, 40.7222262918358],[ -74.030012249838478, 40.643076628676461],[ -73.9359821114337421, 40.629736433321796], -73.935982114337421, 40.708880489804564],[ -74.030012249838478, 40.7222262918358]]]},
{"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.9359821114337421, 40.866846163445771],[ -73.935982114337421, 40.787917134506841],[ -73.841906340776248, 40.774477568182071],[ -73.841906340776248, 40.853401155678846],[ -73.935982114337421, 40.866846163445771]]}]},
"properties": {"name": "polygons"}}

次の例では、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 polygon = geo_union_polygons_array(arr)

出力

多角形
{"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]]]}

次の例では、S2 Cell トークンの入力が無効であるため、true を返します。

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

出力

無効
1