Параметры искажения для проекций карты
areascale = distortcalc(lat,long)
areascale = distortcalc(mstruct,lat,long)
[areascale,angdef,maxscale,minscale,merscale,parscale]
= distortcalc(...)
areascale = distortcalc(lat,long)
вычисляет искажение площади для текущей проекции карты в заданном географическом местоположении. Масштаб площади 1 указывает на отсутствие искажений шкалы. Широта и долгота могут быть скалярами, векторами или матрицами в угловых модулях заданной проекции карты.
areascale = distortcalc(mstruct,lat,long)
использует проекцию, заданную в структуре карты mstruct
.
[areascale,angdef,maxscale,minscale,merscale,parscale]
= distortcalc(...)
вычисляет шкалу площади, максимальную угловую деформацию прямых углов (в угловые модули заданной проекции), конкретные максимальные и минимальные искажения шкалы в любом направлении и конкретную шкалу вдоль меридиана и параллели. Можно также вызвать функцию distortcalc
с меньшим количеством выходных аргументов, в порядке, показанном на рисунке.
Проекции карты неизбежно вносят искажения в формы и размеры объектов, когда они преобразованы из трехмерных сферических координат в двумерные Декартовы координаты. Величина и тип искажения варьируются между проекциями, по проекции и с выбором параметров проекции, таких как стандартные параллели. Эта функция позволяет количественную оценку параметров искажения.
В экваторе проекция Меркатора свободна как от площади, так и от углового искажения:
axesm mercator [areascale,angdef] = distortcalc(0,0) areascale = 1.0000 angdef = 8.5377e-007
В 60 степенях севернее объекты показаны на 400% от их истинной площади. Проекция конформная, поэтому угловое искажение все еще равняется нулю.
[areascale,angdef] = distortcalc(60,0) areascale = 4.0000 angdef = 4.9720e-004
Эта функция использует метод конечного различия. Географические координаты слегка возмущаются в разных направлениях и проецируются. Небольшая величина ошибки введена численным расчетом производных и вариацией параметров искажения карты.