Teilen über


geo_point_to_s2cell()

Gilt für: ✅Microsoft Fabric

Berechnet den Wert der S2-Zellentokenzeichenfolge eines geografischen Standorts.

Weitere Informationen zur S2-Zellhierarchie. S2-Zelle kann ein nützliches Geospatialclustering-Tool sein. Eine S2-Zelle ist eine Zelle auf einer kugelförmigen Oberfläche und hat geodätische Kanten. S2-Zellen sind Teil einer Hierarchie, die die Erdoberfläche teilt. Sie haben maximal 31 Ebenen, von Null bis 30, die die Anzahl der Unterteilungen einer Zelle definieren. Die Ebenen reichen von der größten Abdeckung auf Ebene Null mit Flächenabdeckung von 85.011.012,19km² bis zur niedrigsten Abdeckung von 0,44 cm² auf Ebene 30. Da S2-Zellen auf höheren Ebenen unterteilt werden, bleibt das Zellzentrum gut erhalten. Zwei geografische Standorte können sich sehr nahe beieinander befinden, aber sie haben unterschiedliche S2-Zelltoken.

Hinweis

Wenn Sie die funktion geo_s2cell_to_central_point() für eine S2-Zelltokenzeichenfolge aufrufen, die für Längengrad x und Breitengrad y berechnet wurde, gibt die Funktion nicht unbedingt x und y zurück.

Weitere Informationen zur S2-Zellhierarchie.

Syntax

geo_point_to_s2cell( Längengrad,, [ Ebene ])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
Länge real ✔️ Geospatialkoordinate, Längengradwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-180, +180].
Breite real ✔️ Geospatialkoordinate, Breitenwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-90, +90].
Niveau int Definiert die angeforderte Zellenebene. Unterstützte Werte befinden sich im Bereich [0, 30]. Wenn nichts angegeben wird, wird der Standardwert 11 verwendet.

Gibt zurück

Der Wert der S2-Zellentokenzeichenfolge eines bestimmten geografischen Standorts. Wenn die Koordinaten oder Ebenen ungültig sind, erzeugt die Abfrage ein leeres Ergebnis.

Ungefähre Bereichsabdeckung der Zelle S2 pro Levelwert

Für jede Ebene ist die Größe der Zelle S2 ähnlich, aber nicht genau gleich. Zellengrößen in der Nähe sind tendenziell gleich.

Ebene Minimale zufällige Zellenrandlänge (UK) Maximale Zufällige Zellenrandlänge (USA)
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

Die Tabellenquelle finden Sie in dieser statistischen Ressource der S2-Zelle.

Vergleich mit anderen verfügbaren Rastersystemen finden Sie unter Geospatialclustering mit Kusto-Abfragesprache.

Beispiele

Im folgenden Beispiel werden US-Sturmereignisse gefunden, die von S2-Zellen aggregiert werden.

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)

Ausgabe

Screenshot eines Kartenrenderings von US-Sturmereignissen, aggregiert von der Zelle S2.

Im folgenden Beispiel wird die S2-Zell-ID berechnet.

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

Ausgabe

s2cell
88d9b

Im folgenden Beispiel werden Gruppen von Koordinaten gefunden. Jedes Koordinatenpaar in der Gruppe befindet sich in der Zelle S2 mit einer maximalen Fläche von 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

Ausgabe

s2cell zählen Orte
47b1d 2 ["A";"B"]
47ae3 1 ["C"]

Im folgenden Beispiel wird aufgrund der ungültigen Koordinateneingabe ein leeres Ergebnis erzeugt.

print s2cell = geo_point_to_s2cell(300,1,8)

Ausgabe

s2cell

Im folgenden Beispiel wird aufgrund der ungültigen Eingabeebene ein leeres Ergebnis erzeugt.

print s2cell = geo_point_to_s2cell(1,1,35)

Ausgabe

s2cell

Im folgenden Beispiel wird aufgrund der ungültigen Eingabeebene ein leeres Ergebnis erzeugt.

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

Ausgabe

s2cell