GetNetworkDiagrams(Envelope) Method
Gets the list of
NetworkDiagrams which overlap with the specified extent. This method must be called on the MCT. Use QueuedTask.Run.
Get Network Diagrams
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// get all the diagrams
IReadOnlyList<NetworkDiagram> diagrams = diagramManager.GetNetworkDiagrams();
// get a diagram by name
NetworkDiagram diagram = diagramManager.GetNetworkDiagram(diagrameName);
// get diagrams by extent
diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest);
// get diagrams from a set of utility network feature GlobalIDs
diagrams = diagramManager.GetNetworkDiagrams(globalIDs);
// get diagrams from a set of utility network feature GlobalIDs within an extent
diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest, globalIDs);
}
Get Network Diagrams
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
// get all the diagrams
IReadOnlyList<NetworkDiagram> diagrams = diagramManager.GetNetworkDiagrams();
// get a diagram by name
NetworkDiagram diagram = diagramManager.GetNetworkDiagram(diagrameName);
// get diagrams by extent
diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest);
// get diagrams from a set of utility network feature GlobalIDs
diagrams = diagramManager.GetNetworkDiagrams(globalIDs);
// get diagrams from a set of utility network feature GlobalIDs within an extent
diagrams = diagramManager.GetNetworkDiagrams(extentOfInterest, globalIDs);
}
Get a list of Network Diagrams with inconsistent ConsistencyState
public List<NetworkDiagram> GetInconsistentDiagrams(UtilityNetwork utilityNetwork)
{
// Get the DiagramManager from the utility network
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
List<NetworkDiagram> myList = new List<NetworkDiagram>();
// Loop through the network diagrams in the diagram manager
foreach (NetworkDiagram diagram in diagramManager.GetNetworkDiagrams())
{
NetworkDiagramInfo diagramInfo = diagram.GetDiagramInfo();
// If the diagram is not a system diagram and is in an inconsistent state, add it to our list
if (!diagramInfo.IsSystem && diagram.GetConsistencyState() != NetworkDiagramConsistencyState.DiagramIsConsistent)
{
myList.Add(diagram);
}
else
{
diagram.Dispose(); // If we are not returning it we need to Dispose it
}
}
return myList;
}
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.