Create a new Vehicle Routing Problem layer.
[C#]
///<summary>Create a new Vehicle Routing Problem layer.</summary>
///<param name="networkDataset">An INetworkDataset interface that is the network dataset on which to perform the Vehicle Routing Problem analysis.</param>
///<returns>An INALayer3 interface that is the newly created network analysis layer.</returns>
public static ESRI.ArcGIS.NetworkAnalyst.INALayer3 CreateVehicleRoutingProblemLayer(ESRI.ArcGIS.Geodatabase.INetworkDataset networkDataset)
{
ESRI.ArcGIS.NetworkAnalyst.INAVRPSolver naVRPSolver = new ESRI.ArcGIS.NetworkAnalyst.NAVRPSolverClass();
ESRI.ArcGIS.NetworkAnalyst.INASolver naSolver = naVRPSolver as ESRI.ArcGIS.NetworkAnalyst.INASolver;
ESRI.ArcGIS.Geodatabase.IDatasetComponent datasetComponent = networkDataset as ESRI.ArcGIS.Geodatabase.IDatasetComponent; // Dynamic Cast
ESRI.ArcGIS.Geodatabase.IDENetworkDataset deNetworkDataset = datasetComponent.DataElement as ESRI.ArcGIS.Geodatabase.IDENetworkDataset; // Dynamic Cast
ESRI.ArcGIS.NetworkAnalyst.INAContext naContext = naSolver.CreateContext(deNetworkDataset, naSolver.Name);
ESRI.ArcGIS.NetworkAnalyst.INAContextEdit naContextEdit = naContext as ESRI.ArcGIS.NetworkAnalyst.INAContextEdit; // Dynamic Cast
ESRI.ArcGIS.Geodatabase.IGPMessages gpMessages = new ESRI.ArcGIS.Geodatabase.GPMessagesClass();
naContextEdit.Bind(networkDataset, gpMessages);
ESRI.ArcGIS.NetworkAnalyst.INALayer naLayer = naSolver.CreateLayer(naContext);
ESRI.ArcGIS.NetworkAnalyst.INALayer3 naLayer3 = naLayer as ESRI.ArcGIS.NetworkAnalyst.INALayer3; // Dynamic Cast
return naLayer3;
}
[Visual Basic .NET]
'''<summary>Create a new Vehicle Routing Problem layer.</summary>
'''<param name="networkDataset">An INetworkDataset interface that is the network dataset on which to perform the Vehicle Routing Problem analysis.</param>
'''<returns>An INALayer3 interface that is the newly created network analysis layer.</returns>
Public Shared Function CreateVehicleRoutingProblemLayer(ByVal networkDataset As ESRI.ArcGIS.Geodatabase.INetworkDataset) As ESRI.ArcGIS.NetworkAnalyst.INALayer3
Dim naVRPSolver As ESRI.ArcGIS.NetworkAnalyst.INAVRPSolver = New ESRI.ArcGIS.NetworkAnalyst.NAVRPSolverClass()
Dim naSolver As ESRI.ArcGIS.NetworkAnalyst.INASolver = TryCast(naVRPSolver, ESRI.ArcGIS.NetworkAnalyst.INASolver)
Dim datasetComponent As ESRI.ArcGIS.Geodatabase.IDatasetComponent = TryCast(networkDataset, ESRI.ArcGIS.Geodatabase.IDatasetComponent)
Dim deNetworkDataset As ESRI.ArcGIS.Geodatabase.IDENetworkDataset = TryCast(datasetComponent.DataElement, ESRI.ArcGIS.Geodatabase.IDENetworkDataset)
Dim naContext As ESRI.ArcGIS.NetworkAnalyst.INAContext = naSolver.CreateContext(deNetworkDataset, naSolver.Name)
Dim naContextEdit As ESRI.ArcGIS.NetworkAnalyst.INAContextEdit = TryCast(naContext, ESRI.ArcGIS.NetworkAnalyst.INAContextEdit)
Dim gpMessages As ESRI.ArcGIS.Geodatabase.IGPMessages = New ESRI.ArcGIS.Geodatabase.GPMessagesClass()
naContextEdit.Bind(networkDataset, gpMessages)
Dim naLayer As ESRI.ArcGIS.NetworkAnalyst.INALayer = naSolver.CreateLayer(naContext)
Dim naLayer3 As ESRI.ArcGIS.NetworkAnalyst.INALayer3 = TryCast(naLayer, ESRI.ArcGIS.NetworkAnalyst.INALayer3)
Return naLayer3
End Function