Gets a
ArcGIS.Core.Data.UtilityNetwork.Telecom.CircuitManager object used to manipulate circuits. This method must be called on the MCT. Use QueuedTask.Run.
Parameters
- telecomDomainNetwork
- The telecom domain network that the manager is based on.
Return Value
The circuit manager object.
Get the telecom domain network and network information from the utility network
await QueuedTask.Run(() =>
{
if (!utilityNetwork.HasTelecomNetwork)
{
Console.WriteLine("The utility network does not have a telecom domain network.");
}
// Get the telecom domain network from the utility network definition.
IReadOnlyList<DomainNetwork> domainNetworks = utilityNetwork.GetDefinition().GetDomainNetworks();
foreach (DomainNetwork domainNetwork in domainNetworks)
{
if (domainNetwork is TelecomDomainNetwork tdn)
{
// The telecom domain network was found.
telecomDomainNetwork = tdn;
// Get information about circuit properties from the telecom domain network.
CircuitProperties circuitProperties = telecomDomainNetwork.CircuitProperties;
Console.WriteLine($"Maximum hops in a circuit: {circuitProperties.MaxHops}");
Console.WriteLine($"Number of paths in a circuit: {circuitProperties.NumPaths}");
// Get the circuit color scheme information
IReadOnlyList<ColorScheme> colorSchemes = telecomDomainNetwork.ColorSchemes;
foreach (ColorScheme colorScheme in colorSchemes)
{
string colorSchemeName = colorScheme.Name;
int colorSchemeID = colorScheme.ID;
IReadOnlyList<ColorSchemeGroup> colorSchemeGroups = colorScheme.Groups;
foreach (ColorSchemeGroup group in colorSchemeGroups)
{
Console.WriteLine($"Color Scheme: {colorSchemeName}, Group: {group.Name}");
// Color codes
IReadOnlyList<ColorCode> colorCodes = group.ColorCodes;
foreach (ColorCode colorCode in colorCodes)
{
Console.WriteLine($"Color Code: {colorCode}");
}
// Capacities
IReadOnlyList<int> capacities = group.Capacity;
foreach (int capacity in capacities)
{
Console.WriteLine($"Capacity: {capacity}");
}
}
}
// Use the telecom domain network to get additional information about the network.
IReadOnlyList<WavelengthScheme> wavelengthSchemes = telecomDomainNetwork.WavelengthSchemes;
IReadOnlyList<DividePolicy> dividePolicies = telecomDomainNetwork.DividePolicies;
IReadOnlyList<CombinePolicy> combinePolicies = telecomDomainNetwork.CombinePolicies;
IReadOnlyList<string> diagramTemplateNames = telecomDomainNetwork.DiagramTemplateNames;
}
}
});
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)
ArcGIS Pro version: 3.6 or higher.