About network analysis with hierarchy
You can perform network analysis using the hierarchy of the network. The hierarchy classifies network edges into a given number of levels. Typically there are three to five levels. A three-level hierarchy, for example, can be divided into the following categories represented by integers:
- Primary roads (freeways and limited-access highways)
- Secondary roads (major and arterial roads)
- Local roads (collectors and local streets)
Performing network analysis using a hierarchy makes use of a heuristic that favors traveling on higher levels of the hierarchy. For instance, with a three-level hierarchy it favors primary roads more than secondary roads and secondary roads more than local roads. This may result in a solution with a slightly higher cost than if you were to solve the same problem without using the hierarchy.
Benefits of hierarchical network analysis
- It typically takes less time to compute a solution using a hierarchy. This time difference is especially pronounced when the network is large, your primary and secondary roads are thoroughly interconnected, and your stops are not clustered together on local roads.
- Driving directions for primary and secondary roads are often easier to follow, since street signs are more visible and there are fewer intersections.
- The results from a network analysis using a hierarchy can emulate the preference of drivers on the road. For example, truck drivers typically prefer routes on primary roads, since traveling on local roads increases the likelihood of difficult turning maneuvers and stopping, which consequently lowers their fuel efficiency and increases their emissions.
Even when you have the option of performing a hierarchical analysis, you can choose to ignore hierarchies. You should base your decision on your data and your particular network problem. If you aren't sure, run the analysis with and without the hierarchy, compare the results, and decide which results are the best fit for you.
How does hierarchy work?
Hierarchical network analysis works by favoring higher order roads, such as primary roads over secondary roads and secondary roads over local roads for a three-level hierarchy. The route solver begins by simultaneously traveling forward from the origin stop and backward from the destination stop. Local roads are searched until the best transitions to secondary roads are found, from which point only secondary and primary roads are searched. The solver continues on secondary roads until the best transitions to primary roads are found. The solver then only searches primary roads, ignoring roads in the lower hierarchical classes, until the path from the origin meets the path going backward from the destination, thereby connecting the origin and destination and finding a route.
The objective of the solver is to minimize impedance while favoring a higher order of hierarchy. The graphic below demonstrates how the hierarchical solver functions.
If you place a barrier on a route that uses hierarchy, the solver tries to find an alternate course by either temporarily descending the hierarchy and proceeding around the barrier or finding a completely different path—depending on which is shorter.
If the highway is disconnected, the route solver does not descend to the local street and connect. Instead, an error is returned. ArcGIS assumes that the highest order of hierarchy is connected.
All other network analysis layers, except for service area, employ the hierarchical search method described above.
Using hierarchy in network analysis
It makes more sense to use a time-based attribute as impedance when performing a hierarchical network analysis. If the impedance is not based on time, using a hierarchy may not produce realistic results. For analyses that don't minimize time, consider solving without using the hierarchy.
Using hierarchy by default
As long as the network dataset has a hierarchy attribute, you can set any network analysis layer you create to use the hierarchy by default. To change this setting, use the Catalog window in ArcMap to open the Network Dataset Properties dialog box. Click the Attributes tab, right-click the hierarchy network attribute, then click Use By Default. You can also choose to enable hierarchies in ArcMap for each network analysis layer that you add by following these steps: open the Layer Properties dialog box for your network analysis layer, click the Analysis Settings tab, then click Use Hierarchy. Alternatively, you can perform a normal analysis by unchecking Use Hierarchy.
Changing hierarchy ranges
To adjust the ranges that define the hierarchy attribute, see Modifying network attributes. Keep in mind, however, that if your network dataset is read-only, you won't be able to change the hierarchy ranges.