Editing features that have z-values

A z-value typically represents elevations or heights and can be used to display features in three dimensions. Each vertex of a feature can store a z-value along with its x,y positional information. While ArcMap and its editing environment are two dimensional, they provide the ability to input, edit, and maintain z-values.

The assignment of z-values when editing in ArcMap is determined by the general function the editing tool or command performs: whether it creates a new feature or edits an existing feature. Most operations that result in a new feature being created assign all the vertices the same default z-value. When an existing feature is modified, new z-values are interpolated, and updated values are assigned to the edited vertices. Some editing operations, however, simply maintain existing z-values.

You can view or change a feature's z-values on the Edit Sketch Properties window. The z-values are listed in the Z column. To change the z-values for multiple vertices, check the boxes to the left of the vertices you want to update, then click the Z button and type the new values.

Edit Sketch Properties window showing z-values. The z-value for vertex 3 is being edited.

To store z-values in a feature, you must specify that the feature class has z-values when you create it. This makes the feature class z-aware. To determine if a feature class is z-aware, open its properties in ArcCatalog or the Catalog window, click the General tab, then look under Geometry Properties for a check next to Coordinates include Z values. There is also a Z in the Shape field in the attribute table in ArcMap, as in Polyline Z.

The check next to Coordinates include Z values indicates the feature class is z-aware and can store z-values.
The check next to Coordinates include Z values indicates the feature class is z-aware and can store z-values.

If your existing feature class is not z-aware, you need to create a new feature class capable of storing z-values, then load or copy and paste features from the existing feature class into the new one and edit the z-values. You do not need an ArcGIS 3D Analyst extension license to create z-aware feature classes or edit z-values in ArcMap. However, if you do have 3D Analyst, you can also edit features in ArcGlobe or ArcScene.

The following sections describe the behavior when editing features in ArcMap.

How ArcMap assigns z-values to new features

ArcMap assigns z-values to new features in one of two ways:

When you copy and paste features or use the Copy Features tool on the Advanced Editing toolbar, the existing z-values from the original feature are also copied to the new features. If the original feature is from a different layer that is not z-aware, the pasted features are assigned the default z-value.

Other actions that create new features, including sketching, tracing, entering survey traverses, using the Create Feature topology error fix, or buffering, assign a constant z-value to all the vertices in the new feature. This constant value is the Current Z and is 0 by default.

For example, when you create a new feature in ArcMap, the z-values are automatically assigned the Current Z. To change the z-values of an existing feature, double-click the feature with the Edit tool, click the Edit Sketch Properties button Edit Sketch Properties on the Editor toolbar.

To specify a different value for the Current Z, you need to add the Current Z text box to the ArcMap interface. Click the Customize menu > Customize Mode, search for Current Z on the Commands tab, drag the control to any ArcMap toolbar (such as the Editor toolbar), then close the Customize dialog box. You can enter a different number for the Current Z as often as you want. While creating an edit sketch, you can use the Current Z control to assign the z-value for each vertex in the sketch.

Current Z text box
The Current Z text box. The default Current Z is 0.

How ArcMap assigns z-values when existing features are edited

When editing existing features, ArcMap assigns z-values to the edited feature in one of two ways:

When you move, rotate, scale, or spatially adjust an existing feature, the existing z-values are maintained. While the x,y values may change, the z-values do not. Similarly, if you simply move a vertex, the existing z-values are also maintained. If you need to modify the z-values, you can do so on the Edit Sketch Properties window.

On the other hand, operations that add, modify, or delete actual vertices in existing features typically assign new z-values for the modified vertices. Because these actions modify geometry with known z-values, ArcMap has a good starting point from which to interpolate (or extrapolate) and logically update z-values. Operations that perform splitting, extending, trimming, smoothing, generalizing, merging, unioning, clipping, and intersecting on existing features interpolate z-values.

For example, if you trim a line that has z-values, the z-values of the other vertices in the segment are used to interpolate a z-value for the vertex at the point where the line was trimmed. If the z-value for the start vertex is 10 and the z-value for the end vertex is 20, the vertex at the trim point is assigned a z-value of 16 if you trim the line at 60 percent from the start point.

With functions such as union and intersect where the inputs can be from different layers, the output has interpolated values if all the inputs are z-aware. Current Z is used when the input layers lack z-values.

When you perform an edit that manipulates multiple vertices, only the affected vertices are reassigned z-values. In most cases, z-values are assigned through interpolation. However, Reshape Feature, Cut Polygons, and Auto Complete Polygon, which use a sketch to edit an existing feature, apply the sketch's z-values to the inserted vertices.

Examples of z-value assignment

The following examples show common edits being performed and the resulting z-values after the operation is completed.

Note that the Current Z value is assumed to be 0 (the default). To specify a different value for the Current Z, enter it into the Current Z text box.

Editing scenario

How z-values are assigned

Example

Creating a new feature

Vertices are assigned the Current Z.

Assigned z-values when creating a new feature

Copying and pasting a feature

When copying from a z-aware feature class, the existing z-values are copied to the new feature. If the copied feature is not z-aware, then the pasted feature is assigned the Current Z value.

Assigned z-values when copying and pasting a feature

Moving a feature

The existing z-values are maintained and not changed.

Assigned z-values when moving a feature

Rotating a feature

The existing z-values are maintained and not changed.

Assigned z-values when rotating a feature

Moving a vertex

The existing z-values are maintained and not changed.

Assigned z-values when moving a vertex

Inserting a vertex

The new vertex is assigned an interpolated z-value.

Assigned z-values when inserting a vertex

Extending a line

The new vertex is assigned an interpolated (extrapolated) z-value.

Assigned z-values when extending a feature

Trimming a line

The new vertex is assigned an interpolated z-value.

Assigned z-values when trimming a feature

Splitting a line

The new vertex is assigned an interpolated z-value. Each feature has the same z-value for the vertex at the split point.

Assigned z-values when splitting a feature

Reshaping a feature

Vertices that are inserted by the reshape sketch are assigned z-values from the sketch. The z-values for the other vertices are maintained and not changed.

Assigned z-values when reshaping a feature
The z-values of the sketch used to reshape the feature are 0, so the z-values for the new vertices are also 0.

Cutting a polygon

New vertices along the cut are assigned z-values from the sketch. The z-values for the existing vertices are maintained and not changed.

Assigned z-values when cutting a polygon

Auto Complete Polygon

Z-assignment for the new polygon: The new polygon's vertices are assigned z-values from the sketch. Z-assignment for the existing polygon: To maintain the boundary between the existing polygon and the new polygon, ArcMap inserts vertices on the existing polygon where the new polygon intersects it. Those vertices' z-values are interpolated only from the existing polygon's z-values. The z-values for its other vertices are maintained and not changed.

Assigned z-values when creating a polygon with the Auto Complete Polygon tool
The z-values of the sketch used to draw the new polygon (Feature B) are 0, so all of its z-values are 0. However, the vertices inserted on the existing polygon (Feature A) have z-values of 5 and 7 because they are interpolated from Feature A's other vertices.

Examples of z-value assignments while editing
10/24/2012