Dela via


geo_punkt_till_s2cell()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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

Läs mer om S2-cellhierarki. S2-cell kan vara ett användbart geospatialt klusterverktyg. En S2-cell är en cell på en sfärisk yta och den 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, som 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,19 km² 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.

Anmärkning

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.

Läs mer om S2-cellhierarki.

Syntax

geo_point_to_s2cell( longitud,breddgrad, [ nivå ])

Läs mer om syntaxkonventioner.

Parameterar

Namn Typ Krävs Beskrivning
longitud real ✔️ Geospatial koordinat, longitudvärde i grader. Giltigt värde är ett verkligt tal och i intervallet [-180, +180].
breddgrad real ✔️ Geospatial koordinat, latitudvärde i grader. Giltigt värde är ett verkligt 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 .

Retur

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 per nivå för S2-cell

För varje nivå är storleken på S2-cellen liknande men inte exakt lika. Närliggande cellstorlekar 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
tretton 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 meter
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

Tabellkällan finns i den här statistiska S2-cellresursen.

Jämförelse med andra tillgängliga rutnätssystem finns i geospatial klustring med Kusto Query Language.

Exempel

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 amerikanska stormhändelser 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

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 räkna Platser
47b1d 2 ["A","B"]
47ae3 1 ["C"]

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