Dirty areas are created to flag the location of edits made to the geometry of network features and network attributes, or to display errors. They serve as an indicator that a change to the network has taken place that is not reflected in the network topology. Dirty areas are cleared when the network topology is validated, as long as no error exists within the validation extent.
When the network topology is enabled, dirty areas are created to track edits. This can include creation of features, modifying fields associated with network attributes, establishing or modifying associations, and so on. These are known as edit dirty areas, or modified dirty areas, and signify that a change was made to the utility network that has not been updated in the network topology. Dirty areas associated with errors, or error dirty areas, are created during enable, validate, and update subnetwork operations when a feature in the utility network is in violation of established rules and restrictions.
Validate is used to update the network topology and clear dirty areas. Edits that are not reflected in the network topology are not considered with network analytic operations, such as tracing or network diagrams. When a network topology is disabled, a single dirty area covering the service territory extent of the network is created. When the network topology is enabled again, all outstanding edits are validated.
Dirty areas track the extent of the feature that is edited, the type of edit, the global ID of the feature, and the editor who performed the operation. If a feature's geometry is modified, two dirty areas are generated for the single feature. One represents the envelope of the feature's previous geometry, and the other represents the feature's new geometry.
Operations that create dirty areas
Edit dirty areas are created through modifications to the following areas:
- Geometry
- Asset group or asset type fields
- Fields that are defined as network attributes
- Associations
- Terminal configuration information
Error dirty areas are created when errors are discovered during the following processes:
- Enable network topology
- Validate network topology
- Update subnetwork
View and manage dirty areas
Dirty areas can be accessed as a sublayer of the utility network and can be symbolized using core symbology tools. The visualization of dirty areas can be turned on and off like any other layer. For example, if you are making edits to your network and you find the dirty areas are visually distracting, you can turn off the layer. The dirty areas are still created, but you will not see them on the map. You can symbolize the dirty areas based on attributes in the dirty areas layer. For example, editor tracking fields can help to display dirty areas in which a certain editor performed work, or when the edit occurred.
With Utility Network version 4 and later, dirty areas are also used to identify and work with errors discovered for network features. Error dirty areas are used to represent errors that are generated by the system when a feature in the utility network is in violation of established rules and restrictions. Upon the creation of an error, an error dirty area is created that encompasses the feature's geometry.
The dirty areas sublayer is symbolized using a bitmask value in the Status field to indicate how it was created:
- Disabled
- Dirty
- Error
- Dirty and error
- Subnetwork error
The Status attribute field uses bitwise encoding to represent the operation that created the dirty area. For example, a deleted feature is represented by an edit dirty area with bit 1 and is displayed with a Status of 2 (2^1 = 2). These values are summated if multiple operations led to the creation of the dirty area. As another example, if connectivity exists between a junction and a line without a corresponding junction-edge or edge-junction-edge connectivity rule, this would create an error dirty area represented by bit 3 and displayed with a Status of 8 (2^3 = 8) when the features are validated. When the feature is modified to address the error, the feature is represented by the error bit 3 and edit bit 1 and is displayed with a Status of 9 (2^3 = 8) + (2^0 = 1). A Status Description field is displayed in the pop-up expression to provide additional information about the operation that created the dirty area. For example, a record with the Status value of 9 would display a Status Description of 1:Inserted/Updated feature, 8:Feature error in a situation in which the feature in error was modified.
Validate dirty areas
Validating the network topology maintains consistency between what you see on the map and what is present in the network topology. Analytic operations rely on the network topology and thus may return unexpected results if dirty areas exist. For example, if the path of a trace traverses a dirty area, the results are not guaranteed to be consistent with what you see on the map. The Validate Consistency option in the Trace tool provides an important check to ensure trace results do not include results that intersect dirty areas.
During validate, only edit dirty areas, or error dirty areas containing an edit bit (0,1,2), are evaluated to be cleaned. Error dirty areas without an edit bit are ignored.
Reconcile and post dirty areas
When a version is reconciled, it will inherit the current state of the network topology from the Default version. Dirty areas are then re-created for all features and objects edited in the named version which resulted in a dirty area being created. Validating dirty areas inherited by the version during reconcile allows you to continue work in a version but will prevent posting until the version is reconciled again. When these dirty areas are posted, this allows the topology for these modified features to be validated and rebuilt in the Default version.
Dirty areas in Utility Network version 3 or earlier
With Utility Network version 3 and earlier, dirty areas are only used to represent edits that are not reflected in the network topology. The UpdateType is an attribute in the dirty areas table that can be used to symbolize the dirty area by the type of edit.
Dive-in:
The type of dirty area is represented by the UpdateType field in the dirty areas attribute table. This field is assigned a system-provided coded value domain to classify how the dirty area was generated. Values for the coded value domain include Insert, Update, Delete, and Error.
Update type | Dirty area type |
---|---|
0 | Insert |
1 | Update |
2 | Delete |
3 | Error |