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
= 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
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 = 1.0000 angdef = 8.5377e-007
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 = 4.0000 angdef = 4.9720e-004
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.