Attribute Assistant - improve the mutation process in ArcGIS for Desktop

Pieter de Graaf

Geospatial Architect

ArcGIS offers a limited number of options for conforming the filling of attributes to the rules of the organization as standard:

  1. Selection list (Domain)
  2. Data type (Text, Double, Date, Integer etc.)
  3. Length attribute (Length, Precision and Scale)
  4. Default value
  5. Mandatory (Not nullable) (not available in every DBMS)

With the help of ArcObjects, Esri makes it possible to increase the number of options with the help of customization

To expand the set of rules, the Attribute Assistant add-in has been developed by the Esri community, within the ArcGIS Solutions program ( This add-in makes it possible to add configuration for filling attributes within ArcMap. A set of methods can be used to have attributes filled by the system. There are also a number of methods for directly validating mutated information. 

The Attribute Assistant is an editor extension that becomes involved when a new object is entered, the attributes of an object are changed or when the geometry is adjusted. In addition, the methods can also be performed manually based on selected objects.

BLOG Pieter

The configuration of the Attribute Assistant is saved in a separate table, which must be linked to an MXD. Within the organization, different workflows can be set up based on different MXDs, each with its own configuration table for the Attribute Assistant. The methods are carried out one by one based on the specific map layer or feature class in which the mutation takes place. The methods are therefore executed within ArcGIS for Desktop and not in the geodatabase.



Many organizations that manage geographical information within ArcGIS for Desktop are looking for a balance in the quality of the geographical information and the number of mutations that can be processed. Two extreme solutions are possible with the following advantages and disadvantages in brief:

  1. A system in which every attribute value is checked during the mutation process according to the rules of the organization (business rules). This is achieved through customization on top of ArcGIS for Desktop.
  2. A system where every attribute can be filled in freely by the mutator — so, ArcGIS for Desktop with a minimal set of configuration.

The speed at which a mutation can be processed will be much lower in the first situation than in the second situation, whereas the quality of the data entered will be higher in the first situation than in the second situation. The Attribute Assistant add-in can offer an alternative between the two extreme solutions.

Below we will describe three examples of configurations in the Attribute Assistant that are particularly applicable for the management of geometric networks within the utilities (water, gas, electricity, telecom, etc.).



A catalog table is a type of table in which different properties of an asset are linked to each other. For example, manufacturer x is linked to diameter y and material z. The number of combinations of more than one attribute must be limited. When a selection list (Domain) is configured on each individual attribute, there is no validation or exclusion between the different values. With the method "COPY_LINKED_RECORD" it is possible to copy a set of attribute values from a catalog table to the asset based on a primary key — foreign key relationship. In this way an asset gets a combination of manufacturer, diameter and material that is valid.



Besides ObjectID and a GlobalID, it is not possible to provide identification to an object according to the standard of the organization. The "GENERATE_ID" method makes it possible to use a sequence and to shape the ID yourself with a prefix, and to give a minimum width and the interval at which the sequence must be incremented (e.g. SP-000001). This ID also has the advantage that it remains the same when copying the objects to another database and can therefore be used as a unique key with external systems.



Geometric relationships between objects can also be used to determine attribute values. With the “JUNCTION_ROTATION” method, the rotation of a point in the geometric network (junction) can be determined based on the direction of a line within the geometric network (edge) to which it is connected. Parameters that can be specified are which rotation method should be used, and how many degrees should be added. For example, the symbol of a valve must be presented perpendicular to the pipe. 



In short, the Attribute Assistant offers countless possibilities to enrich the mutation process within ArcGIS for Desktop, without the need for investments in customization. The quality of the mutation process is increased, while the performance of the system is only adversely affected to a limited extent. In addition, it is easy to add or modify rules in the configuration of the Attrbute Assistant and to roll out to new environments in combination with the data model.


Do you want to know more about this topic?

Schedule an appointment and let us advise you!