geo_point_to_s2cell()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет строковое значение строки маркера ячейки S2 географического расположения.
Дополнительные сведения об иерархии ячеек S2. Ячейка S2 может быть полезным инструментом геопространственного кластеризации. Ячейка S2 — это ячейка на сферической поверхности и имеет геодесесные края. Ячейки S2 являются частью иерархии, разделяющей поверхность Земли. Они имеют максимум 31 уровней, начиная от нуля до 30, которые определяют количество раз, когда ячейка разделена. Уровни варьируются от самого большого охвата на уровне нуля с охватом области 85 011 012,19 км2 до наименьшего охвата 0,44 см 30. Так как ячейки S2 разделены на более высоких уровнях, центр ячеек сохраняется хорошо. Два географических расположения могут быть очень близки друг к другу, но они имеют разные токены ячейки S2.
Примечание.
При вызове функции geo_s2cell_to_central_point() в строке маркера ячейки S2, которая вычислялась по долготе x и широте y, функция не обязательно возвращает x и y.
Дополнительные сведения об иерархии ячеек S2.
Синтаксис
geo_point_to_s2cell(
широта долготы,
,
[ уровень ])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
longitude | real |
✔️ | Геопространственные координаты, значение долготы в градусах. Допустимое значение — это реальное число и в диапазоне [-180, +180]. |
latitude | real |
✔️ | Геопространственные координаты, значение широты в градусах. Допустимое значение — это реальное число и в диапазоне [-90, +90]. |
level | int |
Определяет запрошенный уровень ячейки. Поддерживаемые значения находятся в диапазоне [0, 30]. Если не задано, по умолчанию используется значение 11 . |
Возвраты
Строковое значение строки маркера ячейки S2 для заданного географического расположения. Если координаты или уровни недопустимы, запрос создает пустой результат.
Приблизительное покрытие области ячейки S2 на значение уровня
Для каждого уровня размер ячейки S2 аналогичен, но не совсем равно. Размеры близлежащих ячеек, как правило, будут более равными.
Уровень | Минимальная длина края случайной ячейки (Великобритания) | Максимальная длина края случайной ячейки (США) |
---|---|---|
0 | 7842 км | 7842 км |
1 | 3921 км | 5004 км |
2 | 1825 км | 2489 км |
3 | 840 км | 1310 км |
4 | 432 км | 636 км |
5 | 210 км | 315 км |
6 | 108 км | 156 км |
7 | 54 км | 78 км |
8 | 27 км | 39 км |
9 | 14 км | 20 км |
10 | 7 км | 10 км |
11 | 3 км | 5 км |
12 | 1699 м | 2 км |
13 | 850 м | 1225 м |
14 | 425 м | 613 м |
15 | 212 м | 306 м |
16 | 106 м | 153 м |
17 | 53 м | 77 м |
18 | 27 м | 38 м |
19 | 13 м | 19 м |
20 | 7 м | 10 м |
21 | 3 м | 5 м |
22 | 166 см | 2 м |
23 | 83 см | 120 см |
24 | 41 см | 60 см |
25 | 21 см | 30 см |
26 | 10 см | 15 см |
27 | 5 см | 7 см |
28 | 2 см | 4 см |
29 | 12 мм | 18 мм |
30 | 6 мм | 9 мм |
Источник таблицы можно найти в этом статистическом ресурсе S2 Cell.
Сравнение с другими доступными системами сетки см. в геопространственной кластеризации с язык запросов Kusto.
Примеры
События шторма США, агрегированные ячейкой S2
В следующем примере показано, как найти события шторма США, агрегированные ячейками S2.
StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_s2cell(BeginLon, BeginLat, 5)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind=map)
Выходные данные
В следующем примере вычисляется идентификатор ячейки S2.
print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)
Выходные данные
s2cell |
---|
88d9b |
Поиск группы координат
В следующем примере показано, как найти группы координат. Каждая пара координат в группе находится в ячейке S2 с максимальной площадью 1632,45 км 2.
datatable(location_id:string, longitude:real, latitude:real)
[
"A", 10.1234, 53,
"B", 10.3579, 53,
"C", 10.6842, 53,
]
| summarize count = count(), // items per group count
locations = make_list(location_id) // items in the group
by s2cell = geo_point_to_s2cell(longitude, latitude, 8) // s2 cell of the group
Выходные данные
s2cell | count | locations |
---|---|---|
47b1d | 2 | ["A","B"] |
47ae3 | 1 | ["C"] |
Пустые результаты
В следующем примере создается пустой результат из-за недопустимых входных данных координат.
print s2cell = geo_point_to_s2cell(300,1,8)
Выходные данные
s2cell |
---|
В следующем примере создается пустой результат из-за недопустимых входных данных уровня.
print s2cell = geo_point_to_s2cell(1,1,35)
Выходные данные
s2cell |
---|
В следующем примере создается пустой результат из-за недопустимых входных данных уровня.
print s2cell = geo_point_to_s2cell(1,1,int(null))
Выходные данные
s2cell |
---|