geo_angle()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Вычисляет по часовой стрелке угол в радианах между двумя линиями на Земле. Первая строка — [точка1, точка2], а вторая — [точка2, точка3].
Синтаксис
geo_angle(
,
p1_longitude p1_latitude,
,
p2_longitude p2_latitude,
p3_longitude p3_latitude,
)
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
p1_longitude | real |
✔️ | Значение долготы в градусах первой геопространственной координаты. Допустимое значение находится в диапазоне [-180, +180]. |
p1_latitude | real |
✔️ | Значение широты в градусах первой геопространственной координаты. Допустимое значение находится в диапазоне [-90, +90]. |
p2_longitude | real |
✔️ | Значение долготы в градусах второй геопространственной координаты. Допустимое значение находится в диапазоне [-180, +180]. |
p2_latitude | real |
✔️ | Значение широты в градусах второй геопространственной координаты. Допустимое значение находится в диапазоне [-90, +90]. |
p3_longitude | real |
✔️ | Значение долготы в градусах второй геопространственной координаты. Допустимое значение находится в диапазоне [-180, +180]. |
p3_latitude | real |
✔️ | Значение широты в градусах второй геопространственной координаты. Допустимое значение находится в диапазоне [-90, +90]. |
Возвраты
Угол в радианах в диапазоне [0, 2pi) между двумя линиями [p1, p2] и [p2, p3]. Угол измеряется CW от первой строки до второй линии.
Примечание.
- Геопространственные координаты интерпретируются как представленные эталонной системой координат WGS-84 .
- Геостатический datum , используемый для измерения расстояния на Земле является сферой. Границы линии — геодесик на сфере.
- Если координаты недопустимы, запрос создаст результат NULL.
- Если точка1 равна точке 2, запрос создаст результат NULL.
- Если точка2 равна точке 3, запрос создаст результат NULL.
- Если точка1 и точка2 являются антиподальными, запрос создаст результат NULL.
- Если точка 2 и точка3 являются антиподальными, запрос создаст результат NULL.
Примеры
В следующем примере вычисляется угол в радианах.
print angle_in_radians = geo_angle(0, 10, 0,5, 3,-10)
Выходные данные
angle_in_radians |
---|
2.94493843406882 |
В следующем примере вычисляется угол в градусах.
let angle_in_radians = geo_angle(0, 10, 0,5, 3,-10);
print angle_in_degrees = degrees(angle_in_radians)
Выходные данные
angle_in_degrees |
---|
168.732543198009 |
В следующем примере возвращается значение NULL, так как 1-ая точка равна 2-й точке.
print is_null = isnull(geo_angle(0, 10, 0, 10, 3, -10))
Выходные данные
is_null |
---|
Истина |