Параметры искажения для проекций карты
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Эта функция использует метод конечных разностей. Географические координаты слегка возмущены в разных направлениях и спроецированы. Небольшая величина ошибки вводится числовым вычислением производных и изменением параметров искажения карты.