geo_point_to_geohash()
Beräknar geohash-strängvärdet för en geografisk plats.
Läs mer om geohash.
Syntax
geo_point_to_geohash(
Longitud,
Latitude,
[ noggrannhet ])
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]. |
Noggrannhet | int |
Definierar den begärda noggrannheten. Värden som stöds finns i intervallet [1, 18]. Om det är ospecificerat används standardvärdet 5 . |
Returer
Geohash-strängvärdet för en viss geografisk plats med begärd noggrannhetslängd. Om koordinaten eller noggrannheten är ogiltig genererar frågan ett tomt resultat.
Anteckning
- Geohash kan vara ett användbart geospatialt klusterverktyg.
- Geohash har 18 noggrannhetsnivåer med yttäckning från 25 miljoner km² på högsta nivå 1 till 0,6 μ² på den lägsta nivån 18.
- Vanliga prefix för geohash indikerar närhet av punkter till varandra. Desto längre ett delat prefix är, desto närmare är de två platserna. Noggrannhetsvärdet översätts till geohashlängd.
- Geohash är ett rektangulärt område på en plan yta.
- Om du anropar funktionen geo_geohash_to_central_point() på en geohashsträng som beräknades på longitud x och latitud y returneras inte nödvändigtvis x och y.
- På grund av geohash-definitionen är det möjligt att två geografiska platser är mycket nära varandra men har olika geohashkoder.
Geohash rektangulär områdestäckning per noggrannhetsvärde:
Noggrannhet | Bredd | Höjd |
---|---|---|
1 | 5000 km | 5000 km |
2 | 1250 km | 625 km |
3 | 156,25 km | 156,25 km |
4 | 39,06 km | 19,53 km |
5 | 4,88 km | 4,88 km |
6 | 1,22 km | 0,61 km |
7 | 152,59 m | 152,59 m |
8 | 38,15 m | 19,07 m |
9 | 4,77 m | 4,77 m |
10 | 1,19 m | 0,59 m |
11 | 149,01 mm | 149,01 mm |
12 | 37,25 mm | 18,63 mm |
13 | 4,66 mm | 4,66 mm |
14 | 1,16 mm | 0,58 mm |
15 | 145.52 μ | 145.52 μ |
16 | 36.28 μ | 18.19 μ |
17 | 4.55 μ | 4.55 μ |
18 | 1.14 μ | 0.57 μ |
Se även geo_point_to_s2cell(), geo_point_to_h3cell().
Jämförelse med andra tillgängliga rutnätssystem finns i geospatial klustring med Kusto-frågespråk.
Exempel
I följande exempel hittar vi stormhändelser i USA aggregerade med geohash.
StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_geohash(BeginLon, BeginLat, 3)
| project geo_geohash_to_central_point(hash)
| render scatterchart with (kind=map)
Resultat
I följande exempel beräknas och returneras värdet för geohash-strängen.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Resultat
geohash |
---|
dhwfz15h |
I följande exempel hittar du grupper av koordinater. Varje koordinatpar i gruppen finns i ett rektangulärt område på 4,88 km och 4,88 km.
datatable(location_id:string, longitude:real, latitude:real)
[
"A", double(-122.303404), 47.570482,
"B", double(-122.304745), 47.567052,
"C", double(-122.278156), 47.566936,
]
| summarize count = count(), // items per group count
locations = make_list(location_id) // items in the group
by geohash = geo_point_to_geohash(longitude, latitude) // geohash of the group
Resultat
geohash | count | platser |
---|---|---|
c23n8 | 2 | ["A", "B"] |
c23n9 | 1 | ["C"] |
I följande exempel genereras ett tomt resultat på grund av ogiltiga koordinatindata.
print geohash = geo_point_to_geohash(200,1,8)
Resultat
geohash |
---|
I följande exempel genereras ett tomt resultat på grund av ogiltiga precisionsindata.
print geohash = geo_point_to_geohash(1,1,int(null))
Resultat
geohash |
---|
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för