Create a new Location Allocation layer.
[C#]
///<summary>Create a new Location Allocation layer.</summary> ///<param name="networkDataset">An INetworkDataset interface that is the network dataset on which to perform the Location Allocation analysis.</param> ///<returns>An INALayer3 interface that is the newly created network analysis layer.</returns> public static ESRI.ArcGIS.NetworkAnalyst.INALayer3 CreateLocationAllocationLayer(ESRI.ArcGIS.Geodatabase.INetworkDataset networkDataset) { ESRI.ArcGIS.NetworkAnalyst.INALocationAllocationSolver naLocationAllocationSolver = new ESRI.ArcGIS.NetworkAnalyst.NALocationAllocationSolverClass(); ESRI.ArcGIS.NetworkAnalyst.INASolver naSolver = naLocationAllocationSolver 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 Location Allocation layer.</summary> '''<param name="networkDataset">An INetworkDataset interface that is the network dataset on which to perform the Location Allocation analysis.</param> '''<returns>An INALayer3 interface that is the newly created network analysis layer.</returns> Public Shared Function CreateLocationAllocationLayer(ByVal networkDataset As ESRI.ArcGIS.Geodatabase.INetworkDataset) As ESRI.ArcGIS.NetworkAnalyst.INALayer3 Dim naLocationAllocationSolver As ESRI.ArcGIS.NetworkAnalyst.INALocationAllocationSolver = New ESRI.ArcGIS.NetworkAnalyst.NALocationAllocationSolverClass() Dim naSolver As ESRI.ArcGIS.NetworkAnalyst.INASolver = TryCast(naLocationAllocationSolver, 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