Многоугольник, обозначающий географический четырехугольник
[lat,lon] = outlinegeoquad(latlim,lonlim,dlat,dlon)
[lat,lon] = outlinegeoquad(latlim,lonlim,dlat,dlon) создает многоугольник, который отслеживает контур географического четырехугольника, определяемого latlim и lonlim. Такой многоугольник может быть полезен для отображения четырехугольника графически, особенно на проекции, где меридианы и/или параллели не проецируются на прямые линии. latlim - двухэлементный вектор вида: [southern-limit northern-limit] и lonlim - двухэлементный вектор вида: [western-limit eastern-limit]. dlat - положительный скаляр, определяющий минимальное расстояние между вершинами в градусах, применяемое вдоль меридианов, ограничивающих восточную и западную кромки четырехугольника. Аналогично, dlon - положительный скаляр, указывающий минимальное расстояние между вершинами в градусах долготы, применяемое вдоль параллелей, ограничивающих северную и южную кромки четырехугольника. Продукция lat и lon содержат вершины простого замкнутого многоугольника с упорядочением вершин по часовой стрелке.
Отображение контуров трех географических четырехугольников, имеющих очень разные качества, поверх простой базовой карты:
figure('Color','white')
axesm('ortho','Origin',[-45 110],'frame','on','grid','on')
axis off
load coastlines
geoshow(coastlat, coastlon)
% Quadrangle covering Australia and vicinity
[lat, lon] = outlinegeoquad([-45 5],[110 175],5,5);
geoshow(lat,lon,'DisplayType','polygon','FaceAlpha',0.5);
% Quadrangle covering Antarctic region
antarcticCircleLat = dms2degrees([-66 33 39]);
[lat, lon] = outlinegeoquad([-90 antarcticCircleLat], ...
[-180 180],5,5);
geoshow(lat,lon,'DisplayType','polygon', ...
'FaceColor','cyan','FaceAlpha',0.5);
% Quadrangle covering nominal time zone 9 hours ahead of UTC
[lat, lon] = outlinegeoquad([-90 90], 135 + [-7.5 7.5], 5, 5);
geoshow(lat,lon,'DisplayType','polygon', ...
'FaceColor','green','FaceAlpha',0.5);
Все входные и выходные углы в единицах градусов. Выберите достаточно малое значение для dlat (возможно, несколько градусов) при использовании проекции с изогнутыми меридианами или изогнутыми параллелями.
Чтобы избежать интерполяции дополнительных вершин вдоль меридианов или параллелей, задайте dlat или dlon до значения Inf.
Вставка дополнительных вершин подавляется в полюсах (то есть, если latlim(1) == -90 или latlim(2) == 90. Если lonlim соответствует ширине четырехугольника ровно 360 градусов (lonlim == [-180 180], например), то он покрывает полную широтную зону и включает в себя две отдельные, отделенные NaN части, кроме
latlim(1) == -90 или latlim(2) == 90, так что нужна только одна часть - многоугольник, который следует параллельно по часовой стрелке вокруг одного из полюсов.
latlim(1) == -90 и latlim(2) == 90, так что четырехугольник охватывает всю планету. В этом случае четырехугольник не может быть представлен многоугольником широты-долготы и результатом является ошибка.