geo_point_to_s2cell()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Oblicza wartość ciągu tokenu komórki S2 lokalizacji geograficznej.
Przeczytaj więcej na temat hierarchii komórek S2. Komórka S2 może być przydatnym narzędziem do klastrowania geoprzestrzennego. Komórka S2 jest komórką na powierzchni kulistycznej i ma krawędzie geodesowe. Komórki S2 są częścią hierarchii dzielącej powierzchnię Ziemi. Mają maksymalnie 31 poziomów, od zera do 30, które definiują liczbę podziałów komórki. Poziomy wahają się od największego zasięgu na poziomie zerowym z pokryciem obszaru 85 011 012,19 km², do najniższego pokrycia 0,44 cm² na poziomie 30. Ponieważ komórki S2 są podzielone na wyższych poziomach, środek komórki jest dobrze zachowywany. Dwie lokalizacje geograficzne mogą być bardzo blisko siebie, ale mają różne tokeny komórek S2.
Uwaga
Jeśli wywołasz funkcję geo_s2cell_to_central_point() w ciągu tokenu komórki S2, który został obliczony na długości geograficznej x i szerokości geograficznej y, funkcja nie musi zwracać wartości x i y.
Przeczytaj więcej na temat hierarchii komórek S2.
Składnia
geo_point_to_s2cell(
szerokość geograficzna,
,
[ poziom ])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
długość | real |
✔️ | Współrzędna geoprzestrzenna, wartość długości geograficznej w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-180, +180]. |
szerokość geograficzna | real |
✔️ | Współrzędna geoprzestrzenna, wartość szerokości geograficznej w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-90, +90]. |
poziom | int |
Definiuje żądany poziom komórki. Obsługiwane wartości znajdują się w zakresie [0, 30]. Jeśli nie określono, zostanie użyta wartość 11 domyślna. |
Zwraca
Wartość ciągu tokenu komórki S2 dla danej lokalizacji geograficznej. Jeśli współrzędne lub poziomy są nieprawidłowe, zapytanie generuje pusty wynik.
Przybliżone pokrycie obszaru komórki S2 na wartość poziomu
Dla każdego poziomu rozmiar komórki S2 jest podobny, ale nie dokładnie taki sam. Pobliskie rozmiary komórek wydają się być bardziej równe.
Poziom | Minimalna długość krawędzi komórki losowej (Wielka Brytania) | Maksymalna długość krawędzi komórki losowej (USA) |
---|---|---|
0 | 7842 km | 7842 km |
1 | 3921 km | 5004 km |
2 | 1825 km | 2489 km |
3 | 840 km | 1310 km |
100 | 432 km | 636 km |
5 | 210 km | 315 km |
6 | 108 km | 156 km |
7 | 54 km | 78 km |
8 | 27 km | 39 km |
9 | 14 km | 20 km |
10 | 7 km | 10 km |
11 | 3 km | 5 km |
12 | 1699 m | 2 km |
13 | 850 m | 1225 m |
14 | 425 m | 613 m |
15 | 212 m | 306 m |
16 | 106 m | 153 m |
17 | 53 m | 77 m |
18 | 27 m | 38 m |
19 | 13 m | 19 m |
20 | 7 m | 10 m |
21 | 3 m | 5 m |
22 | 166 cm | 2 m |
23 | 83 cm | 120 cm |
24 | 41 cm | 60 cm |
25 | 21 cm | 30 cm |
26 | 10 cm | 15 cm |
27 | 5 cm | 7 cm |
28 | 2 cm | 4 cm |
29 | 12 mm | 18 mm |
30 | 6 mm | 9 mm |
Źródło tabeli można znaleźć w tym zasobie statystycznym komórki S2.
Porównanie z innymi dostępnymi systemami siatki można znaleźć w temacie Geospatial clustering with język zapytań Kusto (Klastrowanie geoprzestrzenne z język zapytań Kusto).
Przykłady
Zdarzenia burzy USA zagregowane przez komórkę S2
Poniższy przykład umożliwia znalezienie zdarzeń burzy USA zagregowanych przez komórki 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)
Wyjście
Poniższy przykład oblicza identyfikator komórki S2.
print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)
Wyjście
s2cell |
---|
88d9b |
Znajdowanie grupy współrzędnych
Poniższy przykład znajduje grupy współrzędnych. Każda para współrzędnych w grupie znajduje się w komórce S2 o maksymalnym obszarze 1632,45 km².
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
Wyjście
s2cell | count | locations |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
Puste wyniki
Poniższy przykład generuje pusty wynik z powodu nieprawidłowych danych wejściowych współrzędnych.
print s2cell = geo_point_to_s2cell(300,1,8)
Wyjście
s2cell |
---|
Poniższy przykład generuje pusty wynik z powodu nieprawidłowych danych wejściowych na poziomie.
print s2cell = geo_point_to_s2cell(1,1,35)
Wyjście
s2cell |
---|
Poniższy przykład generuje pusty wynik z powodu nieprawidłowych danych wejściowych na poziomie.
print s2cell = geo_point_to_s2cell(1,1,int(null))
Wyjście
s2cell |
---|