com.esri.arcgis.geodatabaseextensions
Interface ITerrainDataSource

All Superinterfaces:
Serializable
All Known Subinterfaces:
ITerrainDataSource2
All Known Implementing Classes:
ITerrainDataSource2Proxy, ITerrainDataSourceProxy, TerrainDataSource

public interface ITerrainDataSource
extends Serializable

Provides access to members of Terrain Data Source.

Description

ITerrainDataSource is used to set and get terrain specific properties associated with a feature class that participates in a terrain.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 int getFeatureClassID()
          The unique database identifier for the feature class.
 int getGroupID()
          The identifier of the terrain's thematic group to which this feature class belongs.
 String getHeightField()
          The database column providing heights for the features.
 int getSurfaceFeatureType()
          Indicates how the features are used to define the terrain surface.
 String getTagValueField()
          The database column providing tag values for TIN elements derived from the terrain.
 boolean isApplyToOverviewTerrain()
          Indicates if the 'breakline' data source should be added to the overview Terrain.
 boolean isEmbedded()
          Indicates whether or not the data source is contained by the terrain.
 void queryResolutionBounds(double[] pLowerBound, double[] pUpperBound)
          Returns the lower and upper resolution bounds in which the line/area data source participates in the triangulation.
 void setApplyToOverviewTerrain(boolean pbApply)
          Indicates if the 'breakline' data source should be added to the overview Terrain.
 void setFeatureClassID(int pClassID)
          The unique database identifier for the feature class.
 void setGroupID(int pGroupID)
          The identifier of the terrain's thematic group to which this feature class belongs.
 void setHeightField(String pFieldName)
          The database column providing heights for the features.
 void setResolutionBounds(double lowerBound, double upperBound)
          Sets the lower and upper resolution bounds in which the line/area data source participates in the triangulation.
 void setSurfaceFeatureType(int pType)
          Indicates how the features are used to define the terrain surface.
 void setTagValueField(String pFieldName)
          The database column providing tag values for TIN elements derived from the terrain.
 

Method Detail

setFeatureClassID

void setFeatureClassID(int pClassID)
                       throws IOException,
                              AutomationException
The unique database identifier for the feature class.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pClassID - The pClassID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureClassID

int getFeatureClassID()
                      throws IOException,
                             AutomationException
The unique database identifier for the feature class.

Description

The database ID of the feature class representing the data source. See IFeatureClass.FeatureClassID.

The ID for an embedded feature class may change after a call to ITerrainEdit.Build.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGroupID

void setGroupID(int pGroupID)
                throws IOException,
                       AutomationException
The identifier of the terrain's thematic group to which this feature class belongs.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pGroupID - The pGroupID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGroupID

int getGroupID()
               throws IOException,
                      AutomationException
The identifier of the terrain's thematic group to which this feature class belongs.

Description

Groups are feature classes representing the same phenomena at different levels of detail. For example, you can have very detailed breaklines for ‘edge of road’ and more generalized breaklines that are ‘center of road’. Each is to be used at different scales. Assigning them the same group id will tell terrain they are thematically alike but must be enforced only in non-overlapping scale ranges.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pGroupID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeightField

void setHeightField(String pFieldName)
                    throws IOException,
                           AutomationException
The database column providing heights for the features.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pFieldName - The pFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeightField

String getHeightField()
                      throws IOException,
                             AutomationException
The database column providing heights for the features.

Description

The HeightField is the name of the database column providing heights for the features. It can be the shape field name if the z values are to come from the feature geometry. It can be a numeric field in the case where z values are to come from an attribute. This parameter can also be left unset, or set to an empty string, if the features are to be incorporated into the terrain without z values (e.g. z-less clip polygon boundary).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTagValueField

void setTagValueField(String pFieldName)
                      throws IOException,
                             AutomationException
The database column providing tag values for TIN elements derived from the terrain.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pFieldName - The pFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTagValueField

String getTagValueField()
                        throws IOException,
                               AutomationException
The database column providing tag values for TIN elements derived from the terrain.

Description

The TagValueField is the name of the database column providing tags for derived terrain TIN elements. Tag values are integers (signed longs), with user defined meaning, that can be assigned to nodes, edges, or triangles. They are used as a simple form of attribution.

This parameter can remain unset, or set to an empty string, if tags are not to be assigned from this data source.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSurfaceFeatureType

void setSurfaceFeatureType(int pType)
                           throws IOException,
                                  AutomationException
Indicates how the features are used to define the terrain surface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pType - A com.esri.arcgis.geodatabase.esriTinSurfaceType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceFeatureType

int getSurfaceFeatureType()
                          throws IOException,
                                 AutomationException
Indicates how the features are used to define the terrain surface.

Description

The SurfaceFeatureType, or SFType for short, indicates how the features are used to define the terrain surface. There are five major types defined via the esriTinSurfaceType enumeration:

Mass: points, polyline vertices, or polygon vertices are inserted as simple nodes.

Line: line segments are enforced in triangulation as triangle edges.

Replace: everything on the perimeter and inside the polygon are assigned the same height.

Erase: all triangles inside the polygon are masked as NoData. Rendering and interpolation will not occur in these areas.

Clip: all triangles outside the polygon are masked as NoData. Rendering and interpolation will not occur in these areas.

ValueFill: all triangles inside the polygon are assigned a tag value as a simple form of attribution.

All types but mass, have 'soft' and 'hard' qualifiers. This distinction between hard and soft is a property that is assigned to line and polygon boundary edges enforced in the triangulation. The property influences the behavior of the natual neighbors interpolator: the surface is smooth across soft break edges but has a disinct break in slope across hard edges. See also Natural Neighbors interpolant.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A com.esri.arcgis.geodatabase.esriTinSurfaceType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setApplyToOverviewTerrain

void setApplyToOverviewTerrain(boolean pbApply)
                               throws IOException,
                                      AutomationException
Indicates if the 'breakline' data source should be added to the overview Terrain.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pbApply - The pbApply (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isApplyToOverviewTerrain

boolean isApplyToOverviewTerrain()
                                 throws IOException,
                                        AutomationException
Indicates if the 'breakline' data source should be added to the overview Terrain.

Description

ApplyToOverviewTerrain is a boolean that indicates whether this data source contributes to the overview representation. It's a choice for line and polygon based data. It must be set to TRUE for mass point data or an error will be returned.

The terrain overview is the coarsest representation of terrain. It's like a vector based thumbnail.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbApply
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEmbedded

boolean isEmbedded()
                   throws IOException,
                          AutomationException
Indicates whether or not the data source is contained by the terrain.

Description

Indicates whether the feature class is embedded in the terrain. If set to TRUE the feature class is contained by the terrain, rather than referenced by it like regular feature classes, and is not visible from ArcCatalog. Operations on it must be performed through terrain related functions.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbEmbedded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setResolutionBounds

void setResolutionBounds(double lowerBound,
                         double upperBound)
                         throws IOException,
                                AutomationException
Sets the lower and upper resolution bounds in which the line/area data source participates in the triangulation.

Description

The resolution bounds are used by feature classes added as breakline and polygon surface feature types. The bounds represent the pyramid levels in which the features are enforced. The lower bound is inclusive, the upper exclusive. For example, a data source with a lower bound of 0.0 and an upper bound of 5.1 will be enforced by the terrain for pyramid layers whose resolution is >= 0.0 and < 5.1.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
lowerBound - The lowerBound (in)
upperBound - The upperBound (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryResolutionBounds

void queryResolutionBounds(double[] pLowerBound,
                           double[] pUpperBound)
                           throws IOException,
                                  AutomationException
Returns the lower and upper resolution bounds in which the line/area data source participates in the triangulation.

Description

The resolution bounds are used by feature classes added as breakline and polygon surface feature types. The bounds represent the pyramid levels in which the features are enforced. The lower bound is inclusive, the upper exclusive. For example, a data source with a lower bound of 0.0 and an upper bound of 5.1 will be enforced by the terrain for pyramid layers whose resolution is >= 0.0 and < 5.1.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pLowerBound - The pLowerBound (out: use single element array)
pUpperBound - The pUpperBound (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.