Intelligent Text Labeling with Attributes

An attribute is information that has been attributed to a feature, such as a river name, forest type, population value, house number, or country name. Attributes are commonly available with geographic information system (GIS) data.

Unlike standard graphic design software, Ortelius has the ability to store attribute information associated with each map feature. This information is stored behind the scenes in the Ortelius Object Inspector. Labels are able to use that attribute information. We call these “intelligent labels” because they automatically use attribute information, such as road names, if that information exists behind the scenes. Intelligent labeling works the same for point, line, and area labels.

To Place Intelligent Labels Using Attribute Information

Intelligent labels are placed exactly the same way as free-text labels, without any bulky menus to get in the way.

  1. Add a label to a feature.
  2. Choose the Select [s] tool and double-click to select the label for editing.
  3. In place of the label text, use a label tag (two percent signs “%%”) followed by the attribute identifier as a placeholder for the label’s value. For instance, “%%name” would auto-populate the label with the attribute “Name”. Label tag identifiers are not case sensitive (in other words, %%NAME returns the same result as %%Name).

HINT: If an attribute identifier contains a space in its name, quotation marks can be used in the attribute tag, e.g., %%”name 2 will recognize the identifier whereas %%name 2 would interpret only “name” as the identifier.

To Combine Attribute Information on Labels Using Concatenate

Concatenation – it’s a long word for something so easy. Creating labels that link together more than one attribute value (technically referred to as concatenation) is easily accomplished without complicated expressions.

  1. Add a label to a feature.
  2. Choose the Select [s] tool and double-click to select the label for editing.
  3. In place of the label text, use a label tag. Write a statement using the ‘”%%identifier” of the attributes you want in the label, where “%%identifier” is the tag for the attribute value. Use spaces or other standard characters between words just as you would write them naturally. For example, as seen in the Object Inspector, “Name” “Number” and “Type” are different attributes of the selected feature. We use these three attributes for its label by entering “%%number %%name %%type” to have the label read “401 Market Street”.

To Use Label Codes

The Ortelius labeling system is so flexible that you can be very specific with just a few codes. In the following example, we demonstrate just how easy it is to use only part of an attribute phrase, as well as replacing a label with all uppercase characters.

  1. Add a label to a feature.
  2. Choose the Select [s] tool and double-click to select the label for editing.
  3. In place of the label text, use a label tag. Open the Object Inspector to see what attributes are available and their Identifier names. Use the “%%identifier” for intelligent labeling. In this example, the attribute value “Some pot holes”, where the label reads “Some”, so we type the attribute identifier “%%Condition” and tag it with “.1, to return the corresponding first word in a phrase.

The following tag codes are available:

  • %%identifier.1, .2, .3, … .9 – Returns the corresponding first, second, third, etc. word of the attribute value up to 9
  • %%identifier.2 – Returns the second word of the attribute value
  • %%identifier.2.3 – Returns the second and third word of the attribute value (it is possible to combine tag codes)
  • %%identifier.E – Returns the end word of the attribute phrase
  • %%identifier.U – Returns an uppercase label
  • %%identifier.L – Returns a lowercase label
  • %%identifier.C – Returns a capitalized label
  • %%identifier.S – Returns a shortened (short) or abbreviated version of some common map words, including “St.” for street, “Rd.” for road, “Ln.” for lane, “St.” for saint, “Av.” for avenue, “Pk.” for park, “Cty.” for city, “pop.” for population”, “R.” for river, and “Is.” for island

Tag codes are a real problem solver. For example, if the attribute “Name” reads “State Road 65” but you want to label a road shield with just “65”, use the label identifier and code “%%name.E” to return the end word of the attribute phrase.

To Define Intelligent %% Label Templates in the Style Inspector

Label styles go hand-in-hand with the map’s styles and symbols. Unless otherwise defined, default labels are rendered with Helvetica font and sized proportionately to the size of the shape or symbol. Custom label templates are defined in the Style Inspector (and before an object is turned into a symbol). Labels use the underlying style from a Label Adornment as a template. See Creating New Symbols for steps to define a label template for a symbol.

Label Adornments can be a constant string of text, free text associated with a label, or text associated with an intelligent label. Some pre-defined tags are available from the ‘Tag” drop-down list. For example, choose the tag “Name” from the drop-down Tag list to automatically add the text adornment tag “%%Name”. If no attribute exists when labeling symbols on your map, the label template will still be applied and the new label will read “Label” ready for free-text editing.

Follow the instructions provided above to define a custom intelligent label using tags, tag codes, and concatenate.