Sdílet prostřednictvím


geo_point_to_geohash()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Vypočítá řetězcovou hodnotu geohash zeměpisného umístění.

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

Syntaxe

geo_point_to_geohash(zeměpisná šířka,,[ přesnost ])

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

Parametry

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

Návraty

Řetězcová hodnota geohash daného zeměpisné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ý geoprostorový clusteringový nástroj.
  • Geohash má 18 úrovní přesnosti v rozsahu od 25 milionů km² na nejvyšší úrovni 1 až 0,6 μ² na nejnižší úrovni 18.
  • Běž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 geohashu.
  • Geohash je obdélníková plocha na povrchu roviny.
  • Vyvolání funkce geo_geohash_to_central_point() u řetězce geohash, který byl vypočítán podle délky x a zeměpisné šířky y, nemusí nutně vrátit x a y.
  • Vzhledem k definici geohash je možné, že dvě geografická umístění jsou velmi blízko sebe, ale mají různé kódy geohash.

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

Přesnost Šířka Výška
0 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 jinými dostupnými systémy mřížky najdete v tématu geoprostorové clusteringy s dotazovací jazyk Kusto.

Příklady

Následující příklad najde události bouře USA agregované geohashem.

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 obrazovkysch

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
dhwfz15h

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

Následující příklad vytvoří prázdný výsledek z důvodu neplatného vstupu souřadnic.

print geohash = geo_point_to_geohash(200,1,8)

Výstup

geohash

Následující příklad vytvoří prázdný výsledek z důvodu neplatného vstupu přesnosti.

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

Výstup

geohash