geo_point_to_s2cell()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
計算地理位置的 S2 儲存格標記字串值。
深入瞭解 S2 單元格階層。 S2 儲存格可以是實用的地理空間叢集工具。 S2 單元格是球面上的儲存格,其具有地理邊緣。 S2 單元格是將地球表面分割的階層的一部分。 它們最多有 31 個層級,範圍從零到 30,定義數據格細分的次數。 水平範圍從層級零的最大覆蓋範圍,面積覆蓋面積為85,011,012.19公里,到層級30的最低覆蓋率為0.44釐米。 由於 S2 單元格在較高層級細分,因此會妥善保留單元格中心。 兩個地理位置可以彼此非常接近,但它們有不同的 S2 單元格令牌。
注意
如果您在以經度 x 和緯度 y 計算的 S2 單元格標記字串上叫 用 geo_s2cell_to_central_point() 函式,則函式不一定會傳回 x 和 y。
深入瞭解 S2 單元格階層。
語法
geo_point_to_s2cell(
經度,
緯度,
[ level ])
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
經度 | real |
✔️ | 地理空間座標,以度為單位的經度值。 有效值為實數,且範圍 [-180, +180]。 |
緯度 | real |
✔️ | 地理空間座標,以度為單位的緯度值。 有效值為實數,且範圍 [-90, +90]。 |
level | int |
定義要求的數據格層級。 支援的值在 [0, 30] 範圍內。 如果未指定,則會使用預設值 11 。 |
傳回
指定地理位置的 S2 儲存格標記字串值。 如果座標或層級無效,查詢會產生空的結果。
S2 儲存格大約每個層級值的區域涵蓋範圍
對於每個層級而言,S2 單元格的大小都類似,但不完全相等。 附近的儲存格大小往往比較相等。
層級 | 最小隨機儲存格邊緣長度 (英國) | 隨機儲存格邊緣長度上限(美國) |
---|---|---|
0 | 7842 公里 | 7842 公里 |
1 | 3921 公里 | 5004 公里 |
2 | 1825 公里 | 2489 公里 |
3 | 840 公里 | 1310 公里 |
4 | 432 公里 | 636 公里 |
5 | 210 公里 | 315 公里 |
6 | 108 公里 | 156 公里 |
7 | 54 公里 | 78 公里 |
8 | 27 公里 | 39 公里 |
9 | 14 公里 | 20 公里 |
10 | 7 公里 | 10 公里 |
11 | 3 公里 | 5 公里 |
12 | 1699 米 | 2 公里 |
13 | 850 米 | 1225 m |
14 | 425 m | 613 米 |
15 | 212 米 | 306 m |
16 | 106 m | 153 米 |
17 | 53 米 | 77 公尺 |
18 | 27 公尺 | 38 米 |
19 | 13 米 | 19 米 |
20 | 7 公尺 | 10 公尺 |
21 | 3 米 | 5 公尺 |
22 | 166 釐米 | 2 公尺 |
23 | 83 釐米 | 120 公分 |
24 | 41 釐米 | 60 公分 |
25 | 21 釐米 | 30 公分 |
26 | 10 公分 | 15 釐米 |
27 | 5 公分 | 7 公分 |
28 | 2 釐米 | 4 公分 |
29 | 12 公厘 | 18 公厘 |
30 | 6 公厘 | 9 公厘 |
您可以在此 S2 儲存格統計資源中找到資料表來源。
如需與其他可用網格系統的比較,請參閱地理空間叢集與 Kusto 查詢語言。
範例
S2 單元格匯總的美國風暴事件
下列範例會尋找由 S2 單元格匯總的美國風暴事件。
StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_s2cell(BeginLon, BeginLat, 5)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind=map)
輸出
下列範例會計算 S2 單元格標識碼。
print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)
輸出
s2cell |
---|
88d9b |
尋找一組座標
下列範例會尋找座標群組。 群組中的每個座標組都位於 S2 數據格中,最大面積為 1632.45 公里。
datatable(location_id:string, longitude:real, latitude:real)
[
"A", 10.1234, 53,
"B", 10.3579, 53,
"C", 10.6842, 53,
]
| summarize count = count(), // items per group count
locations = make_list(location_id) // items in the group
by s2cell = geo_point_to_s2cell(longitude, latitude, 8) // s2 cell of the group
輸出
s2cell | 計數 | 位置 |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
空白結果
下列範例會產生空的結果,因為座標輸入無效。
print s2cell = geo_point_to_s2cell(300,1,8)
輸出
s2cell |
---|
下列範例會產生空的結果,因為層級輸入無效。
print s2cell = geo_point_to_s2cell(1,1,35)
輸出
s2cell |
---|
下列範例會產生空的結果,因為層級輸入無效。
print s2cell = geo_point_to_s2cell(1,1,int(null))
輸出
s2cell |
---|