Курсы и расстояния между навигационным waypoints
[course,dist] = legs(lat,lon)
[course,dist] = legs(lat,lon,method)
[course,dist] = legs(pts,___)
mat = legs(___)
[course,dist] = legs(lat,lon)
возвращает азимуты (course
) и расстояния (dist
) между навигационными waypoints, которые заданы вектор-столбцами lat
и lon
.
[course,dist] = legs(lat,lon,method)
задает логику для характеристик участка. Если method
'rh'
(значение по умолчанию), course
и dist
вычисляются в смысле локсодромы. Если method
'gc'
, используются большие круговые вычисления.
[course,dist] = legs(pts,___)
задает waypoints в одной матрице 2D столбца, pts
.
mat = legs(___)
собирает выходные параметры в одну матрицу 2D столбца, mat
.
Это - функция навигации. Все углы в градусах, и все расстояния находятся в морских милях. Участки дорожки являются курсами, и расстояния переместились между навигационным waypoints.
Вообразите самолет, вылетающий из международного аэропорта Логан в Бостоне (42.3ºN, 71ºW) и перемещающийся в LAX в Лос-Анджелесе (34ºN, 118ºW). Пилот хочет зарегистрировать план рейса, который садится на плоскость по Аэропорту О'Хара в Чикаго (42ºN, 88ºW) для навигационного обновления, при поддержании постоянного заголовка на каждом из двух участков прохождения.
Каковы те заголовки и какой длины участки?
lat = [42.3; 42; 34];
long = [-71; -88; -118];
[course,dist] = legs(lat,long,'rh')
course = 268.6365 251.2724 dist = 1.0e+003 * 0.7569 1.4960
На взлет плоскость должна продолжить на заголовке приблизительно 269º для 756 морских миль, затем поменять курс к 251º еще для 1 495 миль.
Насколько дальше это перемещается, не следуя за большим круговым путем между waypoints? Используя локсодромы, это перемещается
totalrh = sum(dist) totalrh = 2.2530e+003
Для большого кругового маршрута,
[coursegc,distgc] = legs(lat,long,'gc'); totalgc = sum(distgc) totalgc = 2.2451e+003
Большой круговой путь меньше половины на один процент короче.