Delen via


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

Schermopname van een kaartweergave van Amerikaanse stormgebeurtenissen geaggregeerd door S2-cel.

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