Skip To Content

Routing services

Routing services allow you to perform several types of spatial analysis on transportation networks, such as finding the best route across a city, finding the closest emergency vehicle or facility, identifying a service area around a location, or servicing a set of orders with a fleet of vehicles.

Because they run on ArcGIS Server, routing services make network analysis tools available to your organization on the web, where they can be run by many users simultaneously. It allows you to share network analysis functionality across an organization without requiring each user to have an ArcGIS Network Analyst extension for ArcGIS Pro . It also eliminates the need to manage multiple copies of the network dataset. Everyone in your organization uses a single authoritative source for all your network analysis. The experience provided by routing services is similar to the tools available in ArcGIS Pro for performing analysis on street networks.

Routing services require a network dataset on which the analysis is performed. A network dataset models your transportation network by encoding traffic rules, such as those governing one-way streets, turn restrictions, overpasses and tunnels, and so on. The network dataset is accessed from a geodatabase, which can be a file geodatabase, a mobile map package stored on disk, or an enterprise geodatabase. You can create a network dataset based on the street data that your organization maintains or use a network dataset available as part of ArcGIS StreetMap Premium.


Routing services require an ArcGIS Network Analyst extension license to be available on your ArcGIS Server site. However, to use the routing services, the client applications such as ArcGIS Pro do not need to have the ArcGIS Network Analyst extension license.

Types of routing services

There are seven types of analysis that can be performed using routing services. Each of these analysis tools is available as a service.

Learn more about how to publish routing services

Route service

The Route service can be used to find the best way to get from one location to another or to visit several locations. The best route can be the quickest route for a given time of day considering the traffic conditions during that time, or it can be the shortest route that minimizes the travel distance. The Route service can also find the best route that visits each stop during permitted time windows you specify. If you have more than two stops to visit, the best route can be determined for the fixed order of locations you specify. This is called a simple route. Alternatively, the Route service can determine the best sequence in which to visit the locations (the traveling salesman problem). This is called an optimized route.

Closest facility service

Finding the closest hospital to an accident, the closest police cars to a crime scene, and the closest store to a customer's address are examples of problems that can be solved using the Closest facility service. When finding the closest facilities, you can specify how many to find and whether the direction of travel is toward or away from them. Once you've found the closest facilities, you can display the best route to or from them and include the travel time, travel distance, and driving directions to each facility. The service can use current traffic conditions when determining the best routes. You can also specify an impedance cutoff beyond which the service will not search for a facility. For instance, you can set up a Closest facility service to search for hospitals within a 15-minute drive time of the site of an accident. Any hospitals that take longer than 15 minutes to reach will not be included in the results. The hospitals are referred to as facilities, and the accident is referred to as an incident. The service allows you to perform multiple closest facility analyses simultaneously. This means you can have multiple incidents and find the closest facility or facilities to each incident.

Service area service

With the Service area service, you can find the area that can be reached from the input location within a given travel time or travel distance. A service area is the area that encompasses all streets that can be accessed within a given distance or travel time from one or more locations, referred to as facilities. Service areas are generally used to visualize and measure the accessibility of facilities. For example, a three-minute drive-time polygon around a grocery store can determine which residents can reach the store within three minutes and are thus more likely to shop there. The service can also create multiple concentric service areas around one or more facilities that can show how accessibility changes with an increase in travel time or travel distance. It can be used, for example, to determine how many hospitals are within 5-, 10-, and 15-minute drive times of schools. When creating service areas based on travel times, the service can use traffic data, which can influence the area that can be reached during different times of the day.

Vehicle routing problem service

Various organizations service orders with a fleet of vehicles. For example, a large furniture store might use several trucks to deliver furniture to homes. A specialized grease recycling company might route trucks from a facility to pick up used grease from restaurants. A health department might schedule daily inspection visits for each of its health inspectors. The problem that is common to these examples is the fleet routing. Each organization needs to determine which orders (homes, restaurants, or inspection sites) should be serviced by each route (truck or inspector) and in what sequence the orders should be visited. The primary goal is to best service the orders and minimize the overall operating cost for the fleet of vehicles. The fleet routing service can be used to determine solutions for such complex fleet management tasks. In addition, the service can solve more specific problems because numerous options are available, such as matching vehicle capacities with order quantities, providing a high level of customer service by honoring any time windows on orders, giving breaks to drivers, and pairing orders so they are serviced by the same route.

Consider an example of delivering goods to grocery stores from a central warehouse location. A fleet of three trucks is available at the warehouse. The warehouse operates only within a certain time window—from 8:00 a.m. to 5:00 p.m.—during which all trucks must return back to the warehouse. Each truck has a capacity of 15,000 pounds, which limits the amount of goods it can carry. Each store has a demand for a specific amount of goods (in pounds) that needs to be delivered, and each store has time windows that confine when deliveries should be made. Furthermore, the driver can work only eight hours per day, requires a break for lunch, and is paid for the amount of time spent on driving and servicing the stores. The service can be used to determine an itinerary for each route such that the deliveries can be made while honoring all the vehicle and order requirements and minimizing the total time spent on a particular route by the driver.

Location-allocation service

Location-allocation helps you choose which facilities from a set of facilities to operate based on their potential interaction with demand points. It can help you answer questions like the following:

  • Given a set of existing fire stations, which site for a new fire station would provide the best response times for the community?
  • If a retail company has to downsize, which stores should it close to maintain the most overall demand?
  • Where should a factory be built to minimize the distance to distribution centers?
In these examples, facilities would represent the fire stations, retail stores, and factories; demand points would represent buildings, customers, and distribution centers.

The objective may be to minimize the overall distance between demand points and facilities, maximize the number of demand points covered within a certain distance of facilities, maximize an apportioned amount of demand that decays with increasing distance from a facility, or maximize the amount of demand captured in an environment of friendly and competing facilities.

Travel cost matrix service

Use the travel cost matrix service to create an origin-destination (OD) cost matrix from multiple origins to multiple destinations. A travel cost matrix is a table that contains the cost, such as the travel time or travel distance, from every origin to every destination. It also ranks the destinations that each origin connects to in ascending order based on the minimum cost required to travel from that origin to each destination. When generating a travel cost matrix, you can specify the maximum number of destinations to find for each origin and the maximum time or distance to travel when searching for destinations.

The results from the travel cost matrix service often become input for other spatial analyses when the cost to travel on the street network is more appropriate than straight-line cost. For example, predicting the movement of people in a city is better modeled with costs based on street networks, since people tend to travel on roads and pedestrian paths.


The closest facility and travel cost matrix services perform similar analyses; the main difference is in the output and the computation speed. The Travel cost matrix service generates results faster but cannot return lines that follow the underlying streets or driving directions. It is designed to quickly solve large M x N problems and, as a result, does not internally contain the information required to generate route shapes and driving directions. Alternatively, the Closest facility service can return routes that follow the underlying streets and directions but is slower to run than the Travel cost matrix service. If you need driving directions or true shapes of routes, use the Closest facility service; otherwise, use the Travel cost matrix service to reduce the computation time.

Last Mile Delivery service

The Last Mile Delivery service is a use case specific Vehicle Routing Problem (VRP) algorithm designed for a fleet of vehicles that are delivering packages to the final customers. For example, this can be used for a single distribution center or store delivering to the final customer location and can be quite dense delivering to a few customers on most streets, but it is not intended to visit every house on every street.

Delivery companies need to determine which orders (package delivery location) should be serviced by each route (delivery vehicle and driver) and in what sequence the orders should be visited. The primary goal is to best service the orders by producing geographically clustered routes so the drivers can easily deliver to everyone and minimize the overall operating cost for the fleet of vehicles.

The Network Analyst Route service finds the best route for a single vehicle to visit many stops where as the Last Mile Delivery service and the Vehicle Routing Problem service both find the best routes for a fleet of vehicles to service many orders. The Vehicle Routing Problem service has lots of flexibility and can model many different constraints but the algorithm is also limited by this flexibility. The Last Mile Delivery service supports a subset of the constraints, but for the ones it does support, it can provide a better quality and higher performing algorithm.

Route Utilities

The Route Utilities service contains GetTravelModes and GetToolInfo tools that provide auxiliary information for working with routing services.

The GetTravelModes tool returns a list of travel modes configured for your organization that can be used with routing services. A travel mode represents a means of transportation, such as driving or walking. Travel modes are essentially templates consisting of a long list of travel settings. This tool is meant to be used by different applications to display the name and optionally the description of the available travel modes in their user experience. An administrator of your organization can configure travel modes to change the properties of the default travel modes, add new travel modes that better reflect your organization's workflows, or remove travel modes that are not suitable for your organization's workflows.

The GetToolInfo tool provides information such as the description of the network dataset used for the analysis and processing limits for a tool available in the geoprocessing service.