geo_point_to_geohash()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Berechnet den Geohash-Zeichenfolgenwert eines geografischen Standorts.
Weitere Informationen zu Geohash.
Syntax
geo_point_to_geohash(
Längengrad,
,
[ Genauigkeit ])
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
longitude | real |
✔️ | Geospatialkoordinate, Längengradwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-180, +180]. |
latitude | real |
✔️ | Geospatialkoordinate, Breitenwert in Grad. Der gültige Wert ist eine reelle Zahl und im Bereich [-90, +90]. |
Genauigkeit | int |
Definiert die angeforderte Genauigkeit. Unterstützte Werte befinden sich im Bereich [1, 18]. Wenn nichts angegeben wird, wird der Standardwert 5 verwendet. |
Gibt zurück
Der Geohash-Zeichenfolgenwert eines bestimmten geografischen Standorts mit angeforderter Genauigkeitslänge. Wenn die Koordinate oder Genauigkeit ungültig ist, erzeugt die Abfrage ein leeres Ergebnis.
Hinweis
- Geohash kann ein nützliches Geospatialclustering-Tool sein.
- Geohash verfügt über 18 Genauigkeitsstufen mit Flächenabdeckung von 25 Millionen km² auf der höchsten Ebene 1 bis 0,6 μ² auf der niedrigsten Ebene 18.
- Allgemeine Präfixe von Geohash geben die Nähe von Punkten zueinander an. Je länger ein freigegebenes Präfix ist, desto näher sind die beiden Stellen. Der Genauigkeitswert wird in die Länge des Geohashs übersetzt.
- Geohash ist ein rechteckiger Bereich auf einer Ebenenoberfläche.
- Wenn Sie die funktion geo_geohash_to_central_point() für eine Geohash-Zeichenfolge aufrufen, die für längengrad x und breiten y berechnet wurde, wird nicht unbedingt x und y zurückgegeben.
- Aufgrund der Geohash-Definition ist es möglich, dass sich zwei geografische Standorte sehr nahe beieinander befinden, aber unterschiedliche Geohashcodes haben.
Rechteckige Geohash-Flächenabdeckung pro Genauigkeitswert:
Genauigkeit | Breite | Höhe |
---|---|---|
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 μ |
Siehe auch geo_point_to_s2cell(), geo_point_to_h3cell().
Vergleich mit anderen verfügbaren Rastersystemen finden Sie unter Geospatialclustering mit Kusto-Abfragesprache.
Beispiele
Im folgenden Beispiel werden US-Sturmereignisse durch Geohash aggregiert.
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)
Output
Im folgenden Beispiel wird der Geohash-Zeichenfolgenwert berechnet und zurückgegeben.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Output
geohash |
---|
dhwfz15h |
Im folgenden Beispiel werden Gruppen von Koordinaten gefunden. Jedes Koordinatenpaar in der Gruppe befindet sich in einem rechteckigen Bereich von 4,88 km um 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
Output
geohash | count | locations |
---|---|---|
c23n8 | 2 | ["A"; "B"] |
c23n9 | 1 | ["C"] |
Im folgenden Beispiel wird aufgrund der ungültigen Koordinateneingabe ein leeres Ergebnis erzeugt.
print geohash = geo_point_to_geohash(200,1,8)
Output
geohash |
---|
Im folgenden Beispiel wird aufgrund der ungültigen Genauigkeitseingabe ein leeres Ergebnis erzeugt.
print geohash = geo_point_to_geohash(1,1,int(null))
Output
geohash |
---|