Возвращает азимут направления из одной точки в другую.
Visual Basic:
Function GetAzimuth(Xo As Double, Yo As Double, X As Double, Y As Double, flags As Long) As Double
Xo, Yo - координаты начальной точки в метрах.
X, Y - координаты конечной точки в метрах.
flags - единицы измерения результата: 0 - радианы, 1 - градусы.
Азимут отсчитывается от направления на север по часовой стрелке. Результат лежит в диапазоне от 0 до 2π радиан (от 0 до 360 градусов).
Обратите внимание на порядок координат: X - северная координата, Y - восточная. Точка, смещенная от начальной на восток, дает азимут 90 градусов, смещенная на север - 0 градусов.
Visual Basic:
Sub CRS_GetAzimuth Set crs = CreateObject("ZuluLib.CRS") crs.InitByCode("EPSG:3857") 'Азимут из точки (0,0) на точку, смещенную на 1000 м к востоку. 'X - северная координата, Y - восточная, flags = 1 - результат в градусах. MsgBox crs.GetAzimuth(0, 0, 0, 1000, 1) 'вернет 90 End SubPython:
import zulu def Macro_CRS_GetAzimuth(): crs = zulu.CRS() crs.InitByCode("EPSG:3857") # Азимут из точки (0,0) на точку, смещенную на 1000 м к востоку. # X - северная координата, Y - восточная, flags = 1 - результат в градусах. print(crs.GetAzimuth(0, 0, 0, 1000, 1)) # 90.0