exponenta event banner

mdistort

Отображение контуров постоянного искажения карты

Синтаксис

mdistort
mdistort off
mdistort parameter
mdistort(parameter,levels)
mdistort(parameter,levels,gsize)
h = mdistort(...)

Описание

mdistortбез входных аргументов переключает отображение контуров вызванного проекцией искажения на осях текущей карты. Величина искажения сообщается в процентах.

mdistort off удаляет контуры.

mdistort parameter отображает контуры искажения для указанного параметра. Распознаваемые параметры:

Параметр Стоимость
'area' 
'angles'максимальное угловое искажение прямых углов
'scale' или 'maxscale'максимальный масштаб (по умолчанию)
'minscale'минимальная шкала
'parscale'масштаб вдоль параллелей
'merscale'масштаб вдоль меридианов
'scaleratio'отношение максимальной и минимальной шкалы

mdistort(parameter,levels) определяет уровни, для которых прорисовываются контуры. levels является вектором значений, используемых contour. Если пусто, используются уровни по умолчанию.

mdistort(parameter,levels,gsize) управляет размером базовой матрицы гратикулов, используемой для вычисления контуров. gsize - двухэлементный вектор, содержащий число строк и столбцов. Если не указано, значение по умолчанию Mapping Toolbox™ graticule имеет размер [50 100] предполагается.

h = mdistort(...) возвращает маркер к объекту группы контуров, содержащему контуры и текст.

Фон

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

mdistort не предназначен для использования с UTM. Искажение является минимальным в пределах данной зоны UTM. mdistort выдает предупреждение при обнаружении проекции UTM.

Примеры

свернуть все

Экстремальное искажение площади проекции Меркатора. Это делает его непригодным для глобальных дисплеев.

figure
axesm mercator
load coastlines
framem; 
plotm(coastlat,coastlon,'color',.5*[1 1 1])
mdistort('area', [1 30 100 200 500 1000])

Figure contains an axes. The axes contains 3 objects of type patch, line, contour.

Линии нулевого искажения для проекции Бонна следуют за центральным меридианом и стандартной параллелью.

figure
axesm bonne
load coastlines
framem;
plotm(coastlat,coastlon,'color',.5*[1 1 1])
mdistort('angles', 0:15:90)
parallelui

Figure contains an axes. The axes contains 4 objects of type patch, line, contour.

Эквидистантная коническая проекция с правильно выбранными параллелями может отображать контурную США с искажением менее 1,5%.

figure
usamap conus
load conus
patchm(uslat, uslon, [1 0.7 0])
plotm(statelat, statelon)
patchm(gtlakelat, gtlakelon, 'cyan')
framem off; gridm off; mlabel off; plabel off
mdistort('parscale', -2:.5:2)
parallelui

Совет

mdistort может помочь в размещении стандартных параллелей для проекций. Стандартные параллели обычно расположены так, чтобы минимизировать искажения в интересующей области. Расположение параллели по умолчанию может не подходить для карт небольших областей. С помощью mdistort и parallelui, сразу видно, как движение параллелей уменьшает искажение.

См. также

| |