geo_point_buffer()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет многоугольник, содержащий все точки в заданном радиусе точки на Земле.
Синтаксис
geo_point_buffer(
Погрешность радиуса широты,
долготы,
,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
longitude | real |
✔️ | Значение долготы геопространственной координаты в градусах. Допустимое значение — это реальное число и в диапазоне [-180, +180]. |
latitude | real |
✔️ | Значение широты географической координаты в градусах. Допустимое значение — это реальное число и в диапазоне [-90, +90]. |
радиус | real |
✔️ | Радиус буфера в метрах. Допустимое значение должно быть положительным. |
tolerance | real |
Определяет допустимое значение в метрах, определяющее, сколько многоугольник может отклоняться от идеального радиуса. Если не задано, по умолчанию используется значение 10 . Допустимость не должна превышать 0,0001% радиуса. Указание допустимости больше радиуса снижает допустимое значение до наибольшего возможного значения ниже радиуса. |
Возвраты
Многоугольник вокруг входной точки. Если координаты или радиус или допустимость недопустимы, запрос создает результат NULL.
Примечание.
- Геопространственные координаты интерпретируются как представленные эталонной системой координат WGS-84 .
- Геостатический datum , используемый для измерения расстояния на Земле является сферой.
Примеры
Следующий запрос вычисляет многоугольник вокруг координат [-115.1745008278, 36.1497251277] с радиусом 20 км.
print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
buffer |
---|
{"type": "Polygon", "координаты": [ ... ]} |
Следующий запрос вычисляет буфер вокруг каждой точки и унифицирует результат
datatable(longitude:real, latitude:real, radius:real)
[
real(-80.3212217992616), 25.268683367546604, 5000,
real(-80.81717403605833), 24.82658441221962, 3000
]
| project buffer = geo_point_buffer(longitude, latitude, radius)
| summarize polygons = make_list(buffer)
| project result = geo_union_polygons_array(polygons)
result |
---|
{"type": "MultiPolygon", "координаты": [ ... ]} |
В следующем примере возвращается значение true из-за недопустимой точки.
print result = isnull(geo_point_buffer(200, 1,0.1))
result |
---|
Истина |
В следующем примере возвращается значение true из-за недопустимого радиуса.
print result = isnull(geo_point_buffer(10, 10, -1))
result |
---|
Истина |