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:

  1. Primary roads (freeways and limited-access highways)
  2. Secondary roads (major and arterial roads)
  3. 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.

A comparison of a nonhierarchical route analysis and a hierarchical route analysis

Benefits of hierarchical network analysis

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.

Steps of the hierarchical solver

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.

Disconnected hierarchy example

All other network analysis layers, except for service area, employ the hierarchical search method described above.

Learn more about hierarchical service areas

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.

Related Topics

7/2/2014