Курсы и расстояния между навигационными путевыми точками
[course,dist] = legs(lat,lon)
[course,dist] = legs(lat,lon,method)
[course,dist] = legs(pts,___)
mat = legs(___)
[course,dist] = legs(lat,lon)
возвращает азимуты (course
) и расстояния (dist
) между навигационными путевыми точками, которые заданы векторами-столбцами lat
и lon
.
[course,dist] = legs(lat,lon,method)
задает логику для характеристик ветви. Если на method
является 'rh'
(по умолчанию), course
и dist
вычисляются в значении линии гребня. Если method
является 'gc'
, используются большие вычисления круга.
[course,dist] = legs(pts,___)
задает путевые точки в одной двухколоночной матрице, pts
.
mat = legs(___)
упаковывает выходы в одну двухколоночную матрицу, mat
.
Это функция навигации. Все углы в степенях, а все расстояния в морских милях. Ноги дорожки являются курсами и расстояниями, пройденными между навигационными путевыми точками.
Представьте себе самолет, взлетевший из международного аэропорта Логан в Бостоне (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º на ещё 1495 миль.
Насколько дальше он движется, не идя по огромному круговому пути между путевыми точками? Используя линии гребня, он путешествует
totalrh = sum(dist) totalrh = 2.2530e+003
Для отличного кругового маршрута,
[coursegc,distgc] = legs(lat,long,'gc'); totalgc = sum(distgc) totalgc = 2.2451e+003
Путь большого круга меньше половины на один процент короче.