Condividi tramite


geo_point_to_s2cell()

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Calcola il valore della stringa del token di cella S2 di una posizione geografica.

Altre informazioni sulla gerarchia di celle S2. La cella S2 può essere uno strumento di clustering geospaziale utile. Una cella S2 è una cella su una superficie sferica e presenta bordi geodesici. Le cellule S2 fanno parte di una gerarchia che divide la superficie terrestre. Hanno un massimo di 31 livelli, compresi tra zero e 30, che definiscono il numero di volte in cui una cella è suddivisa. I livelli vanno dalla copertura più grande al livello zero con copertura dell'area di 85.011.012.19km², alla copertura più bassa di 0,44 cm² al livello 30. Poiché le celle S2 sono suddivise a livelli superiori, il centro delle celle viene conservato bene. Due posizioni geografiche possono essere molto vicine tra loro, ma hanno token di cella S2 diversi.

Nota

Se si richiama la funzione geo_s2cell_to_central_point() in una stringa di token di cella S2 calcolata in base alla longitudine x e alla latitudine y, la funzione non restituirà necessariamente x e y.

Altre informazioni sulla gerarchia di celle S2.

Sintassi

geo_point_to_s2cell(longitudine latitudine,, [ livello ])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
longitude real ✔️ Coordinata geospaziale, valore di longitudine in gradi. Il valore valido è un numero reale e nell'intervallo [-180, +180].
latitude real ✔️ Coordinata geospaziale, valore di latitudine in gradi. Il valore valido è un numero reale e nell'intervallo [-90, +90].
level int Definisce il livello di cella richiesto. I valori supportati sono compresi nell'intervallo [0, 30]. Se non specificato, viene usato il valore predefinito 11.

Valori restituiti

Valore della stringa del token di cella S2 di una determinata posizione geografica. Se le coordinate o i livelli non sono validi, la query produce un risultato vuoto.

S2 cella approssimata copertura dell'area per ogni valore di livello

Per ogni livello, le dimensioni della cella S2 sono simili ma non esattamente uguali. Le dimensioni delle celle nelle vicinanze tendono ad essere più uguali.

Livello Lunghezza minima del bordo della cella casuale (Regno Unito) Lunghezza massima del bordo casuale della cella (US)
0 7842 km 7842 km
1 3921 km 5004 km
2 1825 km 2489 km
3 840 km 1310 km
4 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

L'origine tabella è disponibile in questa risorsa statistica cella S2.

Per un confronto con altri sistemi di griglia disponibili, vedere Clustering geospaziale con Linguaggio di query Kusto.

Esempi

Eventi storm statunitensi aggregati dalla cella S2

L'esempio seguente trova gli eventi storm statunitensi aggregati dalle celle 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)

Output

Screenshot di un rendering mappa degli eventi storm statunitensi aggregati dalla cella S2.

Nell'esempio seguente viene calcolato l'ID cella S2.

print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)

Output

s2cell
88d9b

Trovare un gruppo di coordinate

Nell'esempio seguente vengono trovati gruppi di coordinate. Ogni coppia di coordinate nel gruppo risiede nella cella S2 con una superficie massima di 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

Output

s2cell numero locations
47b1d 2 ["A","B"]
47ae3 1 ["C"]

Risultati vuoti

Nell'esempio seguente viene generato un risultato vuoto a causa dell'input di coordinate non valido.

print s2cell = geo_point_to_s2cell(300,1,8)

Output

s2cell

Nell'esempio seguente viene generato un risultato vuoto a causa dell'input di livello non valido.

print s2cell = geo_point_to_s2cell(1,1,35)

Output

s2cell

Nell'esempio seguente viene generato un risultato vuoto a causa dell'input di livello non valido.

print s2cell = geo_point_to_s2cell(1,1,int(null))

Output

s2cell