geo_point_to_s2cell()
Berekent de waarde van de S2-celtokentekenreeks van een geografische locatie.
S2-cel kan een nuttig hulpprogramma voor georuimtelijke clustering zijn. Een S2-cel is een cel op een boloppervlak en heeft geodetische randen. S2-cellen maken deel uit van een hiërarchie die het aardoppervlak opsplitst. Ze hebben een maximum van 31 niveaus, variërend van nul tot 30, die bepalen hoe vaak een cel wordt onderverdeeld. Niveaus variëren van de grootste dekking op niveau nul met een oppervlaktedekking van 85.011.012.19km² tot de laagste dekking van 0,44 cm² op niveau 30. Omdat S2-cellen op hogere niveaus worden onderverdeeld, blijft het celcentrum goed behouden. Twee geografische locaties kunnen zich heel dicht bij elkaar bevinden, maar ze hebben verschillende S2-celtokens.
Notitie
Als u de functie geo_s2cell_to_central_point() aanroept op een S2-celtokentekenreeks die is berekend op lengtegraad x en breedtegraad y, retourneert de functie niet noodzakelijkerwijs x en y.
Syntax
geo_point_to_s2cell(
lengtegraad,
Latitude,
[ niveau ])
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
lengtegraad | real |
✔️ | Georuimtelijke coördinaat, lengtegraadwaarde in graden. Geldige waarde is een reëel getal en ligt in het bereik [-180, +180]. |
breedtegraad | real |
✔️ | Georuimtelijke coördinaat, breedtegraadwaarde in graden. Geldige waarde is een reëel getal en ligt in het bereik [-90, +90]. |
Niveau | int |
Hiermee definieert u het aangevraagde celniveau. Ondersteunde waarden bevinden zich in het bereik [0, 30]. Als u dit niet opgeeft, wordt de standaardwaarde 11 gebruikt. |
Retouren
De waarde van de S2-celtokentekenreeks van een opgegeven geografische locatie. Als de coördinaten of niveaus ongeldig zijn, produceert de query een leeg resultaat.
Geschatte gebiedsdekking van S2-cellen per niveauwaarde
Voor elk niveau is de grootte van de S2-cel vergelijkbaar, maar niet precies gelijk. Celgrootten in de buurt zijn meestal gelijker.
Niveau | Minimale lengte willekeurige celrand (VK) | Maximale lengte willekeurige celrand (VS) |
---|---|---|
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 |
Zie georuimtelijke clustering met Kusto-querytaal voor vergelijking met andere beschikbare rastersystemen.
Voorbeelden
Amerikaanse stormgebeurtenissen geaggregeerd op S2-cel
In het volgende voorbeeld worden Amerikaanse stormgebeurtenissen gevonden die zijn geaggregeerd door S2-cellen.
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)
Uitvoer
In het volgende voorbeeld wordt de cel-id S2 berekend.
print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)
Uitvoer
s2cell |
---|
88d9b |
Een groep coördinaten zoeken
In het volgende voorbeeld worden groepen coördinaten gevonden. Elk paar coördinaten in de groep bevindt zich in de cel S2 met een maximale oppervlakte van 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
Uitvoer
s2cell | count | locaties |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
Lege resultaten
In het volgende voorbeeld wordt een leeg resultaat gegenereerd vanwege de ongeldige coördinaatinvoer.
print s2cell = geo_point_to_s2cell(300,1,8)
Uitvoer
s2cell |
---|
In het volgende voorbeeld wordt een leeg resultaat gegenereerd vanwege de ongeldige niveauinvoer.
print s2cell = geo_point_to_s2cell(1,1,35)
Uitvoer
s2cell |
---|
In het volgende voorbeeld wordt een leeg resultaat gegenereerd vanwege de ongeldige niveauinvoer.
print s2cell = geo_point_to_s2cell(1,1,int(null))
Uitvoer
s2cell |
---|
Gerelateerde inhoud
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor