The Value Method field in the DynamicValue table defines the actions that occur when the Attribute Assistant is enabled and features are modified or created in ArcMap. Four fields in the DynamicValue table (Value Method, Table Name, Field Name, and Value Info) must be configured to use an Attribute Assistant method. The remaining fields define when the Attribute Assistant method should be applied.
The following 14 Attribute Assistant methods can be configured in your DynamicValue table:
Method | Description |
Intersecting Boolean | Stores a value if the triggering feature intersects a feature in the specified layer. |
Intersecting Count | Calculates the number of intersecting features and stores the count in the specified field. |
Intersecting Edge | Copies a field value from the first intersecting edge feature. |
Intersecting Feature | Copies a value from an intersecting feature in the specified layer. |
Intersecting Feature Distance | Calculates the distance along a line feature where a line is intersected by another feature. |
Intersecting Layer Details | Extracts the name or file path of an intersecting layer. |
Intersecting Raster | Extracts a raster cell value at a feature location. If the feature is a line or polygon, the raster value at the feature centroid is used. |
Intersecting Statistics | Calculates statistics on a specified field for intersecting features. |
Multiple Field Intersecting Values | Copies values from new intersecting features into a target layer. |
Nearest Feature | Copies a value from the nearest feature in a specified layer. |
Nearest Feature Attributes | Copies a series of values from the nearest feature in a specified layer. |
Split Intersecting Feature | Splits features that intersect with features in a source layer. |
Trigger Attribute Assistant Event Intersecting Feature | Triggers the Attribute Assistant for the intersecting features. |
Update Intersecting Feature | Updates a field in an intersecting feature with a value or a field value from the modified or created feature. |
Intersecting Boolean
Stores a value if the triggering feature intersects a feature in the specified layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field into which value will be stored | INTERSECTING_BOOLEAN | Layer|{True Value}|{False Value} |
This rule can be configured on all features.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Layer | Feature class or feature layer | List of features which may intersect the lines in the format layer1,layer2,etc. |
True Value (Optional) | <Null> (Default) |
Store the value 1 when an intersecting feature is found. |
Value | Store this value when an intersecting feature is found. | |
False Value (Optional) | <Null> (Default) |
Store the value 0 when an intersecting feature is not found. |
Value | Store this value when an intersecting feature is not found. |
Examples
If the current feature in the proposedSites layer intersects a feature in the serviceTerritory layer, store 1 in the LOCATION field; otherwise, store 0:
- Table Name: proposedSites
- Field Name: LOCATION
- Value Info: serviceTerritory
If the current feature in the proposedSites layer intersects a feature in the serviceTerritory layer, store 1.25 in the MODIFIER field; otherwise, store 1.75:
- Table Name: proposedSites
- Field Name: MODIFIER
- Value Info: serviceTerritory|1.25|1.75
Intersecting Count
Calculates the number of intersecting features and stores the count in the specified field.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field into which the count will be copied | INTERSECTING_COUNT | Source |
This rule can be configured on polygon features, and the count value must be populated in Floating or Short fields.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Feature class or feature layer | Intersecting features from which a count will be calculated. |
Examples
Stores the number of intersecting features between the current feature in the proposedSites layer and the serviceTerritory layer in the INTER field:
- Table Name: proposedSites
- Field Name: INTER
- Value Info: serviceTerritory
Intersecting Edge
Copies a field value from the first intersecting edge feature.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field into which the values will be copied | INTERSECTING_EDGE | Field |
This rule can be configured on any field type.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Field | Field name | Field to copy from the intersecting edge. |
Examples
Copies the value from the DIAM field in the first intersecting edge feature and stores the value in the DIAMETER field in the wPipes layer:
- Table Name: wPipes
- Field Name: DIAMETER
- Value Info: DIAM
Intersecting Feature
Copies a value from an intersecting feature in the specified layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field for the intersecting values | INTERSECTING_FEATURE | Input|Source|{Method}|{Not Found} |
This rule can be configured on any field type.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Input | String | List of layers to search for intersecting features in the format layer1,layer2,etc. |
Source | Field name | Field from the intersecting feature to copy. |
Method (Optional) | F (Default) | Return the first result found. |
P | Present dialog box of intersecting features. | |
C | Use the centroid as the intersection point, choosing the feature with the lowest object id. | |
CP | Use the centroid as the intersection point, presenting a dialog box of intersecting features. | |
S | Use the start point of the line as the intersection point, choosing the feature with the lowest object id. | |
SP | Use the start point of the line as the intersection point, presenting a dialog box of intersecting features. | |
E | Use the end point of the line as the intersection point, choosing the feature with the lowest object id. | |
EP | Use the end point of the line as the intersection point, presenting a dialog box of intersecting features. | |
H | Use the feature with the highest object id. | |
Not Found (Optional) | True | If no intersecting feature is found, existing values will be set to null. |
False (Default) | If no intersecting feature is found, value will remain. |
Examples
Copies the value from the DIAM field in the first intersecting feature and stores the value in the DIAMETER field in the wHydrant layer:
- Table Name: wHydrant
- Field Name: DIAMETER
- Value Info: wMain|DIAM
Finds all intersecting features in the ssPressurizedMain and ssGravityMain layers and presents the user with a dialog box of intersecting features from which to choose. If there are no intersecting features, the DIAMETER field in the ssManhole layer will not be overwritten:
- Table Name: ssManhole
- Field Name: DIAMETER
- Value Info: ssPressurizedMain,ssGravityMain|DIAM|P|False
Copies the value from the DIAM field in the intersecting feature with the highest Object ID value and stores the value in the DIAMETER field in the ssFitting layer. If there are no intersecting features, the DIAMETER field in the ssManhole layer will be set to Null::
- Table Name: ssFitting
- Field Name: DIAMETER
- Value Info: ssGravityMain|DIAM|H|True
Intersecting Feature Distance
Calculates the distance along a line feature where a line is intersected by another feature.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field to hold the distance measurement | INTERSECTING_FEATURE_DISTANCE | Source|Identifier |
This rule can only be configured on numeric or text fields.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Feature class or feature layer | List of features which may intersect in the format layer1,layer2,etc. |
Identifier | Field name | Field identifying the intersecting feature |
Examples
Finds the intersecting feature in the ssPressurizedMain or ssGravityMain layer and calculates the distance from the start point to the current feature. The distance will be copied to the DISTALONG field in the ssManhole layer:
- Table Name: ssManhole
- Field Name: DISTALONG
- Value Info: ssPressurizedMain,ssGravityMain|FACILITYID
Populates the DISTDESC field with a string similar to "123.45 Feet along Pressurized Mains with Facility Identifier PM-0025":
- Table Name: ssManhole
- Field Name: DISTDESC
- Value Info: ssPressurizedMain,ssGravityMain|FACILITYID
Intersecting Layer Details
Extracts the name or file path of an intersecting layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field to hold the details of the intersecting feature | INTERSECTING_LAYER_DETAILS | Source|Result|Method|{Filter} |
This rule can only be configured on String fields.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | RASTER | Extract details for intersecting rasters only. |
VECTOR | Extract details for intersecting vector features only. | |
BOTH | Extract details for intersecting rasters and vectors. | |
List of feature classes or feature layers | Extract details for intersecting features from a defined list of feature classes or feature layers in the format layer1,layer2,etc. | |
Result | P | Extract the full path of the intersecting feature class. |
N | Name of the intersecting layer. | |
F | The name of the feature class. | |
Method | C | Search using centroids. |
P | Prompt for search method. | |
F | Return the first result found. | |
Filter (Optional) | String | Restrict the intersecting features to those matching a wildcard filter. |
Examples
Copies the source name of the first intersecting raster and stores this value in the ZONE field in the sites layer:
- Table Name: sites
- Field Name: ZONE
- Value Info: RASTER|F|F
Copies the full path of the first intersecting feature in the ssPressurizedMain or ssGravityMain layers and stores this value in the PIPE field in the ssManhole layer:
- Table Name: ssManhole
- Field Name: PIPE
- Value Info: ssPressurizedMain,ssGravityMain|P|F
Presents the user with a dialog box of all intersecting vector layers containing the text "Main"; the selected layer name is copied:
- Table Name: ssManhole
- Field Name: PIPE
- Value Info: VECTOR|N|P|Main
Intersecting Raster
Extracts a raster cell value at a feature location. If the feature is a line or polygon, the raster value at the feature centroid is used.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field to hold the extracted value | INTERSECTING_RASTER | Source|{Label} |
If a label is specified and the target field is not a text field, the label will be omitted.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Raster | Raster from which the value will be extracted. A list of rasters may be entered in the format raster1,raster2,etc. |
Label (Optional) | String | Prepend text; omitted if left blank. |
Examples
Copies the current cell value from the FiveMeterSurface raster in the ELEV field in the wHydrant layer:
- Table Name: wHydrant
- Field Name: ELEV
- Value Info: FiveMeterSurface
Concatenates "Elevation: " with the current raster cell value:
- Table Name: wHydrant
- Field Name: ELEV
- Value Info: FiveMeterSurface|Elevation:
Intersecting Statistics
Calculates statistics on a specified field for intersecting features.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Table or feature class | Field to store the statistics | INTERSECT_STATS | Source|Source Field|Statistic|Neighborhood|{Delimiter}|{SortOrder} |
This rule can be configured on any field type, but a String field must be used if the Concat parameter is selected.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Layer or feature class | Intersecting features |
Source Field | Field name | Numeric field to analyze |
Statistic | Min | Minimum value |
Max | Maximum value | |
Sum | Sum of all values | |
Mean | Mean value | |
Concat | Delimited string containing all the values with duplicates removed. | |
Neighborhood | Value | Maximum distance to search for nearest feature. |
Delimiter (Optional) | Any character except | is valid; the default is , . |
Characters used as delimiters; only used when the statistic is Concat. |
SortOrder (Optional) | ASC | Sort the statistics in ascending order; only used when the statistic is Concat. |
DESC | Sort the statistics in descending order; only used when the statistic is Concat. |
Examples
Stores the maximum value of the DIAMETER field from all features in the ssGravityMain layer within 25 units of the current feature into the MAXDIAM field in the junctions feature class:
- Table Name: junctions
- Field Name: MAXDIAM
- Value Info: ssGravityMain|DIAMETER|Max|25
Stores a comma-delimited string of all DIAMETER values:
- Table Name: junctions
- Field Name: MAXDIAM
- Value Info: ssGravityMain|DIAMETER|Concat|25
Stores a semicolon-delimited string, sorted in descending order:
- Table Name: junctions
- Field Name: MAXDIAM
- Value Info: ssGravityMain|DIAMETER|Concat|25|;|DESC
Multiple Field Intersecting Values
Copies values from new intersecting features into a target layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class with which features will intersect | Null or blank | MULTI_FIELD_INTERSECT | Source|Source Field|Target Fields|Neighborhood |
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Layers or feature classes | Intersecting layer from which values will be copied; multiple layers can be specified in the format layer1,layer2,etc. |
Source Field | Field name | Field from which values will be copied. |
Target Fields | Field name | List of fields to which values will be copied in the format field1,field2,etc. |
Neighborhood | Value | Maximum distance to search for nearest feature. |
Examples
Finds all features from the ssGravityMain layer that intersect the current feature in the manhole layer. For each feature in ssGravityMain that intersects, copy the DIAMETER field value into the D1, D2, and D3 fields in the manhole layer. In this example, if there are three features in ssGravityMain - with diameters of 6, 7, and 8 - that intersect the current manhole feature, then these values will be copied to D1, D2, and D3, respectively.
- Table Name: manhole
-
Field Name:
<Null>
- Value Info: ssGravityMain|DIAMETER|D1,D2,D3|0
Finds all features in the ssGravityMain and ssSewerMain layers that are within 25 units:
- Table Name: manhole
-
Field Name:
<Null>
- Value Info: ssGravityMain,ssSewerMain|DIAMETER|D1,D2,D3|25
Nearest Feature
Copies a value from the nearest feature in a specified layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field to which the values will be copied | NEAREST_FEATURE | Source|Source Field|Neighborhood|{Source Filter}|{Target Filter} |
This rule can be configured on any field type.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Feature layer or feature class | List of datasets that may contain the nearest feature in the format layer1,layer2,etc. |
Source Field | Field name | Field from which values will be copied. |
Neighborhood | Value | Maximum distance to search for nearest feature. |
Source Filter (Optional) | Field name | Filter by restricting results to source features with a value in this field matching the value in the Target Filter field. |
Target Filter (Optional) | Field name | Filter by restricting results to source features with a value in this field matching the value in the Source Filter field. |
Examples
Searches the wMeter layer for the nearest feature. Store the value from the ACC field into the ACCOUNT field of the wLateralLine layer:
- Table Name: wServiceConnection
- Field Name: ACCOUNT
- Value Info: wMeter|ACC
Searches the wMeter and wLateralPoint layers for the nearest feature within 100 units:
- Table Name: wLateralLine
- Field Name: ACCOUNT
- Value Info: wMeter,wLateralPoint|ACC|100
Searches the wMeter and wLateralPoint layers for the nearest feature whose DIAM is the same as current feature's DIAMETER:
- Table Name: wLateralLine
- Field Name: ACCOUNT
- Value Info: wMeter,wLateralPoint|ACC||DIAM|DIAMETER
Nearest Feature Attributes
Copies a series of values from the nearest feature in a specified layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Null or blank | NEAREST_FEATURE_ATTRIBUTES | Source|Source Fields|Target Fields|{Neighborhood}|{Reset to Default} |
This rule can be configured on any field type.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Source | Line feature layer or feature class | Dataset near the target dataset. |
Source Fields | Field name | List of fields from which values will be copied in the format field1,field2,etc. List must have the same number of values as Target Fields. |
Target Fields | Field name | List of fields to which values will be copied in the format field1,field2,etc. List must have the same number of values as Source Fields. |
Neighborhood (Optional) | <Null> (Default) |
Only intersecting features are considered. |
Number | Maximum distance to search for nearest feature. | |
Reset to Default (Optional) | True | If no feature is found within the specified neighborhood distance, field values will be overwritten with the field's default value. |
False (Default) | Field values will not change. |
Examples
Stores the value from the ACC and ASSIGN fields in the nearest wMeter layer into the ACCOUNT and ASSIGNEDTO fields, respectively, of the wLateralLine layer:
- Table Name: wLateralLine
-
Field Name:
<Null>
- Value Info: wMeter|ACC,ASSIGN|ACCOUNT,ASSIGNEDTO
Searches the wMeter layer for the nearest feature within 100 units. If a feature cannot be found, populate with the default field value:
- Table Name: wLateralLine
-
Field Name:
<Null>
- Value Info: wMeter|ACC,ASSIGN|ACCOUNT,ASSIGNEDTO|100|True
Split Intersecting Feature
Splits features that intersect with features in a source layer.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Null or blank | SPLIT_INTERSECTING_FEATURE | Feature Class |
This rule can only be configured on point features. It does not work for geometric network features.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Feature Class | feature classes | List of feature classes that will be split by the input features in the format layer1|layer2|etc. |
Examples
Splits the wMain layer where it intersects with features in the wHydrant layer:
- Table Name: wHydrant
-
Field Name:
<Null>
- Value Info: wMain
Splits the wMain and wLateral layers:
- Table Name: wHydrant
-
Field Name:
<Null>
- Value Info: wMain|wLateral
Trigger Attribute Assistant Event Intersecting Feature
Triggers the Attribute Assistant for the intersecting features. Event is triggered after all rules are processed on the triggering feature.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class | Field to monitor for changes | TRIGGER_AAEVENT_INTERSECTING_FEATURE | Input|Event Type |
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Input | String | List of layers to search for intersecting features in the format layer1,layer2,etc. |
Event Type | CREATE | Triggers the Attribute Assistant Create event on the intersecting features. |
CHANGEGEO | Triggers the Attribute Assistant Geometry Change event on the intersecting features. | |
CHANGE | Triggers the Attribute Assistant Change event on the intersecting features. |
Examples
Monitors the DIAMETER field in the wMain layer for changes and triggers create rules on all intersecting features:
- Table Name: wMain
- Field Name: DIAMETER
- Value Info: CREATE
Update Intersecting Feature
Updates a field in an intersecting feature with a value or a field value from the modified or created feature.
To configure this method, populate the following in the DynamicValue table:
Table Name | Field Name | Value Method | Value Info |
Feature class to monitor for changes | Blank or null | UPDATE_INTERSECTING_FEATURE | Target|Target Field|Source Field |
This rule can be configured on any field type.
Parameters
The method parameters are as follows:
Parameter | Value | Description |
Target | Layer or feature class | Layer or layers containing features that intersect the original updated feature. List multiple layers in the format layer1,layer2,etc. |
Target Field | Field name | Field in the Target layers into which a value will be copied. Only one Target Field may be defined, so a common field name is required for multiple Target layers. |
Source Field | Value or field name | Value or field in Table Name that will be copied into the Target Field. |
Examples
Monitors the project layer for changes; when the feature's geometry or attribute values are changed, copy the value of the STATUS field in the project layer to the PROJSTATUS field in all intersecting features in the sites layer:
- Table Name: project
-
Field Name:
<Null>
- Value Info: sites|PROJSTATUS|STATUS
Copies 0 to the STATUS field in all intersecting features in the sites, structures, and boundaries layers:
- Table Name: project
-
Field Name:
<Null>
- Value Info: sites,structures,boundaries|PROJSTATUS|0