Main Content


Distortion parameters for map projections


areascale = distortcalc(lat,long)
areascale = distortcalc(mstruct,lat,long)
[areascale,angdef,maxscale,minscale,merscale,parscale] = distortcalc(...)


areascale = distortcalc(lat,long) computes the area distortion for the current map projection at the specified geographic location. An area scale of 1 indicates no scale distortion. Latitude and longitude can be scalars, vectors, or matrices in the angle units of the defined map projection.

areascale = distortcalc(mstruct,lat,long) uses the projection defined in the map structure mstruct.

[areascale,angdef,maxscale,minscale,merscale,parscale] = distortcalc(...) computes the area scale, maximum angular deformation of right angles (in the angle units of the defined projection), the particular maximum and minimum scale distortions in any direction, and the particular scale along the meridian and parallel. You can also call distortcalc with fewer output arguments, in the order shown.


Map projections inevitably introduce distortions in the shapes and sizes of objects as they are transformed from three-dimensional spherical coordinates to two-dimensional Cartesian coordinates. The amount and type of distortion vary between projections, over the projection, and with the selection of projection parameters such as standard parallels. This function allows a quantitative evaluation of distortion parameters.


At the equator, the Mercator projection is free of both area and angular distortion:

axesm mercator
[areascale,angdef] = distortcalc(0,0)

areascale =
angdef =

At 60 degrees north, objects are shown at 400% of their true area. The projection is conformal, so angular distortion is still zero.

[areascale,angdef] = distortcalc(60,0)

areascale =
angdef =


This function uses a finite difference technique. The geographic coordinates are perturbed slightly in different directions and projected. A small amount of error is introduced by numerical computation of derivatives and the variation of map distortion parameters.

Version History

Introduced before R2006a

See Also