Monovariate Symbolization

The macros in this chapter demonstrate the use of AML to accomplish map design. The AMLs become progressively more complex in order to set the stage for bi- and multivariate mapping, which, for all intensive purposes, must be done with AMLs (most of which also require the use of cursors).

Each of the examples makes use of the markers that are provided with ARC/INFO: a default set of markers in the markerset file, PLOTTER.MRK; and several other available markersets: BW.MRK, COLOR.MRK, MINERAL.MRK, MUNICIPAL.MRK, OILGAS.MRK, USGS.MRK, and WATER.MRK. Most of these are displayed in the Map Display and Query guide's Appendix B, and the ability to create new symbols sets is discussed in Chapter Three of Map Display and Query.

Nominal Data--Hue


Figure 3.1a: PH.aml Nominal data displayed with hue using the color.mrk markerset.

Hue is best used for nominal data, and the COLOR.MRK markerset provides fifteen symbols of the same shape, but each with a different color. All of the other markersets, except BW.MRK, have the same symbol in black, red, green and blue. An appropriate markerset can be selected with the MARKERSET command, and used with a lookup table that relates changes in data values to changes in hue. POINTMARKERS can then be used in conjunction with the lookup table to plot the points. This is the method used in PH.aml; see Figure 3.1a.

PH <cover> <data_item> <lookup_table> <markerset>

<cover>
the coverage to be displayed
<data_item>
an item in the point attribute table of <cover>
<lookup_table>
an info table that relates <data_item> values to markers
<markerset>
a markerset file.

Nominal Data--Orientation


Figure 3.1b: PH.aml Nominal data displayed with orientation using mineral.mrk.

Orientation is best used for nominal data, and the MINERAL.MRK markerset provides some ready-to-use symbols that vary in orientation (such as markers 143 through 149). PH.aml (above) uses command line arguments to select this markerset and draw these symbols; see Figure 3.1b.

Nominal Data--Shape


Figure 3.1c: PS.aml Nominal data displayed with shape.

Shape should only be used for nominal data. All of the markersets, except COLOR.MRK, have symbols that change in shape. The macro PS.aml uses cursors to extract the coverage name and type (point or node) from the lookup table (which must be in the format generated by the lookup table AMLs discussed in Chapter Two), and then draws the points with the lookup table; see Figure 3.1c.

PS <lookup_table> {markerset}

<lookup_table>
a lookup table generated by SETMAN
{markerset}
a markerset file--the current markerset is the default.

Ordinal to Ratio Data--Orientation


Figure 3.1d: PAO.aml Ratio data displayed with symbol orientation.

Orientation is best used for nominal data, but ARC/INFO allows the specification of orientation that can be used with higher data levels. For point symbols, the MARKERANGLE command allows specification of the drawing angle of the current symbol. The macro, PAO.aml, uses cursors to determine the minimum and maximum data values to be displayed, and then uses these values to adjust the drawing angle of the selected marker; see Figure 3.1d.

PAO <cover> <orientation_item> {markerset} {markersymbol} {markersize} {max_angle} {point|node}

<cover>
the coverage to be displayed
<orientation_item>
a numeric data field in the attribute table of <cover>
{markerset} {markersymbol}
specify a marker--the current marker is the default
{markersize}
drawing size of the marker--the default is 0.15 inches
{max_angle}
angle of the maximum data value--the default is 179 degrees
{point|node}
symbolize point (the default) or node feature.

Ordinal to Ratio Data--Value


Figure 3.2a: PV.aml Classed ratio (ordinal) data displayed with color value.

Color value is best used for ordinal data. For point symbols, the MARKERCOLOR command allows specification of the drawing color of the current symbol. ARC/INFO has a Munsell-like color specification: the HLS color model; the parameters for the HLS model are <hue> <lightness> <saturation>. Hue is an integer from 0 to 360 (red = 0, green = 120, blue = 240). Lightness is an integer from 0 to 100 (black = 0, white = 100). Saturation is an integer from 0 to 100 (gray = 0, fully saturated = 100). Specification of changes in value are accomplished by: setting hue to any valid number; adjusting lightness to control the grayness (for output on white paper, generally use a percentage less than 90); saturation must be set to 0. The macro, PV.aml, uses MARKERCOLOR to control value; see Figure 3.2a.

PV <value_lookup> {markerset} {markersymbol} {markersize} {hue} {intensity}

<value_lookup>
a lookup table generated by SETMAN or JENKS
{markerset} {markersymbol}
specify a marker--the current marker is the default
{hue} {intensity}
specify a color that will be value shaded

Ordinal to Ratio Data--Size


Figure 3.2b: PZ.aml Ratio data displayed with symbol size.

Size can be used in point symbols for ordinal and interval/ratio data, and within ARC/INFO changes in size can be achieved in two ways: for circles and boxes, ARC/INFO provides the SPOTSIZE/POINTSPOT command pair to generate circle or box point symbols; for other symbol shapes, size is changed by changing the drawing size of point symbols. The MARKERSIZE command allows the specification of the size of the current point symbol. This macro, PZ.aml, uses markersize to display a ratio data set; see Figure 3.2b.

PZ <cover> <size_item> {size_exponent} {size_factor} {minimum_size} {markerset} {markersymbol} {point|node}

<cover>
the coverage to be displayed
<size_item>
a numeric data field in the attribute table of <cover>
{size_exponent} {size_factor} {minimum_size}
define the scaling of sizes
defaults: size_exponent = 1; size_factor = 0.15; minimum_size = 0.02 inches

All of the size symbolization AMLs use the formula:

size = size_factor (normalized_data_value size_exponent) + minimum_size

This is just a formula for a line in x (normalized_data) and y (symbol size) space (with size_exponent set to one), with the ability to create non-linear progressions (with size_exponent not equal to one). The slope of the line is determined by size_factor, and the y-intercept of the line is minimum_size. The data is normalized prior to calculating the size in order to set the minimum data value to minimum_size; data values are normalized by:

normalized_data_value = (actual - minimum) / (maximum - minimum)

Ordinal to Ratio Data--Graduated Circle Size

Figure 3.2c: PC.aml Ratio data displayed with graduated circles.
Figure 3.2d: PC.aml Ratio data displayed with graduated squares.

Symbol size is good for either ordinal or interval/ratio data. For the generation of graduated circle (or box) symbols, ARC/INFO provides two commands that allow rapid generation of these maps: SPOTSIZE and POINTSPOT. SPOTSIZE must be given before POINTSPOT can be used. SPOTSIZE allows the creation of point symbols that can be linearly or exponentially scaled; of the two, exponential scaling is generally preferred, although the command line syntax is more complicated. Once SPOTSIZE has been given, POINTSPOT can be used to create graduated symbol maps, with either circle or box symbols. These two macros generate circle (PC.aml) and box (PB.aml) symbols (see Figures 3.2c and d).

PC <cover> <size_item> {minimum_size} {maximum_size} {point|node}

PB <cover> <size_item> {minimum_size} {maximum_size} {point|node}
<cover>

the coverage to be displayed
<size_item>
an interval or ratio data field in the attribute table of <cover>
{minimum_size}
size of the smallest symbol--defaults to 0.05 inches
{maximum_size}
size of the largest symbol--defaults to 0.5 inches
{point|node}
the type of <cover> to be displayed--defaults to point.