geo_point_to_geohash()

Coğrafi konumun geohash dize değerini hesaplar.

Geohash hakkında daha fazla bilgi edinin.

Syntax

geo_point_to_geohash(Boylam,Enlem,[ doğruluk ])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
Boylam real ✔️ Jeo-uzamsal koordinat, boylam değeri derece olarak. Geçerli değer gerçek bir sayıdır ve [-180, +180] aralığındadır.
latitude real ✔️ Jeo-uzamsal koordinat, derece olarak enlem değeri. Geçerli değer gerçek bir sayıdır ve [-90, +90] aralığındadır.
Doğru -luk int İstenen doğruluğu tanımlar. Desteklenen değerler [1, 18] aralığındadır. Belirtilmemişse, varsayılan değer 5 kullanılır.

Döndürülenler

İstenen doğruluk uzunluğuna sahip belirli bir coğrafi konumun geohash dize değeri. Koordinat veya doğruluk geçersizse sorgu boş bir sonuç üretir.

Not

  • Geohash yararlı bir jeo-uzamsal kümeleme aracı olabilir.
  • Geohash en yüksek düzey 1 ile 0,6 μ² en düşük düzeyde 18 arasında alan kapsamı 25 Milyon km² arasında değişen 18 doğruluk seviyesine sahiptir.
  • Geohash'in ortak ön ekleri noktaların birbirine yakın olduğunu gösterir. Paylaşılan ön ek ne kadar uzun olursa, iki yer o kadar yakın olur. Doğruluk değeri geohash uzunluğuna çevrilir.
  • Geohash, düzlem yüzeyinde dikdörtgen bir alandır.
  • x ve enlem y boylamı üzerinde hesaplanan bir geohash dizesinde geo_geohash_to_central_point() işlevini çağırmak mutlaka x ve y döndürmez.
  • Coğrafi bölge tanımı nedeniyle, iki coğrafi konumun birbirine çok yakın olması ancak farklı coğrafi bölge kodları olması mümkündür.

Doğruluk değeri başına coğrafi olarak dikdörtgen alan kapsamı:

Doğruluk Width Height
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 μ

Ayrıca bkz. geo_point_to_s2cell(), geo_point_to_h3cell().

Kullanılabilir diğer kılavuz sistemleriyle karşılaştırma için bkz. Kusto Sorgu Dili ile jeo-uzamsal kümeleme.

Örnekler

Aşağıdaki örnek, geohash tarafından toplanan ABD fırtına olaylarını bulur.

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)

Çıkış

Coğrafi bölgeye göre gruplandırılmış ABD fırtına olaylarının ekran görüntüsü.

Aşağıdaki örnek geohash dizesi değerini hesaplar ve döndürür.

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

Çıkış

geohash
dhwfz15h

Aşağıdaki örnek koordinat gruplarını bulur. Gruptaki her koordinat çifti 4,88 km ile 4,88 km dikdörtgen bir alanda bulunur.

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

Çıkış

geohash count Konum
c23n8 2 ["A", "B"]
c23n9 1 ["C"]

Aşağıdaki örnek, geçersiz koordinat girişi nedeniyle boş bir sonuç üretir.

print geohash = geo_point_to_geohash(200,1,8)

Çıkış

geohash

Aşağıdaki örnek, geçersiz doğruluk girişi nedeniyle boş bir sonuç üretir.

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

Çıkış

geohash