Title Summarize Utility Network Errors
Generates a Mobile GDB summarizing utility network errors and data inconsistencies
For best performance, run this tool with a database connection.
The Utility Network must be at least Schema Version 4 to extract dirty areas.
The output geodatabase has a series of tables:
- AssociationErrors:
- Duplicate Associations - Associations that exist multiple times.
- Dangling Association - Associations where the From and/or To side do not exist.
- AssociationStatus - Network sources where the AssociationStatus field is out of sync.
- DuplicateGlobalID - Network sources that share the same GlobalID.
- Errors - Dirty Areas and Associations with errors that have been enriched with information from feature space.
- SubnetworkErrors:
- Duplicate Terminal - Subnetwork controllers sharing the same terminal.
- Duplicate Subnetwork Name - Subnetwork controllers in different tiers with the same subnetwork name.
- Controller in Multiple Tiers - Subnetwork controllers in different tiers on the same record.
- Topology Inconsistencies:
- Dirty Object with no source - Dirty areas/associations without matching source record
- Element with no source - EID without matching source record
- Source with no element - Validated source record without matching EID
- View_Error_Summary - A count of errors by table and error code.
- View_Errors_By_Type - A count of errors by table, error code, origin, and destination.
License
StandardToolset
Utility Network
SummarizeUNErrors (network, folder, {options})
Parameter | Explanation | Data Type |
---|---|---|
network |
Dialog Reference
The utility network |
GPUtilityNetworkLayer |
folder |
Dialog Reference
The folder where the results will be saved. |
DEFolder |
options (Optional) |
Dialog Reference
The options to check for in the utility network.
|
GPString |
SummarizeUNErrors example 1 (Python window)
Creates a summary report of all dirty areas and associations in the utility network.
import arcpy
arcpy.udms.SummarizeUNErrors("Naperville Network", "D:/data")
SummarizeUNErrors example 2 (stand-alone script)
Summarizes dirty areas and data inconsistencies in the utility network.
import pathlib
import arcpy
un = "D:/data/network.gdb/UtilityNetwork/Network"
folder = str(pathlib.Path(un).parents[2])
options = [
"DIRTY_AREAS",
"ASSOCIATION_STATUS",
"ASSOCIATION_ERRORS",
"SUBNETWORK_ERRORS",
"DUPLICATE_GLOBALID",
"EID_MAPPINGS",
]
result = arcpy.udms.SummarizeUNErrors(
network=un,
folder=folder,
options=options,
)
# Each table summarizes different error conditions.
gdb = pathlib.Path(result[0])
for dirpath, dirnames, filenames in arcpy.da.Walk(str(gdb), datatype="FeatureClass"):
for f in filenames:
count = arcpy.GetCount_management(str(gdb / f))[0]
print(f"{f.split('.')[-1]}\t{int(count):,}")