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 can also be hosted in ArcGIS Online and ArcGIS Pro can use it. All the routing services hosted in ArcGIS Online can also be published and hosted on your server.
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.
Types of routing services
The following sections describe types of 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?
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.
Tip:
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.
Locate service
When performing analysis using routing services, the inputs to an analysis rarely fall exactly on top of the edges or junctions of the network dataset the service is using. For example, you may be using a network dataset constructed from street centerlines to power your routing services, and the input points you want to analyze are the centroids of parcels in your city. These parcel centroids do not fall on top of the street centerlines; rather, they are offset some distance from the streets. To successfully perform a network analysis using your routing services, the routing services must identify the location on the network dataset where each analysis input lies. This network location, rather than the input's original location, is used in the analysis. Typically, the longitude and latitude of the inputs are passed in and the routing services compute the location on the network during the solve operation. With the locate service, you can compute the locations on the network before calling the solve operation.
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, whereas 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.
Snap to Roads service
The Snap to Roads service can be used to snap a series of GPS track points to the underlying roads. You can return just the snapped points, or lines representing the roads that were traversed. In addition to the geometry, you can have the service return attributes of the roads such as the street name and posted speed limit in case you need this to perform route adherence.
Note:
At ArcGIS Enterprise 11.4, the Snap to Roads service is a beta feature. While in beta, this service may not be feature complete and, as such, may have known performance or quality issues and will not be supported by Esri Technical Support.
Submit your feedback during the beta phase through the ArcGIS Routing Services Program.
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.
Traffic
You can use the traffic map service to visualize real time traffic speeds and incidents such as accidents, construction sites, or street closures. Traffic visualization displays information about how travel speeds on specific road segments change over time. The traffic incidents in the map service provides the location of the incidents and some attributes such as the severity, the expected start and end time, as well as the description of the incident. The traffic speed and incident data is updated every five minutes.
The traffic map service acts as a good background layer to display the results from routing services. The traffic data used by the traffic map service is also used by the routing services when performing analysis. If you want to emphasize why a particular route was returned by the route service, you can display the traffic map along with the route to show areas of traffic congestion that influenced the choice of roads used by the route.
The traffic data used by the service is updated every 5 minutes. Each traffic update also includes traffic speed predictions for next 4 hours. This allows you to visualize traffic for future planning. The service archives the traffic information for up to 4 hours. This allows you to visualize traffic speeds within a 8-hour time window. The traffic incidents are not archived and are refreshed with every update.
Note:
You can configure ArcGIS StreetMap Premium data with live traffic from the ArcGIS Online World Traffic Service and live traffic will be available when solving a network analysis in ArcGIS Pro. You can also configure live traffic with a routing service published using ArcGIS StreetMap Premium data and the routing services hosted on your ArcGIS Server can use live traffic.