Skip To Content

Network dataset street editing

Available with Network Analyst license.

When you create or modify features that participate in a network dataset, snapping, editing tools, and feature templates apply the connectivity rules defined for your network.

When you perform edits using the editing tools in ArcGIS Pro, some of the tools can recognize features that participate in a network dataset. Special editing behavior can be applied to help maintain connectivity in the network when snapping to features that participate in a shared connectivity group with the feature being digitized.

The sections below summarize how editing tools work when you edit a network dataset.

Edge creation or modification

When you place a network feature on a network linear feature segment or cross it with another linear network feature (in the same connectivity group), the polyline may be modified based on the junction and edge connectivity rules to maintain connectivity. When digitizing a new network feature, if it snaps to an existing polyline feature, the existing polyline feature will be split if connectivity is not established.

At intersections where all vertices are endpoints, no additional editing behavior will occur, regardless of the connectivity policy of the new and existing features, because connectivity is already established. Similarly, no additional editing will be performed when the new feature crosses but does not snap to or have a vertex on an existing feature. In this case, it is assumed that connectivity should not be established, so the features are left as digitized.

The following table shows how a polyline is modified:

Connectivity policy of an existing, new, or modified feature

New polyline feature vertex type Existing polyline feature vertex type Endpoint/EndpointEndpoint/Any VertexAny Vertex/Any VertexAny Vertex/Endpoint

Endpoint

Endpoint

No extra editing done

No extra editing done

No extra editing done

No extra editing done

Endpoint

Midpoint

Existing polyline feature split where new polyline feature intersects it

Vertex added on the existing polyline; no lines split

Vertex added on the existing polyline; no lines split

Existing polyline feature split where new polyline feature intersects it

Midpoint

Midpoint

Both new and existing polyline features split at intersection

New polyline feature split; vertex added on the existing polyline

No extra editing done

Vertex added on the new polyline feature at intersection; existing polyline feature split where new polyline feature intersects it

None

Endpoint, Midpoint, or None

No extra editing done; connectivity not established.

No extra editing done; connectivity not established

No extra editing done; connectivity not established

No extra editing done; connectivity not established

Junction creation or modification

Adding or moving a network junction feature may also modify the edge feature the junction is on. As with modifying edges, the special editing behavior is only applied when the junction is in the same connectivity group as the edge to which it is snapping. The additional editing behavior applied depends on the connectivity policy of the junction and of the edge.

If the junction's connectivity policy is Honor, the existing feature should be edited according to its own connectivity policy. If its policy is End Point, it should be split. If its policy is Any Vertex, it should get a new vertex.

If the junction's connectivity policy is Override, the existing feature should always get a new vertex. It should never be split. The new junction will override the End Point connectivity of the edge source at that point and allow for a network connection.

Editing with elevation

When editing feature classes that use elevation in the network dataset, the elevation values will be taken into account when creating or modifying features so that they snap to other existing features. As with the other editing behavior, the extra behavior only occurs when you snap features within a common connectivity group. Behavior will vary depending on whether default values are set for the elevation fields either on fields or in the feature template for the feature class.

The following table describes the behavior applied when elevation fields are used:

Elevation value Snapping to the endpoint of a single feature Snapping to an intersection with multiple endpoints Snapping to the middle of existing edge

No default elevation values set

Snapped endpoint takes the existing elevation value.

Snapped endpoint takes the elevation values of one of the endpoints at the intersection. Review of the elevation value is advised to ensure that it is the desired one.

All endpoints receive null elevation, .because the middle of an edge has no elevation value when using elevation fields.

Default elevation values set

Snapped endpoint takes the existing elevation value.

Snapped endpoint takes the elevation values of one of the endpoints at the intersection. Review of the elevation value is advised to ensure that it is the desired one.

All endpoints receive the default elevation value of the feature being created or modified.

Snapping two features at midpoints, where none of the participating vertices are endpoints, will result in null values for all newly created endpoints at the split location when elevation fields are used. Any endpoint not snapped to another vertex will take either a null value or the default elevation value.

If the network dataset uses z-coordinate values from geometry, it has very similar behavior to when elevation fields are used. The difference between the two when it comes to editing behavior appears when snapping to a midpoint of a line.

When using z-coordinate values from geometry and modifying an existing feature or creating one that snaps to the midpoint of another existing line, the newly created endpoints will take the z-coordinate value from the geometry at that location on the line.

Using z-coordinate values to create and modify features
A new feature in orange is created and is snapped halfway along the blue line. The blue line is then split at that location and all endpoints at that intersection gain the z coordinate value from the geometry, which in this case is 1.5.

Note:
Currently, elevation fields used in the network dataset are the only fields that are automatically handled during editing without prior setup. Any other user managed fields (for example, Minutes or Meters) will have their values duplicated into features created during the split process. You will need to set up a geodatabase with domains and appropriate split and merge policies to make sure that these fields are handled properly during the split process, or you will need to manually update these fields.

Group templates

A group template can be used to place a new user junction with the Override connectivity policy so that connectivity is established at the intersection, preventing the polyline features from being split.

A user junction with the Override connectivity policy can be used to establish connectivity in places where edge connectivity policies are otherwise prohibited. By setting up a user junction feature class with the Override connectivity policy in the same connectivity group as the roads line feature class, connectivity can be established without having to split the road lines. For connectivity, there must be a vertex on all intersecting features at the shared location.

A group template can be created to combine the road lines feature class with an Override user junction feature class, so that whenever a road line segment is created that intersects another road line, a vertex is created on the existing line and an Override junction is placed at that intersection, establishing connectivity.

It is recommended that you create a project for editing the network dataset, because the group template is saved in the project.