Network Analysis services

Network Analysis services work with network datasets in a map service to generate network solutions.

Use network analysis services to:


WSDL syntax


http://<Web Server Hostname>/<ArcGIS Instance>/services/<ServiceName>/MapServer/NAServer?wsdl


Working with network analysis services

A network analysis service extends map service capabilities by enabling access to network datasets and functionality.  It is used in conjunction with various NAServerSolverParams and NAServerSolverResults objects.


The general pattern when working with a Network Analysis service is:

  1. Use the NAServer proxy to reference the NAServer extension associated with a map service (see the WSDL access section below).

  2. Call GetSolverParameters to get the NAServerSolverParams object holding the default parameters.

  3. Set properties on the NAServerSolverParams object to configure how you want the analysis to be performed.

  4. Use NAServerLocations objects to set the input network locations (e.g., Stops, Barriers, etc) on the NAServerSolverParams object to use in the analysis.

  5. Call Solve, passing in the NAServerSolverParams object.

  6. Use the returned NAServerSolverResults object to get at the results of the analysis.


NAServerSolverParams is an abstract object which allows you to specify general properties such as MaxSnapTolerance, ReturnMap, and OutputSpatialReference. To define the network analysis operation, use a derived object NAServerClosestFacilityParams, NAServerLocationAllocationParams, NAServerODCostMatrixParams, NAServerRouteParams, NAServerServiceAreaParams, or NAServerVRPParams.


The network location properties on the various NAServerSolverParams object types (e.g., Stops, Barriers, Facilities, and Incidents) are of type NAServerLocations. The NAServerLocations abstract object is implemented by three objects:

  1. NAServerDataLayer - allows you to reference a layer in the associated map service that contains your network locations so you don’t have to pass the locations from client to server.

  2. NAServerPropertySets - provides access to an array of PropertySet objects, each representing a network location.  Each property name and value represents a field name and value.

  3. NAServerRecordSet - provides access to a RecordSet object representing network locations.


The Solve method performs network analysis based on the NAServerSolverParams object that was passed in and returns its output through a NAServerSolverResults object that can be of type NAServerClosestFacilityResults, NAServerLocationAllocationResults, NAServerODCostMatrixResults, NAServerRouteResults, NAServerServiceAreaResults, or NAServerVRPResults depending on the type of network analysis performed.   Use this object to retrieve the results of the network analysis operation. For example, there is a property to get the MapImage created if the NAServerSolverParams.ReturnMap property was set to true.



Proxy method



Array of network analysis layers of a particular analysis type.



Get the description of a network dataset.



Default solver parameters for the specified network analysis layer.



Default solver parameters for the specified network analysis layer. Can return parameters and content of NAClasses of the specified layer stored on server.


Perform network analysis based on the input solve parameters.