Configure the Water Utility Editing tools

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:

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.
  • SourceField—Field in the source layer from which the value transfers to the target field.
  • TargetField—Field in the target layer that receives the value from the source field.
  • Prefix—Prefix in the target layer that can be applied to the value extracted from the main and applied to the point.
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.
  • SourceField—Field in the main layer that contains the attributes to copy to the point layer.
  • TargetField—Field in the point layer that can populate with a value from the main layer.
  • Prefix—Prefix to apply to the value copied from the main layer to the point layer.
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>
    
Top