geo_point_to_geohash()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcule la valeur de chaîne geohash d’un emplacement géographique.
En savoir plus sur geohash.
Syntaxe
geo_point_to_geohash(
longitude,
latitude,
[ précision ])
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
longitude | real |
✔️ | Coordonnée géospatiale, valeur de longitude en degrés. La valeur valide est un nombre réel et dans la plage [-180, +180]. |
latitude | real |
✔️ | Coordonnée géospatiale, valeur de latitude en degrés. La valeur valide est un nombre réel et dans la plage [-90, +90]. |
exactitude | int |
Définit la précision demandée. Les valeurs prises en charge se trouvent dans la plage [1, 18]. Si la valeur n’est pas spécifiée, la valeur par défaut 5 est utilisée. |
Retours
Valeur de chaîne geohash d’un emplacement géographique donné avec une longueur de précision demandée. Si la coordonnée ou la précision n’est pas valide, la requête produit un résultat vide.
Remarque
- Geohash peut être un outil de clustering géospatial utile.
- Geohash a 18 niveaux de précision avec couverture de zone allant de 25 millions de km² au niveau le plus élevé 1 à 0,6 μ² au niveau le plus bas 18.
- Les préfixes courants de geohash indiquent la proximité des points entre eux. Plus un préfixe partagé est long, plus les deux emplacements sont proches. La valeur de précision se traduit par la longueur de la limite géographique.
- Geohash est une zone rectangulaire sur une surface de plan.
- L’appel de la fonction geo_geohash_to_central_point() sur une chaîne geohash calculée sur longitude x et latitude y ne retourne pas nécessairement x et y.
- En raison de la définition de geohash, il est possible que deux emplacements géographiques soient très proches les uns des autres, mais ont des codes de géohash différents.
Couverture de zone rectangulaire geohash par valeur de précision :
Précision | Width | Hauteur |
---|---|---|
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 μ |
Voir également geo_point_to_s2cell(), geo_point_to_h3cell().
Pour des comparaisons avec d’autres systèmes de grille disponibles, consultez clustering géospatial avec Langage de requête Kusto.
Exemples
L’exemple suivant recherche les événements de tempête américains agrégés par 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)
Sortie
L’exemple suivant calcule et retourne la valeur de la chaîne geohash.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Sortie
geohash |
---|
dhwfz15h |
L’exemple suivant recherche des groupes de coordonnées. Chaque paire de coordonnées du groupe réside dans une zone rectangulaire de 4,88 km par 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
Sortie
geohash | count | locations |
---|---|---|
c23n8 | 2 | ["A », « B"] |
c23n9 | 1 | ["C"] |
L’exemple suivant génère un résultat vide en raison de l’entrée de coordonnées non valide.
print geohash = geo_point_to_geohash(200,1,8)
Sortie
geohash |
---|
L’exemple suivant génère un résultat vide en raison de l’entrée de précision non valide.
print geohash = geo_point_to_geohash(1,1,int(null))
Sortie
geohash |
---|