The extension for network analysis.
Product Availability
Available with ArcGIS Desktop. Requires Network Analyst Extension.
Interfaces
Interfaces | Description |
---|---|
IActiveViewEvents (esriCarto) | Provides access to events that occur when the state of the active view changes. |
IConnectionPointContainer | Supports connection points for connectable objects. |
IDocumentEvents (esriArcMapUI) | Provides access to events that occur in ArcMap. |
IExtension (esriSystem) | Provides access to members that define an extension. |
IExtensionConfig (esriSystem) | Provides access to members that describe an extension. |
INALocationEditOptions | Provides access to location edit options. |
INetworkAnalystExtension | Provides access to the network analyst extension. |
IPersistStream (esriSystem) |
Event Interfaces
Interfaces | Description |
---|---|
INetworkAnalystExtensionEvents (default) | Provides access to events triggered by the network analysis extension. |
Remarks
The NetworkAnalystExtension is an ArcMap application extension that manages the current NetworkLayer and provides access to the NAWindow and the NALayers
There are methods to get
- The NAWindow which holds the NALayers.
- The NetworkLayer which holds a reference to a NetworkDataset.
[C#]
This C# example shows three ways of how you can get the Network Analyst Extension.
// Get Network Analyst Extension by name
public INetworkAnalystExtension GetNetworkAnalystExtensionByName(IApplication app)
{
return app.FindExtensionByName("Network Analyst") as INetworkAnalystExtension;
}
// Get Network Analyst Extension by ProgID
public INetworkAnalystExtension GetNetworkAnalystExtensionByProgID(IApplication app)
{
UID uid = new UIDClass();
uid.Value = "esriNetworkAnalystUI.NetworkAnalystExtension";
return app.FindExtensionByCLSID(uid) as INetworkAnalystExtension;
}
// Get Network Analyst Extension by CLSID
public INetworkAnalystExtension GetNetworkAnalystExtensionByCLSID(IApplication app)
{
UID uid = new UIDClass();
uid.Value = "{C967BD39-1118-42EE-AAAB-B31642C89C3E}";
return app.FindExtensionByCLSID(uid) as INetworkAnalystExtension;
}
[Visual Basic .NET]
This VB.NET example shows three ways of how you can get the Network Analyst Extension.
' Get Network Analyst Extension by name
Public Function GetNetworkAnalystExtensionByName(ByVal app As IApplication) As INetworkAnalystExtension
Return app.FindExtensionByName("Network Analyst")
End Function
' Get Network Analyst Extension by ProgID
Public Function GetNetworkAnalystExtensionByProgID(ByVal app As IApplication) As INetworkAnalystExtension
Dim uid As UID = New UID()
uid.Value = "esriNetworkAnalystUI.NetworkAnalystExtension"
Return app.FindExtensionByCLSID(uid)
End Function
' Get Network Analyst Extension by CLSID
Public Function GetNetworkAnalystExtensionByCLSID(ByVal app As IApplication) As INetworkAnalystExtension
Dim uid As UID = New UID()
uid.Value = "{C967BD39-1118-42EE-AAAB-B31642C89C3E}"
Return app.FindExtensionByCLSID(uid)
End Function
Working with Events
[Visual Basic 6.0]
When working with NetworkAnalystExtension's default outbound interface in Visual Basic 6 declare variables as follows: Private WithEvents pNetworkAnalystExtension as NetworkAnalystExtension