For the most part, terrain editing is about editing features. You edit feature classes that participate in a terrain using standard edit tools. You can add, remove, and replace data referenced by terrains. This enables you to manage your measurement data over time, which is important, considering topographic and bathymetric projects often compile information over months and even years. A terrain dataset can grow as the data becomes available. Terrains can be edited to fix problems, make improvements, and increase or decrease their extent. Using the terrain editing tools on a terrain dataset requires the ArcGIS 3D Analyst extension license.
In enterprise geodatabases, terrain datasets support versioning. Multiple users can access different representations of the terrain for different projects. What-if scenarios are made possible by allowing design edits that model proposed changes to be made without actually changing the original surface. If the design is realized, the edits can be posted back to the source data. If a survey area needs to be updated with improved measurements, the new data can be swapped in. Minor edits don't invalidate the entire dataset. Only the affected areas need to be built, thus saving time.
Terrain dataset edits fall into three broad categories:
- Edits to the terrain dataset schema
- Edits to measurements residing in regular feature classes
- Edits to measurements residing in embedded feature classes
Edit terrain dataset schema
Terrain schema properties are set when you create a terrain dataset. These include the participating feature classes, pyramid level definitions, and tile size (which is derived from the average point spacing). Some of these can be modified without requiring the terrain dataset to be rebuilt; others require a build.
A terrain schema is modified via terrain-specific geoprocessing tools. These can be found in the terrain toolset inside the 3D Analyst toolbox.
When a terrain has been invalidated because of a schema edit, it does not display. To confirm the reason for the lack of display, look on the Source tab of the Terrain Layer Properties dialog box. It indicates whether the terrain needs to be built.
When a terrain dataset needs to be rebuilt, you can use the Build button on the Data tab from the ribbon to open the Build Terrain tool in the 3D Analyst Terrain toolset.
Properties that can be edited without rebuilding your terrain dataset include the following:
- Pyramid level reference scales
- Pyramid levels in which polyline or polygon features are enforced (as long as the change does not involve the full-resolution pyramid level)
- Addition or removal of a 2D clip polygon feature class
Properties that require rebuilding your terrain dataset include the following:
- Adding or removing pyramid levels
- Pyramid levels in which polyline or polygon features are enforced (if the change involves the full-resolution pyramid level)
- Adding or removing feature classes
- Appending or removing points
- Replacing terrain points
Edit terrain measurements residing in regular feature classes
Most feature classes are referenced by a terrain dataset. This reference is a relationship that's established for a number of reasons:
- Let the terrain know where to get measurements from.
- Prevent the feature class from being deleted.
- Send messages to the terrain about feature edit operations.
To edit the measurements, use standard feature editing tools. Terrain is notified about feature edits and keeps a record of areas where edits have taken place. To sync the terrain with these edits, execute a build operation. When a terrain needs to be rebuilt, you can use the Build Terrain tool in the 3D Analyst Terrain Management toolset. You can also click the Build button from the Data tab of the terrain layer ribbon. Unlike regular feature classes referenced by the terrain dataset, embedded feature classes residing in the terrain dataset cannot be manually edited using the standard editing tools.
Edit terrain measurements residing in embedded feature classes
You can embed a large multipoint feature class in a terrain when it's created. This allows you to delete the source feature class after the terrain is built and recover the storage space. Embedded feature classes are contained by the terrain dataset, and access to them is made through terrain operators.
You can add, remove, and replace points using the Append Terrain Points, Replace Terrain Points, and Delete Terrain Points tools in the Terrain Management toolset inside the 3D Analyst toolbox. These tools operate on collections of points by either area and at the individual point level. To get the terrain in sync with the modifications to the embedded features, execute a build operation. To do this, use the Build Terrain tool.
The editing of measurements, regardless of whether they reside in regular or embedded feature classes, may result in dirty areas. These are used to indicate what portions of the terrain are invalid and need to be rebuilt. Dirty areas result except when editing attributes that are unrelated to z-values or when editing features that are not included in the highest-resolution pyramid level. The benefit of dirty areas is the support of partial build processing. A modification to part of a terrain does not require it to be rebuilt in its entirety from scratch.
The dirty areas of terrains are tile based. An edit within a tile invalidates the entire tile. Rebuilding a terrain processes its dirty tiles and the tiles adjacent to them. The adjacent tiles need to be included because edits to measurements may have an impact, in terms of how they influence the surface, that extends across tiles.
Geoprocessing tools for editing terrain datasets
A set of geoprocessing tools for editing existing terrains is available in the 3D Analyst toolbox.
From the Geoprocesssing pane, locate the 3D Analyst toolset, expand the Data Management toolset, and then expand the Terrain Dataset toolset.
Adds one or more feature classes to a terrain dataset.
Adds one or more pyramid levels to an existing terrain dataset.
Appends points to a point feature referenced by a terrain dataset.
Performs tasks required for analyzing and displaying a terrain dataset.
Changes the reference scale associated with a terrain pyramid level.
Changes the pyramid levels at which a feature class will be enforced for a given terrain dataset.
Deletes points within a specified area of interest from one or more features that participate in a terrain dataset.
Removes reference to a feature class participating in a terrain dataset.
Removes a pyramid level from a terrain dataset.
Replaces points referenced by a terrain dataset with points from a specified feature class.
Best practices for editing terrain datasets
Best practices for editing terrain datasets include the following:
- When appending measurements to an existing terrain dataset, they should be adjacent to measurements already in the terrain dataset. The dataset should grow as a unified area rather than in fragmented pieces.
- Edits to measurements can have an impact on the terrain dataset surface that spans tile boundaries. Therefore, when one tile is made dirty, the build process includes the tile and its immediate neighbors, for a total of nine. When you make edits in contiguous tiles, you have a more efficient build process than when editing disparate tiles. Consider this in the editing workflow.
- When obtaining data to add to a terrain dataset, the data should be in the same projected coordinate system as the terrain dataset. Unknown coordinate systems are not recommended. Geographic coordinates, such as decimal degrees, are not supported.
- Do not build a terrain dataset in an edit session.
- Do not perform schema editing in an edit session.