Dimensions are specified using numbers followed by optional units. A number without a unit refers to pixels. Sometimes units are not allowed, as for example in opacity levels, which are dimensionless. Where units are allowed, you can use any of the following:

• pt: printer's points of exactly 1/72in (sometimes called PostScript points).
• pc: printer's picas of 12pt.
• cm: centimeters.
• mm: millimeters.
• in: inches.
• m: map meters; that is, meters at the scale of the map, converted to pixels using the current map projection.
• %: a percentage of some value depending on context; for example, in the context of a road, percentages refer to the width of the road, allowing you to specify that a road name is 75% of the width of the road.

#### Logarithmic units

There are also some special units allowing you to scale features logarithmically so that their sizes are exaggerated at small scales. They are useful for making major roads stand out. While ordinary map-based dimensions (dimensions using the 'm' unit) scale smoothly as you zoom in or out, sometimes you need to use different proportions at different scales, and interpolate between them.

The format is

<size1>@<scale1>_<size2>@<scale2>

For example, '10m@5000_25m@25000' gives a size of 10 map metres at a scale of 1:5000, 25 map metres at a scale of 1:25000, and scales between them logarithmically. Outside the range, the end points of the range are used. Thus, for this example, 10 map metres is used for scales larger than 1:5000 and 25 map metres is used for scales smaller than 1:25,000.

#### Height gradient stop positions

The special unit ft-height converts height in feet, as used in some terrain-height array objects, to a value between 0 and 1 to be used as a height gradient ramp stop position.