ArcObjects Library Reference  

esriGeoDatabaseExtensions Library Overview

Supported Products: ArcGIS Engine, ArcGIS Desktop, ArcGIS Server

Library Dependencies: System, SystemUI, Geometry, Display, Server, Output, GeoDatabase, GISClient, ArcWeb, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, DataSourcesNetCDF, GeoDatabaseDistributed

Additional library information: Contents, Object Model Diagram

 

This content is also available in versions that specifically target .NET and Java developers. Click on the appropriate link to view either version.
        .NET overview of the GeoDatabaseExtensions assembly
        Java overview of the GeoDatabaseExtensions package


The GeoDatabaseExtensions library contains objects to aid in the creation, management, and use of terrain datasets and cadastral fabrics.

The objects that implement this functionality are grouped into a number of library sub systems. These library sub systems are:

Cadastral Fabric

A Cadastral Fabric is a representation of the information held in legal land records such as survey subdivision plans, and legal deed descriptions. A cadastral fabric is a continuous surface of connected land parcels. Parcel boundary line dimensions in the cadastral fabric match the dimensions on the survey record. The cadastral 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 cadastral 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 figure above shows the relationships between the different fabric classes representing the primary data storage model:


The extension used to edit the cadastral fabric data is Survey Analyst's Cadastral Editor. The Cadastral Editor is used to improve the spatial positions of the cadastral fabric's parcel corners, using methods that have been developed by cadastral land surveyors. For more information see the overview for the GeoSurvey Engine library.


Job Management Model

A cadastral fabric job is a collection of parcels and control points that have been extracted from a cadastral fabric dataset, usually for the purpose of adding new cadastral record information, or for updating/correcting cadastral record information.


The figure above shows the basic structure and tables for the job management model.

  • 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 id's of parcels and control points and the role that they have within the job.

  • Feature Adjustment Model

    The Cadastral Fabric provides control for the geometry of standard GIS features. The Feature Adjustment infrastructure is designed to capture the adjustments generated by the Cadastral Editor, and to apply 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 (cadastral fabric points). This funcitonality is designed to work in a multi-user environment where there are many different edits being performed in addition to the feature adjustments themselves.

    Standard feature classes need to be associated with the cadastral fabric in order for them to subscribe to these transformations.




    The figure above shows the relationships between the different tables classes representing the feature adjustment model:

  • 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 cadastral fabric.
  • AdjustmentLevels table stores information about which feature classes in the rest of the geodatabase are subscribers to the cadastral fabric adjustments/transformations. This table also stores the adjustment level to which each of these subscriber feature classes have been adjusted.



  • This figure shows a representation of the displacement vectors and adjustment areas stored in the cadastral fabric.

    Cadastral Fabric Datasets

    Cadastral Fabrics are created and managed using the following classes: CadastralFabricFDExtension, CadastralFabric, CadastralTableFieldEdits, CadastralJob, and CadastralTransormationData.

    CadastralJob Class

    This class is used to manage the references to the objects from the cadastral fabric that are used in a Cadastral Fabric job.

    CadastralFabric Class

    The CadastralFabric class is used for two primary purposes. First, to manage the collection of jobs in the cadastral fabric, and second, to get access to the individial fabric classes (tables) that make up the cadastral fabric schema and data model.

    CadastralFabricFDExtension Class

    The CadastralFabricFDExtension class is used together with the data element DECadastralFabric class to create and manage the properties of a Cadastral Fabric dataset.

    CadastralTableFieldEdits Class

    The CadastralTableFieldEdits class is used to manage the extended attributes on the fabric classes of a Cadastral Fabric dataset.

    CadastralTransormationData Class

    The CadastralTransormationData class is used to manage the feature classes that subscribe to the feature adjustment functionality of the Cadastral Fabric dataset as associated feature classes.


    Terrain Dataset

    The creation, management, and use of Terrains are achieved primarily through four classes: Terrain, TerrainPyramidLevel, TerrainDataSource, and DynamicSurface.

    Terrain

    A Terrain is a multi-resolution, TIN based, surface comprised of measurements stored in feature classes inside a geodatabase. A terrain lives 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 along with rules that control how the measurements get used. TIN surfaces are made on-the-fly based on terrain queries that extract measurements on demand.

    TerrainPyramidLevel

    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 reach where all measurements get used.

    TerrainPyramidLevel is an abstract class. TerrainPyramidLevelZTolerance is available for defining pyramid levels based on vertical tolerance.

    TerrainDataSource

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

    DynamicSurface

    A DynamicSurface is instantiated by a Terrain and is used to extract TINs, rasters, and measurements based on area of interest and level of detail queries.

    TerrainDataImporter

    TerrainDataImporter is an abstract class. Two types of importers are TerrainAsciiDataImporter and TerrainLasDataImporter. These are used to import 3-D measuremement data suitable for use in a Terrain. The ASCII data importer reads points in XYZ and 3-D GENERATE text file formats. The LAS importer is for LiDAR data stored in the LAS binary format.