Configure Construction tools

The Water Utility Network Tools and Attribute Assistant Add-Ins are preconfigured 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 construction tools can be modified within 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

Create a line with points

Configure the tool to add point features at the start, end, and each vertex along a line feature, while the line is being constructed. The configuration for this tool can be found between the ConstructLineWithPoints tags.

The ConstructLineWithPointsDetails tags enclose a set of line and point feature classes used to create a line with points. Multiple combinations can be configured by using multiple sets of the ConstructLineWithPointsDetails tags. The Create a line with points tool can be changed by modifying the following parameter:

Tag Description and Example
Line_LayerName The name of the line layer.
Point_Start_LayerName The name of the point layer used at the start of the new line feature.
Point_Start_EditTemplate The editing template used to attribute and symbolize the point feature at the start of the new line feature. If left empty, a feature template will need to be selected at the time of feature construction.
Point_Along_LayerName The name of the point layer to use at vertices along the new line feature.
Point_Along_EditTemplate The editing template used to attribute and symbolize point features along the new line feature. If left empty, a feature template will need to be selected at the time of feature construction.
Point_End_LayerName The name of the point layer to use at the end of the new line feature.
Point_End_EditTemplate The editing template used to attribute and symbolize the point features at the end of the new line feature. If left empty, a feature template will need to be selected at the time of feature construction.
TwoPointLines Setting this option to true will create a new feature for every turn. Otherwise, set this value to false.
PointAtVertices In order to create a point at each vertex, set this value to true. To create points only at the start and end of the line feature, set this value to false.
    
<ConstructLineWithPoints>
    <ConstructLineWithPointsDetails>
		<Line_LayerName>Sewer Gravity Mains</Line_LayerName>
		<Point_Start_LayerName>Sewer Manholes</Point_Start_LayerName>
		<Point_Start_EditTemplate>Manhole</Point_Start_EditTemplate>
		<Point_Along_LayerName>Sewer Fittings</Point_Along_LayerName>
		<Point_Along_EditTemplate>Sewer Fittings</Point_Along_EditTemplate>
		<Point_End_LayerName>Sewer Manholes</Point_End_LayerName>
		<Point_End_EditTemplate>Manhole </Point_End_EditTemplate>
		<TwoPointLines>true</TwoPointLines>
		<PointAtVertices>true</PointAtVertices>
    </ConstructLineWithPointsDetails>
</ConstructLineWithPoints>
    

Create a point and a line to the closest point

Configure the tool to connect a new point feature to the nearest point in the same layer using a line feature. The configuration for this tool can be found between the ConnectClosest tags.

The ConnectClosetDetails tags enclose sets of point and line layers. Multiple combinations can be configured by using multiple sets of this tag.

Tag Description
Point_Layer The name of the point layer.
Line_Layer The name of the line layer used to connect the new point feature to the nearest existing point feature.
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 feature from the new feature.
Reset_Flow The flow can be reset after these edits. The 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

The configuration for this tool can be found between the AddLateralsLayers 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 point 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 construction 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 tags.

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 point along tags can be used to construct a series of points along the main. 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>
    
Lateral angle

The lateral angle tags can be used to define the length and angle of a new lateral. To change this, 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