gcwaypts

Одинаково разнесенные путевые точки по большому кругу

Синтаксис

[lat,lon] = gcwaypts(lat1,lon1,lat2,lon2)
[lat,lon] = gcwaypts(lat1,lon1,lat2,lon2,nlegs)
pts = gcwaypts(lat1,lon1,lat2,lon2...)

Описание

[lat,lon] = gcwaypts(lat1,lon1,lat2,lon2) возвращает координаты одинаково разнесенных точек вдоль пути большого круга, соединяющего две конечные точки, (lat1,lon1) и (lat2,lon2).

[lat,lon] = gcwaypts(lat1,lon1,lat2,lon2,nlegs) задает количество ножек дорожки равной длины для вычисления. nlegs+1 выходные точки возвращаются, так как требуется конечная точка. Количество ног по умолчанию является 10.

pts = gcwaypts(lat1,lon1,lat2,lon2...) упаковывает выходы, которые в противном случае являются двухколоночными векторами, в двухколоночную матрицу вида  [latitude longitude]. Этот формат для последующих путевых точек вдоль навигационной дорожки в этом руководстве называется форматом навигационной дорожки. Смотрите navigational track format страница с описанием в этом разделе для получения дополнительной информации.

Фон

Это навигационная функция. Он принимает, что все широты и долготы в степенях.

В навигационной практике пути с большим кругом часто аппроксимируются сегментами линии ветви. Это делается, чтобы приблизиться к кратчайшему расстоянию между точками, не требуя слишком часто изменений курса. gcwaypts функция обеспечивает простое средство нахождения путевых точек вдоль большого пути круга, который может служить конечными точками для сегментов линии реванша (ноги дорожки).

Примеры

свернуть все

Представьте, что вы владеете парусной яхтой и планируете рейс из Северной Точки, Барбадос (13,33 ° N, 59,62 ° W), в Брест, Франция (48,36 ° N, 4,49 ° W). Разделите дорожку на три сегмента равной длины.

figure('color','w');
ha = axesm('mapproj','mercator',...
    'maplatlim',[10 55],'maplonlim',[-80 10],...
    'MLineLocation',15,'PLineLocation',15);
axis off, gridm on, framem on;
% Load coastline data and plot it in the figure.
load coastlines;
hg = geoshow(coastlat,coastlon,'displaytype','line','color','b');
% Define point locations for Barbados and Brest
barbados = [13.33 -59.62];
brest = [48.36 -4.49];
% Calculate the waypoints along the path.
[l,g] = gcwaypts(barbados(1),barbados(2),brest(1),brest(2),3);
geoshow(l,g,'displaytype','line','color','r',...
    'markeredgecolor','r','markerfacecolor','r','marker','o');
geoshow(barbados(1),barbados(2),'DisplayType','point',...
    'markeredgecolor','k','markerfacecolor','k','marker','o')
geoshow(brest(1),brest(2),'DisplayType','point',...
    'markeredgecolor','k','markerfacecolor','k','marker','o')

См. также

| | |

Представлено до R2006a