Create the Indoors network

Available for an ArcGIS organization licensed with the Indoors extension.

You can use several geoprocessing tools to create the network dataset. The tools in the Indoors Network toolset use a lattice-based approach to automate the creation of network pathways inside buildings.


Before you run the tools in the Indoors Network toolset, ensure that your ArcGIS Indoors geodatabase contains the Network and PrelimNetwork feature datasets created by the Create Indoors Database geoprocessing tool.

The general workflow is outlined in the following steps:

  1. Generate preliminary pathways.

    Use the Generate Indoor Pathways geoprocessing tool to generate pathways on floors of buildings. This tool uses the Units and Details feature classes in the ArcGIS Indoors Information Model to denote boundaries where pathways cannot traverse.

  2. Generate floor transitions.

    Use the Generate Floor Transitions geoprocessing tool to connect pathways between floors in buildings at stairways, elevators, and escalators to allow network routing between floors.

  3. Thin preliminary pathways.

    Use the Thin Indoor Pathways geoprocessing tool to reduce the indoor pathways in the network that were created by the Generate Indoor Pathways tool.

  4. Create landmark points.

    For your Indoors network to support turn-by-turn routing directions, you must add point features that represent landmarks that the turn-by-turn directions can reference.

  5. Rank pathways.

    Use the Classify Indoor Pathways geoprocessing tool to indicate pathways that are hallways or open areas where the route should proceed before routing through offices, conference rooms, and other areas.

  6. Connect buildings.

    The Indoors tools do not connect buildings in the network. To support routing between buildings, you must connect the buildings in the network using ArcGIS Pro feature editing tools.

  7. Create the final network dataset.

    Use the Create Network Dataset From Template and the Build Network geoprocessing tools to create and build the final routable network dataset.

Generate preliminary pathways

The Generate Indoor Pathways geoprocessing tool allows you to create a lattice of preliminary pathways that extend into every walkable space inside a building. The pathways are then cut where walls or other navigation obstructions exist. The lattice density is determined by the narrowest doorway in your building so that pathways can extend into every walkable space. To improve the performance of the network dataset and to reduce its complexity and size, make the lattice no denser than necessary to reach all walkable spaces in your buildings.

The Generate Indoor Pathways tool attempts to align the lattice of pathways with the primary direction of travel in each building. If the pathway features don't align with underlying spaces, you can set a custom lattice rotation value.

Learn more about setting the value and mapping floor plans to Indoors
Unthinned lattice showing connecting through doorways
Unthinned lattice connecting through doorways is shown.
  1. Run the Generate Indoor Pathways geoprocessing tool.

    The PrelimPathways layer is added to the current map. Quality control processes should be run on the map; use the following steps to use the range slider to validate the map.

  2. Add the PrelimPathways layer to the range slider.

    If you haven't enabled the range slider, use the Vertical Order attribute (change the filtering mode to Single Value on the Range tab) to filter the network pathways and the indoor floor plan layers simultaneously.

    Preliminary network pathway for individual levels with filtered vertical order using range slider
    You can show a preliminary network pathway for individual levels by filtering the vertical order using the range slider.
  3. Verify the following:
    • Generated pathways extend into all rooms and are not cut by doorways.
    • The orientation of the generated pathways aligns well with the orientation of the underlying units.
  4. If necessary, change the Lattice Rotation or Lattice Density and rerun the Generate Indoor Pathways tool.

    If you are processing multiple buildings, manually connecting a few disconnected rooms may be faster than rerunning the tool on the full dataset. To ensure that all required attribute and z-information is preserved, copy existing generated pathways from the current floor to connect disconnected rooms.

Generate floor transitions

Floor transitions are network features that connect floors together: vertical 3D lines that represent features such as elevators, stairs, or escalators.

If you have more than one floor in your building, you need 3D floor transition line features (vertical 3D lines for elevators and inclined 3D lines for stairs or escalators), which connect to and from each floor's pathways.

In the following image, end vertices for transition line features snap to the next transition and the pathway vertices. If the level elevations are consistent, you can duplicate a single floor transition vertically as many times as needed.

Elevator (left) and stair (right) floor transitions connecting levels 1, 2, and 3
In the image of levels 1, 2, and 3, the floor transition on the left is an elevator and the one on the right is a staircase.

The Generate Floor Transitions geoprocessing tool automates the creation of vertical transition features. If you want floor transitions that are not vertical lines, such as stairs, those features must be manually updated after generation.

You can optionally add an elevator delay to the network. The tool splits the pathways intersecting with the elevator space polygon and adds the custom delay to them. The delay is used in the network dataset to calculate the routing time.


This capability is available with version 2.5 and later of the Indoors model. It's recommended that you upgrade the geodatabase.

Generate transitions

Create vertical lines by following these steps:

  1. Run the Generate Floor Transitions geoprocessing tool.
  2. Add the output transitions features to a 3D scene.

    If you haven't already, enable the range slider and use the Vertical Order attribute to filter the output pathways and the other layers in the map so you can view just the features on a given floor.

  3. Inspect the output transitions.
    • Vertical transition features should be present where expected.
    • Transition endpoints should connect to pathway feature nodes.
  4. Address issues identified during inspection.
    • If a transition is missing, copy and paste an existing transition feature and move the copied feature as needed. This workflow ensures all required attribute and z-information is preserved.
    • If a transition endpoint is not connected to a pathway, enable endpoint snapping and edit the transition's endpoint vertex so it snaps to a pathway endpoint vertex.

Manually update stairway features

After generating new transitions for a building, you can edit the vertical transitions that represent stairways (as well as escalators and ramps) so the transitions follow the path a pedestrian would take, moving upward at an angle and horizontally across any landings. This can improve route length and travel time calculations, as well as provide a more realistic 3D display.

To make the edits, modify the transition feature's vertices. For example, if a stairway has a landing, you can add new vertices to represent the landing, move them to the appropriate x- and y- coordinates, and edit their z-values to position the new vertices halfway between floors.


You can use the range slider to more easily see and work with the transitions.

  1. Select the transition feature you want to update.
  2. Move the transition feature's lower end vertex to where the lower end of the stairway is located and snap the vertex to the nearest pathway feature on the lower level.
  3. Move the feature's upper end vertex to where the upper end of the stairway is located and snap the vertex to the nearest pathway feature on the upper level.
  4. If there is a landing midway along the transition, add new vertices to the transition and position the new vertices where the landing is located.

    When working in a 3D scene, you may find it easier to move each new vertex to a specific coordinate location.

  5. Verify that the transition is still connected to pathways at both ends.
  6. Verify that the transition's endpoint vertex z-values match the corresponding floor's pathways z-values.
  7. Repeat steps 1 through 6 for each transition you want to update.
  8. When all transitions are updated, run the Calculate Geometry Attributes geoprocessing tool with the Property parameter set to Length (3D)

    This calculates the Length 3D attribute for correct travel time along the updated transition features.

Thin the network

The Thin Indoor Pathways geoprocessing tool calculates routes between selected Routable Location points to thin the preliminary pathway network. Locations that are routed to and from are typically points of interest (POIs) and events point feature classes that were loaded when the Indoors geodatabase was created.

The thinning process uses the PrelimPathways feature class as a layer to navigate across and from each routable location, calculates routes to its closest neighbors, moves to the next routable location, and calculates routes again. Once routes are calculated for all routable locations on each floor of a building, these calculated route lines are dissolved and simplified. The output of this tool is used when creating the final network dataset.

  1. Ensure that the Routable Location points, such as points of interest and events, are up-to-date and are properly attributed.

    See the Indoors model for details.


    To connect the indoor networks of multiple buildings together, use the Generate Facility Entryways tool create points for every exterior doorway on each floor. Including these entry points in the POIs used by the Thin Indoor Pathways tool allows you to snap the line from an outdoor (for example, sidewalk) walking network to an indoor network.

  2. Run the Thin Indoor Pathways geoprocessing tool.
  3. Inspect the output and verify the following:
    • Pathway features extend to routable locations as expected.
    • Pathway features are properly attributed.
    • Transition features are connected to expected floors.

Create landmark point features

You can use landmark point features when creating directions to provide callouts for an enhanced experience. You can create landmarks before or after the network dataset has been created and update them as conditions warrant without re-creating the network dataset. Any landmark within 4 meters of a route is identified in the directions, so it is important to choose landmarks that are relatively sparse (for example, one per wing) and easily recognizable.

Landmark points are typically generated from existing POIs that were used to generate the pathways. You can also manually create individual landmark points.

Follow these steps to create landmark points from an existing PointsOfInterest feature class:

  1. Select the POI features to serve as landmarks.
  2. Use the Append geoprocessing tool to add the selected POI features to the Landmarks feature class in the Network dataset.

    Maintain the default schema map in the Field Map.

  3. Verify the new landmark features are properly attributed.

Rank pathways

You can classify the network dataset to prioritize pathways for routing. When calculating a route using a hierarchical network, primary pathways are preferred, while secondary pathways are only used if necessary to reach a destination. This restricts routes that may otherwise take the shortest path through a space that is in use (for example, a conference room with two doors).

You can rank pathways by running the Classify Indoor Pathways geoprocessing tool. This updates the pathway rank as primary or secondary based on selected unit spaces and modifies the Pathways feature class in the network feature dataset.

Add pathways features between buildings

To route between multiple buildings on a campus, you must create outdoor pathway features manually to connect indoor networks. Pathways are created using the Create Features pane. To snap to an existing network, add the Pathways feature class to your map.


If the range slider is enabled, set it to display the ground floor.

  1. On the Edit tab in the Features group, click Create Create Features.

    The Create Features pane opens, listing the feature templates defined for the active map.

  2. In the Create Features pane, click the Pathways feature template.

    The Pathways template expands, showing the tool palette.

  3. On the Pathways template, click Active Template Forward.

    The tool palette and the feature attribute table for the Pathways template appear.

  4. In the attribute table, complete the default attributes.
    1. Set Pathway Type to Hallway / Sidewalk (1).
    2. Set Location Type to Outdoors (0).
  5. In the Create Features pane, click Line Line to create a line feature.
  6. Click a vertex intersection on an existing pathway feature at the doorway of the building to start the outdoor feature. Add vertices as needed to draw features between buildings.
  7. Snap to that feature if entryways points have been created in the PointsOfInterest feature class.
  8. Add vertices as needed to draw features between buildings.
  9. Create the endpoint of the line at a vertex intersection of the existing pathway feature at the doorway of the second building.
  10. Snap to that feature if entryway points have been created in the PointsOfInterest feature class.
  11. Save your edits.

Create the final network dataset

The final network dataset, created from the thinned and ranked network, can be used for indoor routing. Create and build the final network dataset by following these steps:

  1. Run the Create Network Dataset From Template geoprocessing tool to create the network dataset.

    Use the FinalNetworkTemplate_Meters.xml file in the NetworkTemplates directory as your template. The template is located in the Indoors Product data folder.

  2. Run the Build Network geoprocessing tool and browse to the Network_ND network dataset created using the Create Network from Template geoprocessing tool.

Related topics