Dela via


geo_point_to_s2cell()

Beräknar strängvärdet för S2-celltoken för en geografisk plats.

S2-cell kan vara ett användbart geospatialt klusterverktyg. En S2-cell är en cell på en sfärisk yta och har geodesiska kanter. S2-celler är en del av en hierarki som delar upp jordens yta. De har högst 31 nivåer, från noll till 30, vilket definierar hur många gånger en cell är indelad. Nivåerna sträcker sig från den största täckningen på nivå noll med areatäckning på 85 011 012,19km², till den lägsta täckningen på 0,44 cm² på nivå 30. Eftersom S2-celler delas upp på högre nivåer bevaras cellcentret väl. Två geografiska platser kan vara mycket nära varandra, men de har olika S2-celltoken.

Anteckning

Om du anropar funktionen geo_s2cell_to_central_point() på en S2-celltokensträng som beräknades på longitud x och latitud y, returnerar funktionen inte nödvändigtvis x och y.

Syntax

geo_point_to_s2cell(Longitud,Latitude, [ nivå ])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Longitud real ✔️ Geospatial koordinat, longitudvärde i grader. Giltigt värde är ett reellt tal och i intervallet [-180, +180].
latitude real ✔️ Geospatial koordinat, latitudvärde i grader. Giltigt värde är ett reellt tal och i intervallet [-90, +90].
Nivå int Definierar den begärda cellnivån. Värden som stöds finns i intervallet [0, 30]. Om det är ospecificerat används standardvärdet 11 .

Returer

Strängvärdet för S2-celltoken för en viss geografisk plats. Om koordinaterna eller nivåerna är ogiltiga genererar frågan ett tomt resultat.

Ungefärlig områdestäckning för S2-cell per nivåvärde

För varje nivå är storleken på S2-cellen liknande men inte exakt lika. Cellstorlekar i närheten tenderar att vara mer lika.

Nivå Minsta längd på slumpmässig cellkant (Storbritannien) Maximal längd på slumpmässig cellkant (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

Jämförelse med andra tillgängliga rutnätssystem finns i geospatial klustring med Kusto-frågespråk.

Exempel

Stormhändelser i USA aggregerade av S2-cell

I följande exempel hittas stormhändelser i USA aggregerade av S2-celler.

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)

Resultat

Skärmbild av en kartåtergivning av stormhändelser i USA aggregerade av S2-cellen.

I följande exempel beräknas S2-cell-ID:t.

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

Resultat

s2cell
88d9b

Hitta en grupp koordinater

I följande exempel hittar du grupper av koordinater. Varje koordinatpar i gruppen finns i S2-cellen med en maximal yta på 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

Resultat

s2cell count platser
47b1d 2 ["A","B"]
47ae3 1 ["C"]

Tomma resultat

I följande exempel genereras ett tomt resultat på grund av ogiltiga koordinatindata.

print s2cell = geo_point_to_s2cell(300,1,8)

Resultat

s2cell

I följande exempel genereras ett tomt resultat på grund av ogiltiga nivåindata.

print s2cell = geo_point_to_s2cell(1,1,35)

Resultat

s2cell

I följande exempel genereras ett tomt resultat på grund av ogiltiga nivåindata.

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

Resultat

s2cell