geo_point_to_geohash()
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Calcola il valore della stringa geohash di una posizione geografica.
Altre informazioni su geohash.
Sintassi
geo_point_to_geohash(
longitudine,
latitudine,
[ accuratezza ])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
longitude | real |
✔️ | Coordinata geospaziale, valore di longitudine in gradi. Il valore valido è un numero reale e nell'intervallo [-180, +180]. |
latitude | real |
✔️ | Coordinata geospaziale, valore di latitudine in gradi. Il valore valido è un numero reale e nell'intervallo [-90, +90]. |
accuratezza | int |
Definisce l'accuratezza richiesta. I valori supportati sono compresi nell'intervallo [1, 18]. Se non specificato, viene usato il valore predefinito 5 . |
Valori restituiti
Valore stringa geohash di una determinata posizione geografica con lunghezza di accuratezza richiesta. Se la coordinata o l'accuratezza non è valida, la query produce un risultato vuoto.
Nota
- Geohash può essere uno strumento di clustering geospaziale utile.
- Geohash ha 18 livelli di accuratezza con copertura dell'area compresa tra 25 milioni di km² al livello più alto da 1 a 0,6 μ² al livello più basso 18.
- I prefissi comuni di geohash indicano la prossimità dei punti l'uno all'altro. Più a lungo è un prefisso condiviso, più vicino sono le due posizioni. Il valore di accuratezza si traduce in lunghezza geohash.
- Geohash è un'area rettangolare su una superficie del piano.
- Richiamare la funzione geo_geohash_to_central_point() su una stringa geohash calcolata in base alla longitudine x e alla latitudine y non restituirà necessariamente x e y.
- A causa della definizione geohash, è possibile che due posizioni geografiche siano molto vicine l'una all'altra, ma abbiano codici geohash diversi.
Copertura dell'area rettangolare geohash per ogni valore di accuratezza:
Precisione | Larghezza | Altezza |
---|---|---|
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 μ |
Vedere anche geo_point_to_s2cell(), geo_point_to_h3cell().
Per un confronto con altri sistemi di griglia disponibili, vedere Clustering geospaziale con Linguaggio di query Kusto.
Esempi
L'esempio seguente trova gli eventi storm statunitensi aggregati da 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)
Output
L'esempio seguente calcola e restituisce il valore della stringa geohash.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Output
geohash |
---|
dhwfz15h |
Nell'esempio seguente vengono trovati gruppi di coordinate. Ogni coppia di coordinate nel gruppo risiede in un'area rettangolare di 4,88 km di 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 | numero | locations |
---|---|---|
c23n8 | 2 | ["A", "B"] |
c23n9 | 1 | ["C"] |
Nell'esempio seguente viene generato un risultato vuoto a causa dell'input di coordinate non valido.
print geohash = geo_point_to_geohash(200,1,8)
Output
geohash |
---|
Nell'esempio seguente viene generato un risultato vuoto a causa dell'input di accuratezza non valido.
print geohash = geo_point_to_geohash(1,1,int(null))
Output
geohash |
---|