Курсы и расстояния между навигационным 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Большой круговой путь меньше половины на один процент короче.