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 reporting tools can be modified within the configuration file:
- General tool settings
- Summary Isolation Trace
- Valve Isolation Trace
- Summary Flow Accumulation and Flow Accumulations
- Profiling Tool
- Attribute Transfer Loader
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 |
General tool settings
These settings are used by a number of tools and can be modified by changing the following key:
Key | Description |
Trace_Click_Point_Tolerance | Defines the snapping tolerance for tools that trace the network. |
<add key="Trace_Click_Point_Tolerance" value="10">
Summary Isolation Trace
This tool calculates the number of valves, service connections, and critical customers on each main and store results in a new layer. This tool can be modified by changing the following keys:
Key | Description |
TraceIsolationSummary_LayerName | The layer to store the results of the trace. |
TraceIsolationSummary_FacilityIDField | The field in the main or pipe feature class containing the main's id. |
TraceIsolationSummary_DateFieldName | The field in the results layer to store the date and time of the trace. |
TraceIsolationSummary_Main_FeatureLayer | The layer representing the mains or pipes. |
TraceIsolationSummary_Meter_FeatureLayer | The layer representing meters. |
TraceIsolationSummary_Meter_Critical_Field | The field in the valve layer to store critical value information. |
TraceIsolationSummary_Meter_Critical_Value | The value for a critical meter within the critical meter field. |
TraceIsolationSummary_ValveCountFieldName | The field in the results layer to store the number of valves related to a main. |
TraceIsolationSummary_MeterCountFieldName | The field in the results layer to store the number of meters related to a main. |
TraceIsolationSummary_CritMeterCountFieldName | The field in the results layer to store the number of critical meters related to a main. |
TraceFlow_Interminate | Restricts the trace to only networks with flow set. Set the value to true to enable this restriction; otherwise set to false. |
TraceIsolationSummary_SaveEntireTrace | Option to not only save the segment being traced, but the entire collection of segments (all mains affected by an outage on a pipe segment). |
<add key="TraceIsolationSummary_LayerName" value="wMainsWithTraceSummary" />
<add key="TraceIsolationSummary_FacilityIDField" value="FacilityId" />
<add key="TraceIsolationSummary_DateFieldName" value="REPORTDT" />
<add key="TraceIsolationSummary_Main_FeatureLayer" value="Water Mains" />
<add key="TraceIsolationSummary_Meter_FeatureLayer" value="Water Service Connections" />
<add key="TraceIsolationSummary_Meter_Critical_Field" value="CRITICAL" />
<add key="TraceIsolationSummary_Meter_Critical_Value" value="1" />
<add key="TraceIsolationSummary_ValveCountFieldName" value="ValveCount" />
<add key="TraceIsolationSummary_MeterCountFieldName" value="MeterCount" />
<add key="TraceIsolationSummary_CritMeterCountFieldName" value="NUMCRITMETER" />
<add key="TraceFlow_Interminate" value="false" />
<add key="TraceIsolationSummary_SaveEntireTrace" value="True" />
Valve Isolation Trace
This tool uses a series of flags and barriers to determine the valves required to isolate a main. This tool can be modified by changing the following keys:
Key | Description |
TraceIsolation_Source_FeatureLayer | The layer or layers representing the water or gas source features. Multiple layers are separated by a vertical bar. |
TraceIsolation_Valve_FeatureLayer | The layer or layers representing valve features. Multiple layers are separated by a vertical bar. |
TraceIsolation_Operable_Field_Valves | The field within the valve layer describing the operable status. Inoperable valves are ignored by the trace. |
TraceIsolation_Operable_Field_Sources | The field within the source layer describing the operable status. Inoperable sources are ignored by the trace. |
TraceIsolation_Operable_Valves | The values used to define the operational status of valves in the format "non-operable value | operable value". |
TraceIsolation_Valve_AddSQL | SQL expression for additional filtering of operable devices. This expression is combined with the operable device query. Only devices that are operable and match this expression are considered operable. All others will be considered open, non operable devices and skipped. For example, if you want to ignore valves of type ARV CCV, you can use the following expression: VALVETYPE NOT IN ('ARV', 'CCV'). |
TraceIsolation_ClearFlagsOnClick | By default, any flags will be clear when this tool is run. To disable this feature, change the value to false. |
TraceIsolation_Valve_ClosedValveQuery | Specify a query to find and place barriers on all closed valves. |
TraceIsolation_AddResultsAsLayers | Option to return the results as a set of in memory layers. |
Trace_Return_Selection | Option to return the results as a selection or graphic. |
Trace_ResultLayersIDField | Field to store the ID for the trace. |
Trace_ResultLayersDateTimeField | Field to store the time the model ran in the results. |
Trace_ResultLayersDateTimeZone | The timezone used for date fields. Set this value to UTC if you plan on publishing to a hosted service; otherwise, set to Local. |
Trace_ResultLayersRemoveMZ | Option to remove M- and Z-values from the resulting in memory layers. |
Trace_ResultAddAllLayers | Option to add results of the trace to the map. Set to true to add all layers in the Geometric Network. Set to false to add only the layers that are present in the Table of Contents. |
Trace_ResultBuffer | The buffer to be applied to the trace area created when you add results as layers. |
Trace_ResultTotalPrompt | The number of trace results to require the user to agree to continue. |
TraceIsolation_AreaTemplate | The name of the layer in the Table of Contents that will be used as a template for the outage layer created when the trace results are added as results. |
<add key="TraceIsolation_Source_FeatureLayer" value="Water Network Structures|Water Pumps" />
<add key="TraceIsolation_Valve_FeatureLayer" value="Water System Valves|Water Control Valves" />
<add key="TraceIsolation_Valve_ClosedValveQuery" value="CURROPEN = 0" />
<add key="TraceIsolation_Operable_Field_Valves" value="Operable" />
<add key="TraceIsolation_Operable_Field_Sources" value="Operable" />
<add key="TraceIsolation_Operable_Values" value="0|1" />
<add key="TraceIsolation_Valve_AddSQL" value="" />
<add key="TraceIsolation_ClearFlagsOnClick" value="true" />
<add key="TraceIsolation_ClearFlagsOnClick" value="true" />
<add key="TraceIsolation_AddResultsAsLayers" value="True" />
<add key="Trace_Return_Selection" value="True" />
<add key="Trace_ResultLayersIDField" value="TRACEID" />
<add key="Trace_ResultLayersDateTimeField" value="MODELRUN" />
<add key="Trace_ResultLayersDateTimeZone" value="
<add key="Trace_ResultLayersRemoveMZ" value="False" />
<add key="Trace_ResultAddAllLayers" value="False" />
<add key="Trace_ResultBuffer" value="20.0" />
<add key="Trace_ResultTotalPrompt" value="3000" />
<add key="TraceIsolation_AreaTemplate" value="Outage Template" />
Isolation Trace Results to Trace Area
If the trace is configured to return the results as a set of in memory layers, this section will provide the ability to store the count of each resulting layer in a field in the Trace Area layer. You can modify and add additional layers by changing the following parameters:
Tag | Description |
FeatureClassName | The name of the feature class whose features will be counted. |
TargetField | The field in the outage template to store the count. |
<AddResultsAsLayersOptions>
<ResultCountToFields>
<ResultCountToField>
<FeatureClassName>wServiceConnection</FeatureClassName>
<TargetField>CUSTOUT</TargetField>
</ResultCountToField>
<ResultCountToField>
<FeatureClassName>wSystemValve</FeatureClassName>
<TargetField>NUMVALVES</TargetField>
</ResultCountToField>
<ResultCountToField>
<FeatureClassName>wHydrant</FeatureClassName>
<TargetField>NUMHYDS</TargetField>
</ResultCountToField>
</ResultCountToFields>
</AddResultsAsLayersOptions>
Summary Flow Accumulation and Flow Accumulations
The tool summarizes flow accumulation within a specified layer at a location or for all selected features. The tool can be modified by changing the following parameters:
Tag | Description |
LayerName | The layer being described. |
SumFlowField | The field to store the summary results. This is not used for the Summary flow at Location |
WeightName | The weight name in the geometric network. If a weight is specified, the sum of the weights is returned. Otherwise, the feature count is returned. |
FlowDirection | The direction to trace to determine flow accumulation. Valid values are Upstream and Downstream. |
<FlowAccumulation>
<FlowLayerDetails>
<LayerName>Sewer Manholes</LayerName>
<SumFlowField>SUMFLOW</SumFlowField>
<WeightName>FLOW</WeightName>
<FlowDirection>UpStream</FlowDirection>
</FlowLayerDetails>
<FlowLayerDetails>
<LayerName>Sewer Gravity Mains</LayerName>
<SumFlowField>SUMFLOW</SumFlowField>
<WeightName>FLOW</WeightName>
<FlowDirection>UpStream</FlowDirection>
</FlowLayerDetails>
</FlowAccumulation>
Profiling Tool
The profiling tool creates an elevation graph between chosen locations. The tool can be modified by changing the following parameters:
Tag | Description |
ProfileGraphDetails | The tags enclosing the profile graph attributes. Multiple tag sets can be used for multiple graphs. |
Network_Name | The Geometric Network used to generate the graph. |
Point_LayerName | The point layer used to select features to create an elevation profile. |
Point_TopElevationField | The point layer field storing the surface elevation. |
Point_BottomElevationField | The point layer field storing the minimum elevation of the point feature. Minimum elevation can be measured by elevation at bottom of feature or depth of the feature. |
Point_BottomElevationTypeField | The type of measurement for the minimum elevation field. Set this value to Elevation to use elevation at the bottom of the feature; otherwise, use Invert. |
Point_IDField | The field storing the point layer features' IDs. |
Line_LayerName | The line layer to find path between elevation profile points. |
Line_UpStreamElevationField | The line layer field storing the upstream elevation values. |
Line_DownStreamElevationField | The line layer field storing the downstream elevation values. |
Line_IDField | The field storing the line layer features' IDs. |
Line_Labels | Tags enclosing the Line_Label tags. |
Line_Label | The field used to identify the line feature used in the graph. |
Elevation_LayerName | The raster layer containing surface elevation data. |
PointAlong_LayerName | Optional layer containing taps or laterals. |
PointAlong_IDField | The field storing the tap or lateral layer features' IDs. |
PointAlong_ShowLabels | Defined labels are shown along the tap or lateral features. |
Lines_Along | ****NOT CURRENTLY IMPLEMENTED**** |
Layer_Name | The line layer. |
Graph_Name | The name of the graph corresponding with the name provided as an attributes of the ProfileGraphDetails. |
GraphTitle_Name | The title of the graph. |
Legend_Name | The title of the graph legend. |
LeftAxis_Name | The left axis label. |
TopAxis_Name | The top axis label. |
BottomAxisLabel | The bottom axis label. |
<ProfileGraph>
<ProfileGraphDetails Name="Sewer Profile">
<Network_Name>SewerStormwater_Net</Network_Name>
<Point_LayerName>Sewer Manholes</Point_LayerName>
<Point_TopElevationField>RIMELEV</Point_TopElevationField>
<Point_BottomElevationField>INVERTELEV</Point_BottomElevationField>
<Point_BottomElevationTypeField>Elevation</Point_BottomElevationTypeField>
<Point_IDField>FACILITYID</Point_IDField>
<Line_LayerName>Sewer Gravity Mains</Line_LayerName>
<Line_UpStreamElevationField>UPELEV</Line_UpStreamElevationField>
<Line_DownStreamElevationField>DOWNELEV</Line_DownStreamElevationField>
<Line_IDField>FACILITYID</Line_IDField>
<Line_Labels>
<Line_Label>DIAMETER</Line_Label>
<Line_Label>MATERIAL</Line_Label>
</Line_Labels>
<Elevation_LayerName>FiveMeterSurface</Elevation_LayerName>
<PointAlong_LayerName>Sewer Taps</PointAlong_LayerName>
<PointAlong_IDField>FACILITYID</PointAlong_IDField>
<PointAlong_ShowLabels>False</PointAlong_ShowLabels>
<PointAlong_Labels>
<PointAlong_Label>FACILITYID</PointAlong_Label>
</PointAlong_Labels>
<Lines_Along>
<Line_Along>
<Layer_Name>Sewer Gravity Mains</Layer_Name>
<Line_UpStreamElevationField>UPELEV</Line_UpStreamElevationField>
<Line_DownStreamElevationField>DOWNELEV</Line_DownStreamElevationField>
<Line_IDField>FACILITYID</Line_IDField>
</Line_Along>
<Line_Along>
<Layer_Name>Storm Gravity Mains</Layer_Name>
<Line_UpStreamElevationField>UPELEV</Line_UpStreamElevationField>
<Line_DownStreamElevationField>DOWNELEV</Line_DownStreamElevationField>
<Line_IDField>FACILITYID</Line_IDField>
</Line_Along>
</Lines_Along>
<Graph_Name>Sewer Profile</Graph_Name>
<GraphTitle_Name>Sewer Profile Graph</GraphTitle_Name>
<Legend_Name>Legend</Legend_Name>
<LeftAxis_Name>Elevation(ft)</LeftAxis_Name>
<TopAxis_Name>Manholes</TopAxis_Name>
<BottomAxis_Name>Length(ft)</BottomAxis_Name>
</ProfileGraphDetails>
<!--repeat for another definition-->
</ProfileGraph>
Attribute Transfer Loader
To define the layers and the field to set in the attribute transfer dialog, change the following parameters:
Tag | Description |
SourceLayerName | The layer to copy values from. |
TargetLayerName | The layer to copy values to. |
SourceField | The field in the source layer. |
TargetField | The field in the target layer. |
<AttributeTransfer>
<!--You can predefine the values for the Attribute Transfer dialog, this is an XML array of AttributeTransferDetails, you can specify any number of combinations-->
<!--Start of the entry, the name is present to the user-->
<AttributeTransferDetails Name="Sewer Mains to Manholes" >
<!--The From layer, transfer attributes from-->
<SourceLayerName>Sewer Gravity Mains</SourceLayerName>
<!--The To layer, transfer attributes to-->
<TargetLayerName>Sanitary Sewer Manholes</TargetLayerName>
<!--XML array of the From/To Fields-->
<FromToFields>
<!--From To Field Def-->
<FromToField>
<!--Field in the Source Layer-->
<SourceField>MATERIAL</SourceField>
<!--Field in the TargetLayer-->
<TargetField>LOCDESC</TargetField>
</FromToField>
<FromToField>
<SourceField>LASTUPDATE</SourceField>
<TargetField>INSTALLDATE</TargetField>
</FromToField>
</FromToFields>
</AttributeTransferDetails>
<!--Repeat for more transfer options-->
</AttributeTransfer>
<!-- End Attribute Transfer Loader -->