Многоугольник с географическим четырёхугольником
[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
так, чтобы четырехугольник охватывал всю планету. В этом случае четырехугольник не может быть представлен многоугольником широта-долгота, и возникает ошибка.