Creating & Building a simple Esri Network Dataset
Included in this tutorial:
Creating the Network Dataset including
accessing the Create Network Dataset tool,
using the tool, and
examining the results (including “dirty areas”)
Building the Network Dataset and examining the results
Accessing, adding, or editing network attributes
Software version in examples: ArcGIS Pro 3.0.2
Tutorial Data: The tutorial includes demonstration with the Network Tutorial Data available here.
Credits: L. Meisterlin (2022)
This tutorial demonstrates creating and building a simple network dataset in ArcGIS Pro based on a polyline input feature class (representing pedestrian-accessible streets) that is included within a feature dataset.
The tutorial walks through the steps to create a graph suitable for simple network-based distance calculations by using the Create Network Dataset tool and then the Build Network tool.
Related:
This tutorial begins with a feature class imported into a feature dataset: For more about setting up to create a network dataset, see first Creating an Esri Feature Dataset and then Importing a Feature Class into a Geodatabase.
Network Datasets in ArcGIS: For more on Esri’s network datasets, see “What is a Network Dataset?” here and their pages on Network Dataset Concepts beginning here. For a tutorial on creating more complex networks—including establishing elevation connectivity, turn rules, speed and time cost parameters, etc.—see Esri’s tutorial here.
Create the Network Dataset
To create a network dataset, we will use the Create Network Dataset tool. In this section, we will access the tool, review its parameters and run the tool, then examine the results.
Accessing the Create Network Dataset tool
Option 1: From the Catalog Pane
To quickly create a new network dataset from an existing (topologically accurate) polyline feature class, navigate to the feature dataset that contains the polyline features and right-click its name, then click-through New > Network Dataset. Note that this option will not be available if your polyline feature class is not located within the feature dataset.
This is demonstrated below. (The demonstrations in this tutorial illustrate right-clicks in yellow and left-clicks in magenta.)
accessing the Create Network Dataset tool through the Catalog Pane
Option 2: From the Geoprocessing Pane
the Create Network Dataset tool within the Geoprocessing Toolboxes
Alternatively, you can find the Create Network Dataset tool from the Geoprocessing Pane by searching “Create Network Dataset” or by clicking through Network Analyst Tools > Network Dataset > Create Network Dataset under Toolboxes.
Using the Create Network Dataset tool
This tool has four straight-forward parameters:
Target Feature Dataset: The location wherein the new network dataset will be created. This parameter is pre-populated if you access the tool through the Catalog Pane (demonstrated in Option 1 above).
Network Dataset Name: Specify the name of the new network dataset to be created.
Source Feature Classes: Specify the vector layers upon which the new network dataset will be based. Notice that you can choose multiple feature classes to participate in the new network. Any source feature classes must also be included within the Target Feature Dataset.
You must specify at least one polyline feature class. These features will serve as the edges of the network.
You can also optionally include point features to serve as junctions. (If no point features are included then the end-point geometry of the input lines will be used as default junctions.)
You can optionally include a turn feature class (which includes modeled information about where—and which types of—turns are allowed in your network.
In our example, we are creating a simple network based on a single polyline feature class called “streets_ped” which is stored in the Target Feature Dataset.
Elevation Model: Choose from the drop-down menu whether (and how) elevation will be modeled in the new network dataset. Elevation modeling is used to determine connectivity between line features. The options include…
using Elevation fields within the source feature classes’ attribute table,
using Z-Coordinates from the source feature classes’ geometry, or
not modeling connectivity through elevation. The latter (called No Elevation in the drop-down menu) models connectivity based on the horizontal coincidence of line feature endpoints only.
In our example, we are not modeling elevation for connectivity in this simple graph. (Note: our source feature class models connectivity via the collocation of feature endpoints.)
To execute the tool, click Run.
specifying parameters and running the Create Network Dataset tool
Examining the Results
examining the results in the Catalog pane
The resulting network dataset should be created and visible in the Catalog pane (within the Target Feature Dataset) after the tool’s processing is completed. Notice that additional layers may also be created (depending on the complexity of your network). In our example, the results include a point layer representing junctions within the network.
“Dirty Areas”
The network dataset should also be added to the map view of the current project. (If it is not added automatically, you can add it.) In the screenshot below, notice the extent of the “Dirty Areas” of the resulting network is represented with a translucent purple polygon.
“Dirty Areas” flagged in the resulting Network Dataset
With network topology, the software uses this “dirty area” flag to call attention to portions of the network that are not suitable or ready for network-based analysis. In this case, the extent of the “dirty area” is the full extent of the dataset which is not surprising because it has not yet been “built.” (”Building a network dataset” is Esri’s phraseology for the last step of preparing it for use in analysis. The steps are covered in this tutorial below.)
You may see this flag after creating a network dataset with “spaghetti data” wherein topological relationships are not digitized such that connectivity relationships can be calculated.
Other instances where you might find “dirty areas” include after making changes to the network dataset (either editing geometry or adding additional layers), before building the network again.
More: For more on Esri’s “Dirty Areas” flag, see here.
TIP: You can change the visibility of “Dirty Areas” or its symbology in the network dataset’s Symbology options.
Inspecting the Network Dataset’s Properties
As with any layer in ArcGIS Pro, access a network dataset’s properties by right-clicking on its name and choosing Properties (in the Contents pane or the Catalog pane).
In its Properties menu, you will notice familiar information (similar to the Properties information found in other layer types) as well as information unique to network datasets.
In particular, the Source tab includes a Summary toggle, within which you will find the details of the network’s connectivity.
the Summary toggle within the Source tab of a network dataset’s Layer Properties
In our example dataset’s properties, we can confirm that the layer’s “dirty areas” are a product of its status as “Not Built” (and because it has not yet been built, it has neither edges nor junctions associated with it).
from the example dataset’s Summary
Build the Network Dataset
Once you have created a network dataset (or after any changes have been made to it), the dataset must be “built.”
Option 1: Right-clicking on the Network Dataset’s name
You can build a network dataset by right-clicking on its name in the Contents pane (screenshot below, left) or in the Catalog pane (screenshot below, right) and choosing Build.
the Build option from a network dataset’s right-click menu in the Contents pane
the Build option from a network dataset’s right-click menu in the Catalog pane
Both will run the Build Network tool without needing to access the tool’s dialogue box. (You can see the progress of the Build Network tool in the History pane.)
Option 2: Accessing the Build Network tool
To access the Build Network tool from the Geoprocessing pane, search “Build Network” or click through Network Analyst Tools > Network Dataset > Build Network in the Geoprocessing Toolboxes.
The tool has only one parameter. Specify the Input Network Dataset to build. The drop-down menu will include any network datasets in the current project. Alternatively, you can browse for others by clicking the yellow folder icon.
To execute the tool, click Run.
accessing the Build Network tool from the Geoprocessing toolboxes
the Input Network Dataset parameter of the Build Network tool
Examining the Results
Assuming your input features are topologically appropriate for a network, then “dirty areas” will no longer be flagged within the network dataset. (You will still see it in the Contents panel, but the map view will not include any translucent purple polygons.)
Again, you can inspect your network dataset’s layer properties for a summary of its geometry and connectivity. It’s “Build Status” should read as “built.” And the connectivity summaries that were previously missing (in our example: edges and junctions) will now have counts.
summary of Built Network Dataset
Accessing, Adding, or Editing Network Attributes
Lastly, you can access, explore, add, or edit more advanced (specific) network attributes through the Network Dataset Properties accessed through the Catalog Pane by right-clicking on the network dataset’s name in the Catalog Pane and choosing Properties.
There are several properties options here that are not accessible through the Properties accessed through the Contents pane because they will change the way the network graph functions (and any layer included in the contents pane is assumed to be actively “in-use”). See the screenshot below to compare with the demonstrations above.
the Network Dataset Properties accessed through the Contents pane
Note that options include setting the cost attributes (whether length or time, for example) as well as other settings, including specifying directional details.