Introduction to editing in 3D
The ArcGIS editing environment is available in all three ArcGIS viewing applications: ArcMap, ArcGlobe, and ArcScene. Features can be created, updated, and deleted directly within their current display environment.
To edit in a 3D view, you will need to have an ArcGIS for Desktop Basic license (or higher) plus the ArcGIS 3D Analyst extension. This will give you access to both ArcGlobe and ArcScene inside—the two 3D viewing applications for ArcGIS—which you can display, analyze, and maintain your GIS data within a 3D context.
How is 3D editing the same as 2D editing?
The general process for editing in 3D is exactly the same as the one you are used to in ArcMap. You start an edit session for a particular workspace, make your edits, and either save or discard your edits when you close the session.
The following are examples of other operations that are the same in 2D and 3D:
- Availability of Edit Templates for creating new features
- The use of Sketch tools for geometry construction
- The availability of most construction options, such as Parallel and Perpendicular
- Undo/Redo of edits and sketch parts
- Attribute edits, including access to relation classes
- Mass updates in table views
How is 3D editing different from 2D editing?
The fundamental difference between editing features in 2D versus 3D is the consideration of the z-value of the geometry being created or updated.
When defining the geometry type of feature classes, there is an option to also embed z-values inside the Shape field. This option allows you to store height information inside the feature's geometry and is a necessary part of defining 3D GIS features. A z-value is stored inline with each x,y vertex, so a point feature would have one z-value per feature, while lines and polygons can have separate z-values for each vertex in their shape. When creating features with 3D geometry, the same level of care needs to be given to all three coordinates.
A further complication is that you can use feature attributes to define the height of a feature—for example, helicopter positions could easily be defined as 2D point features that also contain a separate field for the altitude. In these cases, the z-values are not inside the actual geometry but rather are defined and maintained as feature attributes.
Given that a feature's base height can come from alternative locations, and this information is defined using layer properties, it is critical that when you edit in 3D that you know how the z-values for each of your 3D layers are applied.
Another key concept for 3D editing is the idea of draping features onto a surface. Many features that you would like to edit (or create/maintain) inside a 3D view, such as trees, roads, or study areas, live on the elevation surface and therefore do not need z-values at all. These can be 2D features that dynamically locate themselves on the ground using a separate elevation data source, which removes the need for maintaining z-values. If, at a later date, z-values are needed for analysis—for example, At what altitude range do my oak trees grow? or What's the maximum slope of this road?—z-values can always be pulled from the underlying surface data using geoprocessing tasks such as Interpolate Shape.
When should you edit inside a 3D view?
Editing the geometry of features in 3D is more complicated than in 2D, so it is expected that you will continue to do the bulk of your geometry edits inside ArcMap. When editing GIS features directly inside 3D, consider using ArcScene for your localized, precision edits, and using ArcGlobe for globally managing sketches and feature placement.
Recommended and required cases where you would need to edit inside a 3D view are:
- Simple edits that you noticed while in the 3D view (such as editing attributes or moving points)
- Editing attributes that affect 3D display (such as extrusion height or feature base height)
- Placing point features (such as street furniture)
- Digitizing 3D lines, where the z-value is important (such as connecting 3D network datasets or creating vertical lines)
- Creating polygons where a 3D view assists digitizing (such as highlighting regions of high slope)
- Placing and updating multipatches imported from 3D models (such as buildings)
Editing in 3D does not support:
- Interactive update of the geometry or textures of multipatches
- Topology, Annotation, or Geometric Network edits
- Any published service layer such as a globe or map service
Important considerations when editing in 3D
The most important consideration when editing in 3D is familiarity with your data and your layer settings.
For example, if you click to add a tree feature on top of a building—but the data is a 2D point feature class that is defined as being draped on the surface—the final displayed location of the new tree feature will be at the clicked x,y location, but the feature's height will come from the surface. As a result, the tree will appear inside the building and probably out of your immediate view. By knowing your data and how it is being symbolized in 3D, this kind of confusing behavior can be avoided.
Other important considerations include these:
Do you need to maintain z-values for this layer?
Many types of features, such as street furniture, vehicles, and trees, live on the elevation surface and should be modeled as 2D features that obtain z-values, when needed, from a separate data source. This simplifies the data storage of the features and will automatically position them correctly if the underlying surface data improves. Other feature types—such as airplanes, line-of-sight lines, and underground subway lines—do not live on the elevation surface, and these features should have embedded z-values for correct placement inside 3D.
What units are the z-values in?
The best practice is to have x-, y-, and z-units match, so a Universal Transverse Mercator (UTM)-based line feature class should also model z-values in meters. This avoids confusion when editing, investigating, and analyzing your data in 3D.
What do the z-values represent in terms of height?
Z-values can be calculated as absolute (such as 23,000 feet above sea level) or as relative to ground (such as 100 meters off the ground). While this setting should come naturally for each layer type, it is important to be aware of what kinds of z-values you are populating and maintaining in the geodatabase. For example, airplanes will have absolute heights, yet underground subway lines will have vertices that are relative to the ground.
Do you need features to snap in 3D?
Some features, such as 3D transportation networks, rely on connectivity in 3D. The snapping environment inside ArcGlobe and ArcScene is 3D-aware and should be used when digitizing features that need to share an x,y,z location. Again, be sure that the data and layers you are working with support the storage and display of the z-values you want to model.