exponenta event banner

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