This document is archived and information here might be outdated.  Recommended version.


GeoDatabaseExtensions (ArcObjects .NET 10.5 SDK)

GeoDatabaseExtensions


Supported with:
  • Engine
  • ArcGIS for Desktop Basic
  • ArcGIS for Desktop Standard
  • ArcGIS for Desktop Advanced
  • Server
Library dependencies: Version, System, SystemUI, Geometry, GraphicsCore, Display, Server, Output, Geodatabase, GISClient, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, DataSourcesNetCDF, GeoDatabaseDistributed

Additional library information: Contents, Object Model Diagram

The GeodatabaseExtensions library contains objects that aid in the creation, management, and use of terrain datasets and parcel fabrics. Parcel fabrics are also known as cadastral fabrics. In general, the terms "parcel fabric" and "parcel editor" are used when referring to the product and user interface (UI). The terms "cadastral fabric" and "cadastral editor" are used in reference to the underlying library classes, properties, and methods.

See the following sections for more information about this namespace:

Parcel fabric

A parcel fabric is a representation of the information held in legal land records, such as survey subdivision plans and legal deed descriptions. A fabric is a continuous surface of connected land parcels. Parcel boundary line dimensions in the fabric match the dimensions on the survey record. The fabric data model defines a parcel-based topology that describes the arrangement for how parcels, boundary lines, and corner points share coincident geometry.
The structure of the parcel fabric includes its primary storage data model and two key supporting sub-components defined by the cadastral job management model and the feature adjustment model.

Primary data model

The following illustration shows the relationships between the different fabric classes representing the primary data storage model:
The following explains the components in the previous illustration:
  • Plans—Store information about the record of survey. The plan can contain just a single parcel or it can represent a simultaneous conveyance of multiple parcels. Conceptually, the meaning of a plan can range from a collection of parcels to a legal instrument conveying one or more parcels.
  • Parcel polygons—Defined by parcel lines.
  • Parcel lines—Store and preserve recorded boundary dimensions.
  • Parcel points—Store x,y,z coordinates.
  • Line points—Parcel corner points that lie on the boundaries of adjacent parcels.
  • Control points—Hold published coordinates for a surveyed physical location.

The Parcel Editor toolbar is used to edit fabric data. The Parcel Editor is used to improve the spatial positions of the fabric's parcel corners, using methods that have been developed by cadastral land surveyors. For more information, see the library overview for GeoSurvey.
Parcel fabrics are created and managed using the following classes:
  • CadastralJob class—Used to manage the references to the objects from the fabric that is used in a cadastral job.
  • CadastralFabric class—Used for the following two primary purposes:
    • First, to manage the collection of jobs in the parcel fabric.
    • Second, to get access to the individual fabric classes (tables) that make up the fabric schema and data model.
  • CadastralFabricFDExtension class—Used together with the data element DECadastralFabric class to create and manage the properties of a parcel fabric.
  • CadastralTableFieldEdits class—Used to manage the extended attributes on the fabric classes of a parcel fabric.
  • CadastralTransormationData class—Used to manage the feature classes that subscribe, as associated feature classes, to the feature adjustment functionality of the fabric.

Job management model

A cadastral job is a collection of parcels and control points that have been extracted from a parcel fabric, usually for the purpose of adding new parcel record information, or for updating and correcting parcel record information.
The following illustration shows the basic structure and tables for the job management model:
The following explains the components in the previous illustration:
  • CadastralJobs table—Stores information for a set of references to objects (control points and parcels) stored in the cadastral fabric.
  • JobObjects table—Stores references to the database IDs of parcels and control points, and the role they have within the job.

Feature adjustment model

The fabric provides control for the geometry of standard geographic information system (GIS) features. The feature adjustment infrastructure captures the adjustments generated by the Parcel Editor and applies them to standard feature classes.
The feature adjustment functionality is used to do transformations based on displacement vectors. Displacement vectors are created based on consecutive updates to the fabric points. Displacement vector sets are derived for a dataset by establishing the shifts between the previous and newly adjusted positions of parcel corners (parcel fabric points). This functionality works in a multi-user environment where there are many different edits being performed in addition to the feature adjustments. Standard feature classes need to be associated with the fabric for them to subscribe to these transformations.
The following illustration shows the relationships between the different tables' classes representing the feature adjustment model:
The following explains the components in the previous illustration:
  • Adjustments table—Stores information for the outer bounds (convex hull) of all the points in a cadastral job. It also stores an adjustment level ID.
  • AdjustmentVectors table—Stores the "from" coordinates and the "to" coordinates for each specific point that is a part of the cadastral job. This defines an adjustment vector and each adjustment vector has an adjustment level ID. The coordinates are stored in the coordinate system of the parcel fabric.
  • AdjustmentLevels table—Stores information about which feature classes in the rest of the geodatabase are subscribers to the fabric adjustments and transformations. This table also stores the adjustment level to which each of these subscriber feature classes have been adjusted.
This following illustration shows a representation of the displacement vectors and adjustment areas stored in the parcel fabric:

 


Terrains

The creation, management, and use of terrain datasets are achieved primarily through the following four classes:

Terrain class

A terrain is a multi-resolution, triangulated irregular network (TIN)-based surface comprised of measurements stored in feature classes inside a geodatabase. The terrain component resides in a feature dataset next to the feature classes that participate in the terrain. While terrains are TIN based, the triangle-based structure is not actually persisted. Rather, just the measurements are stored with rules that control how the measurements are used. TIN surfaces are made on-the-fly based on terrain queries that extract measurements on demand.

TerrainPyramidLevel class

A terrain pyramid is a vector-based structure used to optimize surface-based queries on original source measurement data. Just the measurements that are required for a given area of interest (AOI) and level of detail (LOD) are pulled from the geodatabase and triangulated into a memory-based TIN. The surface is dynamic, changing based on AOI and LOD queries.
A terrain pyramid arranges the measurements into levels that are used for scale dependent generalization. Relatively few measurements are in the coarsest level for small scale applications that require less accuracy. Additional measurements are included for higher detail levels until the full resolution level is reached where all measurements get used.
TerrainPyramidLevel is an abstract class. For defining pyramid levels based on vertical tolerance, see TerrainPyramidLevelZTolerance.

TerrainDataSource class

Each feature class that participates in a terrain has a set of properties that indicate how it contributes to the terrain surface. The feature class and its corresponding properties are encapsulated into the TerrainDataSource object.

DynamicSurface class

DynamicSurface is instantiated by terrain and is used to extract TINs, rasters, and measurements based on AOI and LOD queries.

TerrainDataImporter class

TerrainDataImporter is an abstract class. Two types of importers are TerrainAsciiDataImporter and TerrainLasDataImporter, which are used to import three-dimensional (3D) measurement data suitable for use in a terrain. The American Standard Code for Information Interchange (ASCII) data importer reads points in XYZ and 3D GENERATE text file formats. The LAS importer is for light detection and ranging (LIDAR) data stored in the LAS binary format.