Set figure properties for printing at specified map scale

`paperscale(paperdist,`

* punits*,surfdist,

`sunits`

paperscale(paperdist,

`punits`

`sunits`

paperscale(paperdist,

`punits`

`sunits`

paperscale(paperdist,

`punits`

`sunits`

`gunits`

paperscale(paperdist,

`punits`

`sunits`

`gunits`

radius)

paperscale(scale,...)

[paperXdim,paperYdim] = paperscale(...)

`paperscale(paperdist,`

sets
the figure paper position to print the map in the current axes at
the desired scale. The scale is described by the geographic distance
that corresponds to a paper distance. For example, a scale of 1 inch
= 10 kilometers is specified as * punits*,surfdist,

`sunits`

`degrees(1,'inch',10,'km')`

.
See below for an alternate method of specifying the map scale. The
surface distance units string `sunits`

`unitsratio`

.
The paper units string `punits`

`PaperUnits`

property.`paperscale(paperdist,`

sets
the paper position so that the scale is correct at the specified geographic
location. If omitted, the default is the center of the map limits.* punits*,surfdist,

`sunits`

`paperscale(paperdist,`

also
specifies the direction along which the scale is correct. If omitted,
90 degrees (east) is assumed.* punits*,surfdist,

`sunits`

`paperscale(paperdist,`

also
specifies the units in which the geographic position and direction
are given. If omitted, * punits*,surfdist,

`sunits`

`gunits`

`'degrees`

' is assumed.`paperscale(paperdist,`

uses the last input to determine the
radius of the sphere. * punits*,surfdist,

`sunits`

`gunits`

radius)

`radius`

can be one of the
strings supported by `km2deg`

, or
it can be the (numerical) radius of the desired sphere in `zunits`

.
If omitted, the default radius of the Earth is used..`paperscale(scale,...)`

, where
the numeric scale replaces the two property/value pairs, specifies
the scale as a ratio between distance on the sphere and on paper.
This is commonly notated on maps as 1:scale (e.g. 1:100 000, or 1:1
000 000). For example, `paperscale(100000)`

or `paperscale(100000,lat,long)`

.

`[paperXdim,paperYdim] = paperscale(...)`

returns
the computed paper dimensions. The dimensions are in the paper units
specified. For the scale calling form, the returned dimensions are
in centimeters.

Maps are usually printed at a size that allows an easy comparison
of distances measured on paper to distances on the Earth. The relationship
of geographic distance and paper distance is termed *scale*.
It is usually expressed as a ratio, such as 1 to 100,000 or 1:100,000
or 1 cm = 1 km.

The small circle measures 10 cm across when printed.

axesm mercator [lat,lon] = scircle1(0,0,km2deg(5)); plotm(lat,lon) [x,y] = paperscale(1,'centimeter',1,'km'); [x y] ans = 13.154 12.509 set(gca,'pos', [ 0 0 1 1]) [x,y] = paperscale(1,'centimeter',1,'km'); [x y] ans = 10.195 10.195

The relationship between the paper and geographic coordinates
holds only as long as there are no changes to the display that affect
the axes limits or the relationship between geographic coordinates
and projected coordinates. Changes of this type include the ellipsoid
or scale factor properties of the map axes, or adding elements to
the display that cause MATLAB^{®} to modify the axes autoscaling.
To be sure that the scale is correct, execute `paperscale`

just
before printing.

Was this topic helpful?