共用方式為


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 單元格匯總之美國風暴事件的地圖轉譯螢幕快照。

下列範例會計算 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