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