geo_point_to_geohash()

Vypočítá hodnotu řetězce geohash geografického umístění.

Přečtěte si další informace o geohash.

Syntax

geo_point_to_geohash(Délky,Šířky,[ přesnost ])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Délky real ✔️ Geoprostorová souřadnice, hodnota zeměpisné délky ve stupních. Platná hodnota je reálné číslo v rozsahu [-180, +180].
zeměpisná šířka real ✔️ Geoprostorová souřadnice, hodnota zeměpisné šířky ve stupních. Platná hodnota je reálné číslo v rozsahu [-90, +90].
Přesnost int Definuje požadovanou přesnost. Podporované hodnoty jsou v rozsahu [1, 18]. Pokud není zadán, použije se výchozí hodnota 5 .

Návraty

Řetězcová hodnota geohash daného geografického umístění s požadovanou délkou přesnosti. Pokud je souřadnice nebo přesnost neplatná, dotaz vytvoří prázdný výsledek.

Poznámka

  • Geohash může být užitečný nástroj pro geoprostorový clustering.
  • Geohash má 18 úrovní přesnosti s pokrytím v rozsahu od 25 milionů km² na nejvyšší úrovni 1 do 0,6 μ² na nejnižší úrovni 18.
  • Společné předpony geohash označují blízkost bodů k sobě navzájem. Čím delší je sdílená předpona, tím blíže jsou dvě místa. Hodnota přesnosti se překládá na délku geohash.
  • Geohash je obdélníková oblast na povrchu roviny.
  • Vyvolání funkce geo_geohash_to_central_point() u řetězce geohash vypočítaného na základě zeměpisné délky x a zeměpisné šířky y nemusí nutně vrátit hodnoty x a y.
  • Vzhledem k definici geohash je možné, že dvě geografické lokality jsou velmi blízko sebe, ale mají odlišné kódy geohash.

Obdélníkové pokrytí oblasti Geohash na hodnotu přesnosti:

Přesnost Width (Šířka) Height (Výška)
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 μ

Viz také geo_point_to_s2cell(),geo_point_to_h3cell().

Porovnání s dalšími dostupnými systémy mřížky najdete v tématu geoprostorový clustering s dotazovací jazyk Kusto.

Příklady

Následující příklad najde události storm v USA agregované podle 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)

Výstup

Snímek obrazovky s událostmi bouře v USA seskupenými podle geohash

Následující příklad vypočítá a vrátí hodnotu řetězce geohash.

print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)

Výstup

geohash
2015h

Následující příklad vyhledá skupiny souřadnic. Každá dvojice souřadnic ve skupině se nachází v obdélníkové oblasti 4,88 km x 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

Výstup

geohash count Umístění
c23n8 2 ["A", "B"]
c23n9 1 ["C"]

Následující příklad vytvoří prázdný výsledek kvůli neplatné souřadnici vstupu.

print geohash = geo_point_to_geohash(200,1,8)

Výstup

geohash

Následující příklad vytvoří prázdný výsledek kvůli neplatné přesnosti vstupu.

print geohash = geo_point_to_geohash(1,1,int(null))

Výstup

geohash