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:
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.
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.
The figure above shows the basic structure and tables for the job management 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:
This figure shows a representation of the displacement vectors and adjustment areas stored in the cadastral fabric.
Cadastral Fabrics are created and managed using the following classes: CadastralFabricFDExtension, CadastralFabric, CadastralTableFieldEdits, CadastralJob, and CadastralTransormationData.
This class is used to manage the references to the objects from the cadastral fabric that are used in a Cadastral Fabric job.
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.
The CadastralFabricFDExtension class is used together with the data element DECadastralFabric class to create and manage the properties of a Cadastral Fabric dataset.
The CadastralTableFieldEdits class is used to manage the extended attributes on the fabric classes of a Cadastral Fabric dataset.
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.
The creation, management, and use of Terrains are achieved primarily through four classes: Terrain, TerrainPyramidLevel,
TerrainDataSource, and DynamicSurface.
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.
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.
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.
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 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.