geo_point_to_geohash()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет строковое значение геохашной строки географического расположения.
Дополнительные сведения о геохаше.
Синтаксис
geo_point_to_geohash(
долгота,
широты,
[ точность ])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
longitude | real |
✔️ | Геопространственные координаты, значение долготы в градусах. Допустимое значение — это реальное число и в диапазоне [-180, +180]. |
latitude | real |
✔️ | Геопространственные координаты, значение широты в градусах. Допустимое значение — это реальное число и в диапазоне [-90, +90]. |
точность | int |
Определяет запрошенную точность. Поддерживаемые значения находятся в диапазоне [1, 18]. Если не задано, по умолчанию используется значение 5 . |
Возвраты
Строковое значение геохаша заданного географического расположения с запрошенной длиной точности. Если координата или точность недопустимы, запрос создает пустой результат.
Примечание.
- Геохаш может быть полезным инструментом геопространственного кластеризации.
- Геохаш имеет 18 уровней точности с покрытием области от 25 миллионов км до самого высокого уровня 1 до 0,6 μ х х 18.
- Общие префиксы геохаша указывают на близость точек друг к другу. Чем длиннее общий префикс, тем ближе два места. Значение точности преобразуется в длину геохаша.
- Геохаш — это прямоугольная область на поверхности плоскости.
- Вызов функции geo_geohash_to_central_point() в строке геохаширования, вычисляемой по долготе x и широте y, не обязательно возвращает x и y.
- Из-за определения геохашности возможно, что два географических расположения очень близки друг к другу, но имеют разные коды геохаша.
Геохашная прямоугольная область покрытия на значение точности:
Правильность | Ширина | Высота |
---|---|---|
1 | 5000 км | 5000 км |
2 | 1250 км | 625 км |
3 | 156,25 км | 156,25 км |
4 | 39.06 км | 19,53 км |
5 | 4,88 км | 4,88 км |
6 | 1,22 км | 0,61 км |
7 | 152,59 м | 152,59 м |
8 | 38,15 м | 19.07 m |
9 | 4,77 м | 4,77 м |
10 | 1,19 м | 0,59 м |
11 | 149,01 мм | 149,01 мм |
12 | 37,25 мм | 18,63 мм |
13 | 4,66 мм | 4,66 мм |
14 | 1,16 мм | 0,58 мм |
15 | 145.52 μ | 145.52 μ |
16 | 36.28 μ | 18.19 μ |
17 | 4.55 μ | 4.55 μ |
18 | 1.14 μ | 0.57 μ |
См. также geo_point_to_s2cell(), geo_point_to_h3cell().
Сравнение с другими доступными системами сетки см. в геопространственной кластеризации с язык запросов Kusto.
Примеры
Следующий пример находит события шторма США, агрегированные геохашом.
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)
Выходные данные
В следующем примере вычисляется и возвращается строковое значение геохаша.
print geohash = geo_point_to_geohash(-80.195829, 25.802215, 8)
Выходные данные
геохаш |
---|
dhwfz15h |
В следующем примере показано, как найти группы координат. Каждая пара координат в группе находится в прямоугольной области 4,88 км на 4,88 км.
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
Выходные данные
геохаш | count | locations |
---|---|---|
c23n8 | 2 | ["A", "B"] |
c23n9 | 1 | ["C"] |
В следующем примере создается пустой результат из-за недопустимых входных данных координат.
print geohash = geo_point_to_geohash(200,1,8)
Выходные данные
геохаш |
---|
В следующем примере создается пустой результат из-за недопустимой точности ввода.
print geohash = geo_point_to_geohash(1,1,int(null))
Выходные данные
геохаш |
---|