com.esri.arcgis.geodatabaseextensions
Class TerrainDataSource

java.lang.Object
  extended by com.esri.arcgis.geodatabaseextensions.TerrainDataSource
All Implemented Interfaces:
ITerrainDataSource, ITerrainEmbeddedDataSource, ITerrainEmbeddedDataSource2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class TerrainDataSource
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ITerrainDataSource, ITerrainEmbeddedDataSource, ITerrainEmbeddedDataSource2

ESRI Terrain Data Source object.

Description

A TerrainDataSource represents a feature class that participates in the definition of a terrain. It is used to store all the terrain specific properties and rules for the feature class.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
TerrainDataSource()
          Constructs a TerrainDataSource using ArcGIS Engine.
TerrainDataSource(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
TerrainDataSource theTerrainDataSource = (TerrainDataSource) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 int getFeatureClassID()
          The unique database identifier for the feature class.
 ITerrainFieldStatistics getFieldStatistics(String fieldName)
          Returns the statistics of the specified Terrain blob field.
 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.
 String getName()
          The name of the embedded data source.
 IStringArray getReservedFields()
          Returns the names of the database fields associated with the data source that are copied into the terrain.
 IArray getReservedFieldStatistics()
          Returns the statistics of all the Terrain blob fields.
 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.
 int hashCode()
          the hashcode for this object
 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.
 boolean isToBeEmbedded()
          Indicates the terrain will copy the data and not have a dependency on the data source after the terrain is built.
 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 setName(String pName)
          The name of the embedded data source.
 void setReservedFields(IStringArray pFields)
          Set the names of the database fields associated with the data source that will be copied into the terrain.
 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.
 void setToBeEmbedded(boolean pbToBeEmbedded)
          Indicates the terrain will copy the data and not have a dependency on the data source after the terrain is built.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

TerrainDataSource

public TerrainDataSource()
                  throws IOException,
                         UnknownHostException
Constructs a TerrainDataSource using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

TerrainDataSource

public TerrainDataSource(Object obj)
                  throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
TerrainDataSource theTerrainDataSource = (TerrainDataSource) obj;

Construct a TerrainDataSource using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TerrainDataSource.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

setFeatureClassID

public 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.

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

getFeatureClassID

public 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.

Specified by:
getFeatureClassID in interface ITerrainDataSource
Returns:
The pClassID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGroupID

public 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.

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

getGroupID

public 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.

Specified by:
getGroupID in interface ITerrainDataSource
Returns:
The pGroupID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeightField

public 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.

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

getHeightField

public 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.

Specified by:
getHeightField in interface ITerrainDataSource
Returns:
The pFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTagValueField

public 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.

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

getTagValueField

public 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.

Specified by:
getTagValueField in interface ITerrainDataSource
Returns:
The pFieldName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSurfaceFeatureType

public 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.

Specified by:
setSurfaceFeatureType in interface ITerrainDataSource
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

public 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.

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

setApplyToOverviewTerrain

public 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.

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

isApplyToOverviewTerrain

public 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.

Specified by:
isApplyToOverviewTerrain in interface ITerrainDataSource
Returns:
The pbApply
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEmbedded

public 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.

Specified by:
isEmbedded in interface ITerrainDataSource
Returns:
The pbEmbedded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setResolutionBounds

public 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.

Specified by:
setResolutionBounds in interface ITerrainDataSource
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

public 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.

Specified by:
queryResolutionBounds in interface ITerrainDataSource
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.

setToBeEmbedded

public void setToBeEmbedded(boolean pbToBeEmbedded)
                     throws IOException,
                            AutomationException
Indicates the terrain will copy the data and not have a dependency on the data source after the terrain is built.

Product Availability

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

Specified by:
setToBeEmbedded in interface ITerrainEmbeddedDataSource
Parameters:
pbToBeEmbedded - The pbToBeEmbedded (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isToBeEmbedded

public boolean isToBeEmbedded()
                       throws IOException,
                              AutomationException
Indicates the terrain will copy the data and not have a dependency on the data source after the terrain is built.

Product Availability

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

Specified by:
isToBeEmbedded in interface ITerrainEmbeddedDataSource
Returns:
The pbToBeEmbedded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String pName)
             throws IOException,
                    AutomationException
The name of the embedded data source.

Product Availability

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

Specified by:
setName in interface ITerrainEmbeddedDataSource
Parameters:
pName - The pName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the embedded data source.

Product Availability

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

Specified by:
getName in interface ITerrainEmbeddedDataSource
Returns:
The pName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setReservedFields

public void setReservedFields(IStringArray pFields)
                       throws IOException,
                              AutomationException
Set the names of the database fields associated with the data source that will be copied into the terrain.

Description

Provide the names of the fields to embedd. Only certain kinds of fields are supported, such as those optionally created by the TerrainLasDataImporter.

Product Availability

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

Specified by:
setReservedFields in interface ITerrainEmbeddedDataSource
Parameters:
pFields - A reference to a com.esri.arcgis.system.IStringArray (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReservedFields

public IStringArray getReservedFields()
                               throws IOException,
                                      AutomationException
Returns the names of the database fields associated with the data source that are copied into the terrain.

Product Availability

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

Specified by:
getReservedFields in interface ITerrainEmbeddedDataSource
Returns:
A reference to a com.esri.arcgis.system.IStringArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFieldStatistics

public ITerrainFieldStatistics getFieldStatistics(String fieldName)
                                           throws IOException,
                                                  AutomationException
Returns the statistics of the specified Terrain blob field.

Description

Returns statistics for an attribute in a feature class that's embedded in a terrain dataset.

FieldName indicates which field to return statistics for. A NULL is returned if the field doesn't exist. An empty object is returned if statistics have yet to be calculated for the field. Test for that case using ITerrainFieldStatistics.IsEmpty.

Product Availability

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

Specified by:
getFieldStatistics in interface ITerrainEmbeddedDataSource2
Parameters:
fieldName - The fieldName (in)
Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ITerrainFieldStatistics
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getReservedFieldStatistics

public IArray getReservedFieldStatistics()
                                  throws IOException,
                                         AutomationException
Returns the statistics of all the Terrain blob fields.

Description

Returns statistics for attributes in an feature class that's embedded in a terrain dataset.

The array that's returned contains a TerrainFieldStatistics object for each attribute. A NULL is returned for the array if there are no attributes.

Product Availability

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

Specified by:
getReservedFieldStatistics in interface ITerrainEmbeddedDataSource2
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.