Analysis on 3D network datasets

Complexity: Advanced Data Requirement: ArcGIS Tutorial Data Setup Data Path: C:\ArcGIS\ArcTutor\Network Analyst\Workflow\3DRouting Goal: Solve a route analysis on a 3D network dataset.

If the source features for a network dataset have a geometry that includes z-coordinate values, you can create a three-dimensional network and perform analyses on it. This topic introduces the fundamentals of performing 3D analysis with Network Analyst and presents a geoprocessing model that you can use to interactively find the best route in ArcScene.


To visualize network datasets in 3D and facilitate the creation of source features, you need the ArcGIS 3D Analyst and ArcGIS Network Analyst extensions.

The next set of graphics shows an example of a building that has its hallways and other pedestrian pathways modeled as a network dataset.

An ArcScene rendering of a three-story building

First, the pathways—like hallways, staircases, elevators, and so on—need to be digitized in 3D. This can be accomplished in ArcScene.

The interior pathways of the building are digitized in 3D using ArcScene. The yellow lines represent hallways; red lines, staircases; and the vertical blue line, an elevator.

The next step is creating the network dataset from the source feature classes. This is similar to creating any other network dataset; however, when asked, How would you like to model the elevation of your network dataset?, choose Using Z coordinate values from Geometry:

The New Network Dataset wizard page dedicated to modeling elevation

Learn more about connectivity using Z coordinate values from geometry

Once the 3D network dataset is created and built, you can use it to perform network analyses.

A 3D route analysis

The network doesn't need to be limited to only one building. It can be expanded to include several buildings in a campus, neighborhood, or even a city. In any case, the Network Analyst solvers can help answer various questions. For example, you can use the location-allocation solver to locate limited medical supplies and equipment near people or rooms to maximize their utility. You can also locate other things, like recycling bins in an office building or restaurants and vending machines in an airport.

On a 2D network, the service area solver often helps emergency response organizations determine what buildings can be reached in a certain response time. However, reaching a point inside a building often requires walking through corridors and climbing several flights of stairs. On a 3D network, the service area solver can help determine what locations inside buildings are reachable within the specified time frame.

These are just a few examples of the sundry applications Network Analyst solvers can have in 3D.

Performing an analysis on a 3D network dataset

The workflow for performing an analysis on a 3D network dataset is currently easiest to do with a geoprocessing model. This section describes how to set up a model that finds the best route between two or more stops. You can run the model in ArcScene and see the three-dimensional results. It assumes that you have a 3D network dataset (you can use the one provided), you are familiar with geoprocessing, and you do not need step-by-step instructions on how to create models.

Model overview

The geoprocessing model described here finds least-cost routes between stops. You can choose to add stops interactively or load them from a feature class. The symbology for the model's output network analysis layer is set up beforehand in a LYR file and referenced by the model.




Input network dataset

Network dataset layer, input parameter

Path to the 3D network dataset. It must model elevation using z-coordinate values from geometry.


String, input parameter

List of restriction attributes on the network dataset.

Impedance attribute

String, input parameter

The cost attribute that the least-cost path is calculated from.

Make Route Layer


Creates a route analysis layer. This layer contains both data and properties that determine how the best route will be calculated, along with the results of the calculation.


Network analysis layer

Route analysis layer.

Add Locations


Adds network locations to a network analysis layer. In this case, it adds stops to the route layer.

Input stops

Feature set (points), input parameter

Point features that are visited by the resulting route.

Route (1)

Network analysis layer

Route layer with stops.



Calculates the least-cost route.

Solve succeeded


Indicates whether or not the solve operation succeeded.

Route (2)

Network analysis layer

Route layer containing the resulting route.

Output route symbology


The Apply Symbology From Layer tool applies this layer's symbology to the output routes layer.

Apply Symbology From Layer


Applies symbology from the layer referenced by the Output route symbology variable to the Output routes variable.

Output routes

Network analysis layer, derived parameter

The route layer containing the resulting route with the predefined symbology from Output route symbology.

Model overview

Model processes

The details about the model follow.

Make Route Layer

The Make Route Layer tool creates a new network analysis layer (Route) that stores the analysis properties, maintains a connection to the input network dataset, and stores the input stops, barriers, and output routes. The network dataset has a network impedance attribute. This attribute is a parameter, so you can set it to any impedance attribute in the network dataset. The network dataset in the example has Length and WalkTime attributes, so you can specify either the distance or time required for a pedestrian to traverse each source feature (for example, hallway, staircase, or elevator segment). Since Restrictions is a parameter, you can have the solver restrict staircases, elevators, and turns. Turn restrictions can model someone who does not have a key to a specific door.

The Make Route Layer dialog box

Add Locations

The Add Locations tool adds stops to the route analysis layer. The model is configured to allow points to be loaded from a feature class or created interactively by clicking on the map display in ArcScene. In either case, the points need to include z-coordinate values in their geometry.

When stops are added to ArcScene using this model, they will show green flags. The model retrieves this custom symbology—as well as the schema of the features—from an LYR file stored on disk. You could have the model show default point symbology instead, but you would still need the model to reference a point feature class with the proper schema for stops.

To create an LYR file from a three-dimensional point feature class, follow these steps:

  1. Start ArcScene by clicking Start > All Programs > ArcGIS > ArcScene 10.
  2. Click the ArcCatalog windowCatalog Window button.

    The Catalog window is displayed.

  3. Navigate to a geodatabase.
  4. Create a point feature class that uses z-coordinate values.
  5. Use the Add Field tool to create the fields for stops you might want to edit, such as Name, Sequence, and RouteName.
  6. If the default point symbology in ArcScene suits your needs, you don't need to follow the remaining steps in this series.
  7. Add the new feature class to ArcScene.
  8. Set up the symbology so that stops appear the way you want when using the model.
  9. Right-click the feature layer in the Table Of Contents window and choose Save As Layer File.
  10. Save the LYR file to the same workspace as the model.

To include the ability of adding stops interactively using the model, you need to configure the Input Locations parameter as a feature set. Although this functionality is already included in the model, the following steps are included to help you understand how this was accomplished.

  1. In ModelBuilder, right-click Add Locations, and in the context menu, click Make Variable > From Parameter > Input Locations.
  2. Right-click the new variable, Input locations, and choose Properties.

    Input locations was renamed to Input stops in the graphic of the Find best route model diagram above.

  3. In the Input locations Properties dialog box, click the Data Type tab.
  4. Click the Select data type drop-down list, then choose Feature Set.
  5. Import a schema and symbology from an LYR file that defines attributes, geometry type, and symbols. If you are using default symbology, you can import the schema from a feature class.

    If you create a feature class or LYR file as indicated in the previous set of steps, this is where you would configure the model to retrieve those files.

    The Input stops Properties dialog box
  6. Click OK.

    Now the model user will be able to interactively create stops for the route analysis.

    You could introduce another Add Locations tool to the model in a similar fashion, but use it to add barriers instead of stops.


The Solve tool calculates the best route based on the options specified in the input route analysis layer and generates the route lines, which are written to the Routes sublayer in the output service area layer.

Apply Symbology From Layer

The symbology that is applied to Stops using a parameter on the Add Locations tool is temporary, since it only applies to the feature set. If the Solve tool runs without applying a symbology to the entire route analysis layer, the symbology for stop and route features will revert to default symbols. Therefore, the Apply Symbology From Layer tool is part of the model. It takes the symbology from RouteSymbology.lyr, including all sublayers, and applies it to the route analysis layer created by the model.

The following steps explain how to create an LYR file for a route analysis layer in ArcScene. Later, if you create a different model to run the service area solver in 3D, for example, you can refer to these general steps to set up its output symbology.

  1. In the Catalog window, click Toolboxes > System Toolboxes > Network Analyst Tools > Analysis.
  2. Double-click Make Route Layer.

    The Make Route Layer dialog box opens.

  3. Specify a network dataset in the Input analysis network text box.
  4. Click OK.

    ArcGIS begins creating a route analysis layer. Once complete, the analysis layer displays in the Table Of Contents window.

  5. For any sublayers (Stops, Point Barriers, and Routes) that are part of your model, specify a symbology.

    In this model, the symbology that was set for the Stops sublayers was imported from the same LYR file that is referenced by the parameters of the Add Locations tool. This way, stop symbology won't appear to change between adding locations and solving.

  6. Right-click the name of the route analysis layer in the Table Of Contents window and choose Save As Layer File.
  7. Specify a name and location for saving the file and click Save.

Using the model

  1. Start ArcScene by clicking Start > All Programs > ArcGIS > ArcScene 10.
  2. In the ArcScene - Getting Started dialog box, click Existing Scenes and click Browse for more.

    The Open dialog box appears.

  3. Browse to Network Analyst Workflow data and double-click 3DRouting > 3DRouting.sxd.

    The Network Analyst workflow data is located in the following folder:

    C:\ArcGIS\ArcTutor\Network Analyst\Workflow

    The 3DRouting project opens.

  4. Click the Catalog window button Catalog Window.

    The Catalog window appears.

  5. Click the Home button Home.

    The Catalog window opens the folder that the ArcScene document is stored in.

  6. Expand the toolbox 3DRoutingTools.tbx and double-click the model Find best route.

    Opening the Find best route model

    The Find best route dialog box opens.

  7. Add a stop by following these substeps:
    1. Click the Add Feature button.

      Clicking Add Feature

    2. Click the location on the map display where you want the stop to be.

      Creating a stop

  8. Repeat the last step to create at least one more stop.
  9. The Input network dataset should already be pointing to the 3D-enabled network dataset, Transportation_ND. If not, you can browse to it from the 3DRouting folder (3DRouting > OfficeBuilding.gdb > Transportation > Transportation_ND.)
  10. Click the Impedance attribute and choose either Length or WalkTime.


    For finding the shortest path


    For finding the quickest path

  11. Check any restrictions that you want the route solution to obey.


    Using stairs is prohibited. This is useful when generating a route for a person on a wheelchair.


    Using elevators is prohibited. This is useful when generating a route to a fire exit.


    The turn restrictions that are modeled on this network dataset represent doors that require a key to open. If someone doesn't have the key, they should enable this restriction.

  12. Click OK.

    The model calculates the best route and adds the results to the map display. The route feature is also added to the Routes feature class in the Table Of Contents.

Performing other types of network analysis in 3D

You can use the model that is presented in this topic with other 3D network datasets. You can also expand on it to include other functionality, like barriers. To perform other network analyses, like location-allocation or service area, you would need to create a separate geoprocessing model. The Find best route model would be a useful reference for such a task.

Related Topics