Visual specifications – what are they and where would I use them, you may ask? Many of you might have symbology and labeling standards for maintaining consistency in your map products. Visual specifications is a tool available in Esri Production Mapping that allows you to standardize these map specifications by linking symbols and labels to feature class attribution using a series of logical expressions. You can set up rules for how your features should be symbolized and labeled using visual specifications. These rules along with the symbology are stored and managed within a central geodatabase.
In addition to allowing for standardization of cartographic rules, visual specifications support the following workflows:
- Manage representations across many layers - Typically, creating and managing feature class representations must be done one layer at a time. And you might have to manage many layers to create your maps. Batch processing of all the layers in your map document is the most efficient way to handle this. Visual specifications allow you to effectively use representations across all layers in your map document, not just a few.
- Link feature attribution to representation rules - When standard symbols are converted to representations, the renderer settings used to identify what feature got what symbol is lost. Visual specifications allow you to pre-configure the logic to link feature attribution to the symbols. This means that the map’s representation rules are automatically updated when the feature attribution changes. So maps symbols can be truly data-driven and maintained over time even when the underlying feature’s attribution changes.
- Apply symbology using relational queries - The logic to link feature attribution to symbols within visual specifications is written using SQL – not just the where clause, but the whole SQL statement! This allows labels and symbols to be updated from information found not only on the base table but also any table that can be related. This makes visual specifications very powerful, especially when you have a normalized data model.
There are different roles for creating and applying the visual specifications. Typically, an administrator configures the rules for the users to apply those specifications to the features during map production. Let’s discuss each role in more detail.
The Administrator
Visual Specifications can be accessed from the Production Symbology toolbar.
The administrator has several different tasks associated with creating, managing and designing the specifications such as specifying the workspace (geodatabase) that will store the visual specifications, adding a specifications description and most importantly defining what symbol gets assigned to what features based on its attribution, i.e. the specification rules.
The administrator can create these rules within the Layer Properties dialog box (if the Display Calculate Representations and Calculate Fields tabs option is checked) or in the advance dialog box. Let’s look at configuring visual specifications within the Layer Properties.
When using Visual Specifications, you’ll see two new tabs added to the feature’s Layer Properties dialog box below. The Calculated Representations tab allows you to define the symbology while the Calculated Fields tab allows you to define labels.
How to create a rule
You can create a new calculate representation rule by clicking Options>> and choosing New Rules. Once a record is added you will need to define the following parameters:
- Rule Description – A description or name of the rule to help you identify what features are being symbolized
- Representation Name – Defines what feature class representation will be used
- SQL Statement – Defines the features you want to symbolize
- Expression – Optional refinement beyond the SQL results for complex feature selection rules; uses VB script
- Representation Rule – The specific representation rule that will assigned based on the features selected using the SQL statement
- Explicit Override Fields – Defines what representation properties will have their values read from fields on the feature class
You can create a new calculate fields rule by clicking options and choosing the New Rules option. Once a record is added you will need to define the following parameters:
- Rule Description – A description or name of the rule
- Field Name – Defines the field and its properties will be used to save the resulting value after it’s calculated
- SQL Statement – Defines the features you want to label
- Expression – Defines the fields and optional formatting of the string you want to use for labeling
- Preview – Preview the label in its entirety
Once the specification design process has been completed and tested the specifications are ready to be distributed and applied.
The User
Users, the ones who generate the map products, can apply these specifications using the Calculate Visual Specification geoprocessing tool located in the Symbology toolset.
The following parameters need to be provided when applying visual specification rules to feature classes, feature layer and/or table:
- Input table – Feature layers, feature classes or tables to which visual specificatons will be applied
- Visual specifications table location – Workspace that contains the visual specification
- Render Map with Calculated Representations – updates the layer’s properties to show the representations
- Display Calculated Fields as labels – updates the layer’s properties by creating label classes and enables the layer to draw labels for all fields that have had their values calculated.
- Preserve Free Representations – If a feature class has been manually edited to create free representations, their values/symbols will not be updated when the tool runs.
There are visual specification geoprocessing tools to Drop Visual Specifications and to Select Features by Specification Difference. The Drop Visual Specifications removes the fields associated with the visual specification while Select Features by Specification Difference selects features with representation rule IDs or calculated fields that do not match the visual specification.
Happy Mapping!