The Water Utility Network Tools and Attribute Assistant Add-ins are configured to perform common tasks with data stored in the provided schema. The behavior of these tools can be modified to work with other datasets or to perform additional functions by modifying the configuration file shared by these add-ins.
The following editing tools can be modified in the configuration file:
- Connection checker
- Rotate selected junctions
- Add rotation to feature
- Split lines at selected points
- Create over/under jumps for selected lines
- Merge or split Geometric Network lines
- Layer viewer window
- Connect selected point to closest existing point
- Add a connection and lateral
- Add laterals from line location
The configuration file (loaded.<type>.config) can be accessed from the add-in's toolbar or by browsing to one of the following directories.
Operating System | Directory |
Windows Vista, 7, 8, 10 and Server 2008, 2012 | %AppData%\ArcGISSolutions\ConfigFiles |
Windows XP, 2000 and Server 2003 | C:\Documents and Settings\%UserName%\Application Data\ArcGISSolutions\ConfigFiles |
Connection checker
This tool validates connections on all Geometric Network layers or only those visible Geometric Networks layers in the Table of Contents window. This can be configured by changing the following key:
Key | Description |
ConnectionChecker_CheckOnlyVisibleLayersFalse | Validates connections on layers visible within the Table of Contents. To change this to check connection of all layers, change value to false. |
<add key="ConnectionChecker_CheckOnlyVisibleLayers" value="true" />
Rotate selected junctions
These settings can provide additional capabilities to the rotate selected junctions tool. The tool can use a diameter field to rotate a point. This setting is useful for rotating reducer features into positions. To modify the tool, change the following keys:
Key | Description |
RotateSelected_DiameterFieldName | Field name of the diameter of the line layers. |
RotateSelected_SpinAngle | Adds additional spin to the angle of the line to properly align the symbol. |
<add key="RotateSelected_DiameterFieldName" value="DIAMETER" />
<add key="RoateSelected_SpinAngle" value="0" />
Add rotation to feature
This tool can be configured to add rotation to features. To modify the tool, change the following keys:
Key | Description |
AdditionalRotate_SpinValue | Adds rotation to a feature by a constant value. |
AddRotateSuspendAA | Suspends the Attribute Assistant Add-In while the tool is in use. To suspend the Attribute Assistant, set the value to true. |
<add key="AdditionalRotate_SpinAngle" value="45" />
<add key="AddRotateSuspendAA" value="true" />
Split lines at selected points
Settings used by tools that split lines. To modify the tool, change the following keys:
Key | Description |
SplitLines_SkipDistance | Lines smaller than this tolerance are not split. |
SplitLinesAtLocation_Snap | The tolerance used to determine if the point intersects a line. |
SplitLinesSuspendAA | Suspends the Attribute Assistant Add-in when the tool is in use. To suspend the Attribute Assistant, set the value to true. |
<add key="SplitLines_SkipDistance" value="0.5" />
<add key="SplitLinesAtLocation_Snap" value="10" />
<add key="SplitLinesSuspendAA" value="true" />
Create over/under jumps for selected lines
This tool can be configured to change the radius of the jumper. This can be configured by changing the following key:
Key | Description |
CreateJumps_Distance | Sets a value for the radius of the jumpers. |
<add key="CreateJumps_Distance" value="25" />
Merge or split Geometric Network lines
This tool can be used to merge or split multiple lines within a Geometric Network feature class to a single feature. The tool can be modified by changing the following parameters:
Tag | Description |
SplitUpdateAndAdd | Controls how the split is performed. If true, reduce the largest portion and create a new feature to replace the remaining, shorter portion. If false, delete the existing feature and replace with two new features. For more information, see the Splitting lines workflow. |
MergeSplitElev | Enable the option to split elevation information. To enable, set the value to true. |
SplitFormatString | Format of the values when elevation information is split. |
Fields | These tags enclose one or many sets of the Field tags to define the merge and split behavior of a field. Field configuration parameters can be found below and configured for multiple fields. |
Field
Tag | Description |
Field | The field being modified by the merge or split. |
MergeRule | The behavior of the field's values when merged. Valid options for this behavior are the largest value (max), smallest value (min), average value (average), concatenation of values (concat), or added values (sum) merged features |
SplitRule | The behavior of the field's values when split. Valid options for this behavior are the largest value (max) or smallest value (min) of split features. |
<MergeSplitGeoNetFeatures>
<SplitUpdateAndAdd>true</SplitUpdateAndAdd>
<MergeSplitElev>true</MergeSplitElev>
<SplitFormatString>{0:0.##}</SplitFormatString>
<Fields>
<Field>
<Name>UPELEV</Name>
<MergeRule>Max</MergeRule>
<SplitRule>Max</SplitRule>
</Field>
<Field>
<Name>DOWNELEV</Name>
<MergeRule>Min</MergeRule>
<SplitRule>Min</SplitRule>
</Field>
</Fields>
</MergeSplitGeoNetFeatures>
Layer viewer window
This tool queries and displays features for a layer within the map document. The tool can be configured for multiple layers by using multiple sets of the LayerViewerLayer tags. The tool can be modified by changing the following parameters:
Tag | Description |
LayerName | The name of the layer. |
Query | The layer features can be filtered using character codes for reserved XML characters, such as > and <. To view all features, use the query 1=1. |
ZoomScale | Sets the map scale at which selected features should be viewed. |
<LayerViewerConfig ZoomOnRecordChange="true">
<LayerViewerLayers>
<LayerViewerLayer>
<LayerName>Field Notes</LayerName>
<Query>1=1</Query>
<ZoomScale>1600</ZoomScale>
</LayerViewerLayer>
<LayerViewerLayer>
<LayerName>Service Requests</LayerName>
<Query>REQUESTTPYE='Water Pressure'</Query>
<ZoomScale>1600</ZoomScale>
</LayerViewerLayer>
</LayerViewerLayers>
</LayerViewerConfig>
Connect selected point to closest existing point
This tool is used to connect a new point feature to the nearest point feature within the layer using a line feature. The tool can be configured for multiple connections by using multiple sets of the ConnectClosestDetails tags. The tool can be modified by changing the following parameters:
Tag | Description |
Point_Layer | The name of the point layer. |
Line_Layer | The name of the line layer connecting the new and closest existing point features. |
Line_EditTemplate | The editing template used to attribute and symbolize the new line feature. |
Search_Threshold | The maximum distance in map units to search for the nearest existing point. |
Reset_Flow | The flow can be reset after these edits. Valid options are Digitized, Role, or None. |
<ConnectClosest>
<ConnectClosestDetails>
<Point_Layer>Sewer Manholes</Point_Layer>
<Line_Layer>Sewer Gravity Mains</Line_Layer>
<Line_EditTemplate>18" PVC Sewer</Line_EditTemplate>
<Search_Threshold>450</Search_Threshold>
<Reset_Flow>Digitized</Reset_Flow>
</ConnectClosestDetails>
<ConnectClosestDetails>
<Point_Layer>Storm Manholes</Point_Layer>
<Line_Layer>Storm Gravity Mains</Line_Layer>
<Line_EditTemplate>18" PVC Storm</Line_EditTemplate>
<Search_Threshold>450</Search_Threshold>
<Reset_Flow>Digitized</Reset_Flow>
</ConnectClosestDetails>
</ConnectClosest>
Add a connection and lateral
This tool's configuration can be found between the AddLateralsLayer tags.
Tag | Description |
AddLateralDetails | These tags enclose sets of tags that define the types and properties of laterals and connections created by the tool. Multiple combinations can be configured by using multiple sets of this tag. Each set of these tags has a name attribute used to define the name of the combination. |
Point_LayerName | The point layer to connect to the main through a lateral feature. |
MainLine_LayerName | The layer containing the main features the connection joins through a lateral. |
LateralLine_LayerName | The layer containing the lateral features used to connect the connection point to a main. |
LateralLine_EditTemplate | The editing template used to symbolize and attribute the new lateral. If these tags are empty, the user is prompted to select a feature template when the feature is constructed. |
FromToField | These tags enclose sets of tags to pair the source and target field. To transfer attributes between multiple fields, use multiple sets of FromToField tags.
|
LateralLine_StartAtMain | Sets the direction in which the lateral is digitized. The flow direction is set to match the line direction. If the lateral starts at the main, set this value to true. If the lateral starts at the connection, set this value to false. |
DeleteExistingLine | To search for and delete an existing lateral between the connection and main, set this value to true. To keep an existing lateral, set this value to false. |
ToleranceForDelete | The distance in map units over which the tool searches for an existing lateral between the connection and main. |
SearchOnLayer | To restrict the search to features meeting the layer definition, set this value to true. To search all features in the layer, set this value to false. |
SearchDistance | The maximum distance in map units the tool searches from the construction point to locate a main. |
PointsAlong | These tags enclose optional PointAlong tags that allow for the construction of a series of points along the lateral. These tags and their content are not required, and can be removed if they are not needed. Multiple point types can be defined by using multiple sets of the PointAlong tags. Configuration parameters can be found here. |
Dual_When_Two_Selected | If two selected connections are in a specified distance of one another, they can be connected to the main through the same lateral. To permit this type of connection, set this value to true; otherwise, set this value to false. The maximum distance between selected connections is set to the Dual_Max_Distance_When_Two_Selected. |
Dual_When_Nearby | If two connections (not selected) are in a specified distance of one another, they can be connected to the main through the same lateral. To permit this type of connection, set this value to true; otherwise, set this value to false. The maximum distance between unselected connections is set in the Dual_Max_Distance_When_Nearby. |
Dual_Max_Distance_When_Two_Selected | The maximum distance between selected connections that do not share a lateral. |
Dual_Max_Distance_When_Nearby | The maximum distance between unselected connections that share a lateral. |
Dual_Option_Make_Square | The type of join between dual laterals. Set this value to true to use a square connection or set this value to false to use a Y connection. |
Hook_DoglegDistance | The distance on the lateral to turn toward the main. The degrees are set by the Hook_Angle tags. |
Hook_DistanceIsPercent | Determines if the dogleg is a distance or percent along the lateral. This distance is measured from the start point declared in the LateralLine_StartAtMain tags. |
Hook_Angle | The angle of the dogleg. |
Reset_Flow | The flow can be reset after these edits. The options for these tags are Digitized, Role, or None. |
<AddLateralsLayers>
<AddLateralDetails Name="Taps And Mains">
<Point_LayerName>Water Fittings</Point_LayerName>
<MainLine_LayerName>Water Mains</MainLine_LayerName>
<LateralLine_LayerName>Water Lateral Lines</LateralLine_LayerName>
<LateralLine_EditTemplate>1" Copper Domestic</LateralLine_EditTemplate>
<FromToFields>
<FromToField>
<SourceField>FACILITYID</SourceField>
<TargetField>LOCDESC</TargetField>
<Prefix>PipeID:</Prefix>
</FromToField>
<FromToField>
<SourceField>INSTALLDATE</SourceField>
<TargetField>INSTALLDATE</TargetField>
<Prefix>PipeID:</Prefix>
</FromToField>
</FromToFields>
<LateralLine_StartAtMain>true</LateralLine_StartAtMain>
<DeleteExistingLines>true</DeleteExistingLines>
<TolerenceForDelete>.5</TolerenceForDelete>
<SearchOnLayer>true</SearchOnLayer>
<SearchDistance>500</SearchDistance>
<PointsAlong>
<PointAlong>
<LayerName>Water Curb Stop Valves</LayerName>
<Distance>5</Distance>
<DistanceIsPercent>false</DistanceIsPercent>
<EditTemplate>Roundway</EditTemplate>
<PolygonOffsetLayerName>OwnerParcel</PolygonOffsetLayerName>
<PolygonOffsetSide>From</PolygonOffsetSide>
<SplitLateral>false</SplitLateral>
</PointAlong>
<PointAlong>
<LayerName>Water Service Connections</LayerName>
<EditTemplate>Domestic</EditTemplate>
<Distance>1000</Distance>
<DistanceIsPercent>true</DistanceIsPercent>
<SplitLateral>false</SplitLateral>
</PointAlong>
<!--Repeat for additional point layers-->
</PointsAlong>
<Dual_When_Two_Selected>true</Dual_When_Two_Selected>
<Dual_When_Nearby>true</Dual_When_Nearby>
<Dual_Max_Distance_When_Two_Selected>100</Dual_Max_Distance_When_Two_Selected>
<Dual_Max_Distance_When_Nearby>30</Dual_Max_Distance_When_Nearby>
<Dual_Option_Make_Square>true</Dual_Option_Make_Square>
<Hook_DoglegDistance>0</Hook_DoglegDistance>
<Hook_DistanceIsPercent>true</Hook_DistanceIsPercent>
<Hook_Angle>45</Hook_Angle>
<Reset_Flow>Digitized</Reset_Flow>
</AddLateralDetails>
Points along
The points along tags can be used to construct a series of point along the lateral. To change this, modify the following parameters:
Tag | Description |
LayerName | The point layer for which features will be created along the lateral at regular intervals. |
Distance | The distance to place the point along the line. The distance can be a percentage of the distance along the lateral or a measurement in map units. |
DistanceIsPercent | If the distance value is a percentage, set this value to true. If the distance value is in map units, set this value to false. |
EditTemplate | The editing template used to symbolize and attribute the new points. |
PolygonOffsetLayerName | The option to intersect a polygon layer and offset the point from the intersection point on the polygon boundary. |
PolygonOffsetSide | If intersecting with a polygon layer, the to or from side of the intersection. |
SplitLateral | To split the lateral line where it intersects the point, set this value to true; otherwise, set to false. |
<PointAlong>
<LayerName>Water Curb Stop Valves</LayerName>
<EditTemplate>Roundway</EditTemplate>
<Distance>5</Distance>
<DistanceIsPercent>true</DistanceIsPercent>
<PolygonOffsetLayerName>OwnerParcel</PolygonOffsetLayerName>
<PolygonOffsetSide>From</PolygonOffsetSide>
<SplitLateral>false</SplitLateral>
</PointAlong>
<!--Repeat for additional point layers-->
</PointsAlong>
Add laterals from line location
Configure this tool to evaluate selected point features and draw a line from each point, perpendicular to the line it intersects. The configuration for this tool can be found between the AddLateralFromMainPointDetails tag.
Tag | Description |
Point_LayerName | A point layer containing features located along the line features in the MainLine_LayerName tags. Lateral features draw extending from these point features. |
MainLine_LayerName | The new lateral generates at an angle from features in this layer. |
LateralLine_LayerName | The layer used to store lateral features. |
LateralLine_EditTemplate | The editing template used to populate the attributes of the new lateral line. If this tag is blank, the user is prompted to select a template when a feature is created. |
LateralLine_AngleDetails | These tags enclose a set of tags that describe the length and angle of the new lateral. These tags include additional configuration parameters. |
LateralLine_StartAtMain | Determines the direction to draw the lateral. Flow direction is set to match digitized direction. To digitize the lateral from the main to the point, use the value true. To digitize the lateral from the point to the main, use the value false. |
LateralLine_SplitMain | To split the main line where it intersects the point, set this value true; otherwise, set to false. |
FromToFields | These tags enclose sets of optional FromToField tags that allow you to define pairs of fields in the point and main layers. Attributes are copied from the main layer to the point layer according to this field map. The FromToField tags enclose a pair of attributes from the main and point layers. The sub-tags for this tag are all optional.
|
SearchOnLayer | To restrict searches by layer definition, set this value to true; otherwise, set to false. |
PointsAlong | These tags enclose optional PointAlong tags that allow for the construction of a series of points along the lateral. These tags and their content are not required, and can be removed if they are not needed. Multiple point types can be defined by using multiple sets of the PointAlong tags. These tags include additional configuration parameters. |
Reset_Flow | Optionally, the flow direction can be reset after these edits. The options are Digitized, Role, or None. |
<AddLateralFromMainPointLayers>
<AddLateralFromMainPointDetails Name="Taps And Mains">
<Point_LayerName>TapPoints</Point_LayerName>
<MainLine_LayerName>Sewer Gravity Mains</MainLine_LayerName>
<LateralLine_LayerName>Sewer Lateral Lines</LateralLine_LayerName>
<LateralLine_EditTemplate>1" Copper Domestic</LateralLine_EditTemplate>
<LateralLine_AngleDetails>
<AngleField>ANGLE</AngleField>
<AngleType>CLOCK</AngleType>
<AddAngleToLineAngle>true</AddAngleToLineAngle>
<DirectionField>ORIENTAT</DirectionField>
<LookingUpstreamValue>U</LookingUpstreamValue>
<LookingDownstreamValue>D</LookingDownstreamValue>
<OnlyPerp>true</OnlyPerp>
<LengthField>LENGTH</LengthField>
</LateralLine_AngleDetails>
<LateralLine_StartAtMain>true</LateralLine_StartAtMain>
<LateralLine_SplitMain>false</LateralLine_SplitMain>
<FromToFields>
<FromToField>
<SourceField>FACILITYID</SourceField>
<TargetField>LOCDESC</TargetField>
<Prefix>PipeID:</Prefix>
</FromToField>
<FromToField>
<SourceField>INSTALLDATE</SourceField>
<TargetField>INSTALLDATE</TargetField>
<Prefix>PipeID:</Prefix>
</FromToField>
</FromToFields>
<SearchOnLayer>true</SearchOnLayer>
<PointsAlong>
<PointAlong>
<LayerName>Sewer Cleanout</LayerName>
<Distance>5</Distance>
<DistanceIsPercent>false</DistanceIsPercent>
<EditTemplate></EditTemplate>
<PolygonOffsetLayerName>OwnerParcel</PolygonOffsetLayerName>
<PolygonOffsetSide>From</PolygonOffsetSide>
<SplitLateral>false</SplitLateral>
</PointAlong>
<PointAlong>
<LayerName>Sewer Fittings</LayerName>
<EditTemplate>Tap</EditTemplate>
<Distance>0</Distance>
<DistanceIsPercent>true</DistanceIsPercent>
<SplitLateral>false</SplitLateral>
</PointAlong>
<!--Repeat for additional point layers-->
</PointsAlong>
<Reset_Flow>Digitized</Reset_Flow>
</AddLateralFromMainPointDetails>
</AddLateralFromMainPointLayers>
Points along
The points along tags can be used to construct a series of points along the main. To change, modify the following parameters:
Tag | Description |
LayerName | The point layer for which features will be created along the lateral at regular intervals. |
Distance | The distance to place the point along the line. The distance can be a percentage of the distance along the lateral or a measurement in map units. |
DistanceIsPercent | If the distance value is a percentage, set this value to true. If the distance value is in map units, set this value to false. |
EditTemplate | The editing template used to symbolize and attribute the new points. |
PolygonOffsetLayerName | The option to intersect a polygon layer and offset the point from the intersection point on the polygon boundary. |
PolygonOffsetSide | If intersecting with a polygon layer, the to or from side of the intersection. |
SplitLateral | To split the lateral line where it intersects the point, set this value to true; otherwise, set to false. |
<PointAlong>
<LayerName>Water Curb Stop Valves</LayerName>
<EditTemplate>Roundway</EditTemplate>
<Distance>5</Distance>
<DistanceIsPercent>true</DistanceIsPercent>
<PolygonOffsetLayerName>OwnerParcel</PolygonOffsetLayerName>
<PolygonOffsetSide>From</PolygonOffsetSide>
<SplitLateral>false</SplitLateral>
</PointAlong>
<!--Repeat for additional point layers-->
</PointsAlong>
Lateral angle
The lateral angle tags can be used to define the length and angle of a new lateral. To change, modify the following parameters:
Tag | Description |
AngleField | The field in the point feature class that stores the angle of the line being created. |
AngleType | The type of measurement of the angle values. Options are ANGLE, if measured in degrees, or CLOCK, if measured relative to a clock face. |
AddAngleToLineAngle | Set this value to true if the angle field values are measured relative to the main line or false if measured from north. |
DirectionField | The field that stores the direction from which the angle was calculated. |
LookingUpstreamValue | The value used to determine if the angle was measured going upstream. |
LookingDownstreamValue | The value used to determine if the angle was measured going downstream. |
OnlyPerp | Set this value to true if the lateral should be drawn perpendicular to the main; otherwise, set to false. |
LengthField | The field in the point feature class containing the length of the lateral to be created. |
<LateralLine_AngleDetails>
<AngleField>ANGLE</AngleField>
<AngleType>CLOCK</AngleType>
<AddAngleToLineAngle>true</AddAngleToLineAngle>
<DirectionField>ORIENTAT</DirectionField>
<LookingUpstreamValue>U</LookingUpstreamValue>
<LookingDownstreamValue>D</LookingDownstreamValue>
<OnlyPerp>true</OnlyPerp>
<LengthField>LENGTH</LengthField>
</LateralLine_AngleDetails>