Symbology allows you to represent features so they are meaningful to those looking at your map or chart. One way to create symbology is to link field values to symbols and text strings for feature classes.
Visual specifications are based on calculated representations, which are the symbols used to represent features, and calculated fields, which can be used for the display of map text. The calculated representations and calculated fields use combinations of feature attributes to determine the symbols for particular features within a feature class. The extra fields added to each feature class, which are used to determine how features should be symbolized, can link to attributes from both feature classes and stand-alone tables. The links between attributes and symbols, or specification rules, can be applied to a specific set of features.
For example, you may want to have one symbol for bridges that are above ground and have two lanes and another for bridges that are at ground level and have two lanes. Visual specifications can be used to ensure such standardized visualization of data and provide management and storage inside the geodatabase.
The symbols and text created as results of the specification rules are also stored inside the geodatabase using feature class representations and calculated fields.
Parts of a visual specification
Visual specifications are composed of several key components:
- The visual specifications tables
- A specification
- A rule base
At the root of all these components are the calculated representations or calculated fields. Either one can have its own set of components.
Visual specifications tables
The visual specifications tables hold all the information about how specific features are linked to their symbols for a particular set of feature classes. The tables can be stored in the product library or created automatically in another geodatabase.
A specification is a group of logical expressions that link features to their symbology for a set of feature classes that share a common theme or purpose. Specifications have a name, which you define, and an optional description. The description can be provided to help identify and distinguish between specifications stored in the same geodatabase. A specification must exist before individual specification rules can be created.
When calculated representations and calculated fields are created for a specification, additional columns are added to each feature class or table that participates in it.
These fields are
- A field that is given the layer and specification name by default and holds the representation rule number
- An override field associated with the representation to store symbol exception information
- An optional new or existing calculated field of any standard data type
The rule base is a group of specification rules associated with a single layer. Rule bases can be designed using the layers and their source feature classes and loaded into ArcMap. The rule base can then be applied to that layer, resulting in an updated display. However, the main objective of designing a specification rule base is to store the rule base in the visual specification tables so it can be reused and applied to other geodatabases that share the same schema.
During design time, a specification can be composed of calculated representations, calculated fields, or both.
- Calculated representations—All symbology within visual specifications is based on feature class representations. Representation rules for each feature are applied and kept up-to-date with database edits using Structured Query Language (SQL) and optional Visual Basic Scripting Edition (VBScript). SQL and VBScript allow the symbology to be derived from associated tables using relational SQL queries.
- Calculated fields—Simple values can be modified, and the results saved to a single field in the geodatabase, which makes the processes of labeling, annotation, or surround elements creation easier. Calculated fields allow information persistence from any number of fields from different feature classes or from stand-alone tables. SQL statements and VB Scripts allow you to perform relational queries so text can be managed and displayed in database models.