|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.interop.Dispatch com.esri.arcgis.geodatabaseextensions.ITerrainProxy
public class ITerrainProxy
Provides access to members used to acquire information about a Terrain and to retrieve DynamicSurface objects from which raster and TIN surfaces are made.
The ITerrain interface is used to acquire information about a terrain and its data sources. Additionally, it's used to retrieve DynamicSurface objects which extract terrain information in the form of rasters, TINs, and measurement points.
Field Summary | |
---|---|
boolean |
noncastable
|
Fields inherited from class com.esri.arcgis.interop.Dispatch |
---|
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Constructor Summary | |
---|---|
|
ITerrainProxy()
|
|
ITerrainProxy(Object obj)
|
protected |
ITerrainProxy(Object obj,
String iid)
|
Method Summary | |
---|---|
void |
addListener(String iidStr,
Object theListener,
Object theSource)
|
IDynamicSurface |
createDynamicSurface()
Returns an implicit surface from which TINs and rasters are derived. |
void |
extractFromEmbeddedDataSource(int index,
IFeatureClass pFeatureClass,
IEnvelope pAOI,
double resolution,
ITrackCancel pTrackCancel)
Copies features of an embedded data source to the specified feature class. |
ITerrainDataSource |
getDataSource(int index)
Returns the data source specified by the index. |
int |
getDataSourceCount()
The number of data sources participating in the terrain. |
IEnumEnvelope |
getDirtyTiles()
Returns all dirty tiles. |
IEnvelope |
getExtent()
The approximate xyz extent of the terrain. |
IFeatureDataset |
getFeatureDataset()
The feature dataset which contains the terrain. |
int |
getID()
The database identifier of the terrain. |
int |
getMaxOverviewTerrainPoints()
The maximum number of points in the most generalized representation of a Terrain. |
int |
getMaxPointsPerShape()
The maximum number of vertices per multipoint. |
String |
getName()
The name of the terrain. |
double |
getPointCount(IEnvelope pAOI,
double resolution)
Returns the approximate number of points in the terrain within a given area and at a particular pyramid level. |
ITerrainPyramidLevel |
getPyramidLevel(int index)
Returns the pyramid level specified by the index. |
int |
getPyramidLevelCount()
The number of pyramid levels in the terrain. |
int |
getPyramidType()
The pyramid type of this Terrain. |
double |
getSize()
The total number of points in the Terrain. |
ISpatialReference |
getSpatialReference()
The spatial reference of the terrain. |
double |
getTileSize()
The horizontal distance used to spatially index and partition terrain data. |
boolean |
isDirty()
Indicates whether or not a partial rebuild is needed. |
boolean |
isValid()
Indicates whether or not a full build is required. |
void |
queryTileInfo(int[] pRowBegin,
int[] pRowEnd,
int[] pColBegin,
int[] pColEnd,
double[] pXMin,
double[] pYMin,
double[] pTileSize,
int[] pRowCountDomain,
int[] pColCountDomain)
Returns horizontal partitioning information about the terrain data. |
void |
removeListener(String iidStr,
Object theListener)
|
Methods inherited from class com.esri.arcgis.interop.Dispatch |
---|
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public boolean noncastable
Constructor Detail |
---|
public ITerrainProxy()
public ITerrainProxy(Object obj) throws IOException
IOException
protected ITerrainProxy(Object obj, String iid) throws IOException
IOException
Method Detail |
---|
public void addListener(String iidStr, Object theListener, Object theSource) throws IOException
addListener
in class com.esri.arcgis.interop.Dispatch
IOException
public void removeListener(String iidStr, Object theListener) throws IOException
removeListener
in class com.esri.arcgis.interop.Dispatch
IOException
public String getName() throws IOException, AutomationException
getName
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getID() throws IOException, AutomationException
ID is the internal database identifier for the terrain.
getID
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSize() throws IOException, AutomationException
Size is the total number of 3D mass point and breakline vertices in the terrain. The count does not consider the effect of clip or erase features and it does not include vertices of z-less features.
getSize
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isValid() throws IOException, AutomationException
Indicates whether the terrain schema has been modified since the last Build. When IsValid is FALSE the terrain must be built in order to be used.
Schema edits on terrains include the addition or removal of feature classes and pyramid levels.
isValid
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isDirty() throws IOException, AutomationException
Indicates whether edits have taken place on feature classes that participate in the terrain. When IsDirty is TRUE a Build is needed to reconstruct the pyramid layers for the terrain tiles in which the edits have occurred.
isDirty
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ISpatialReference getSpatialReference() throws IOException, AutomationException
getSpatialReference
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
Extent returns the tile boundary of the terrain for XY and Z.
getExtent
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDataset getFeatureDataset() throws IOException, AutomationException
getFeatureDataset
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getDataSourceCount() throws IOException, AutomationException
The DataSourceCount represents the number of feature classes that participate in the terrain. This includes regular and embedded feature classes.
getDataSourceCount
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITerrainDataSource getDataSource(int index) throws IOException, AutomationException
getDataSource
in interface ITerrain
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getPyramidLevelCount() throws IOException, AutomationException
The PyramidLevelCount is the number of pyramid levels defined for the terrain excluding the implicit full resolution level and also the coarsest level, the terrain overview.
getPyramidLevelCount
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITerrainPyramidLevel getPyramidLevel(int index) throws IOException, AutomationException
getPyramidLevel
in interface ITerrain
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getTileSize() throws IOException, AutomationException
The TileSize is the horizontal distance of the side of a terrain tile. Tiles are square. Terrain uses a tile system to divide measurement data into manageable chunks for iterative processing. The size should be set relative to the average point spacing of the data used to build the terrain such that each tile holds between one and two hundred thousand mass points and breakline vertices.
See also ITerrain.QueryTileInfo.
getTileSize
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getPyramidType() throws IOException, AutomationException
At this time the only type of terrain pyramid is one based on z-tolerance. On a tile by tile basis, subsets of measurements are selected to contribute to pyramid levels. The surface for each level can only deviate from the next higher higher level of detail by an amount up to the z-tolerance.
getPyramidType
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxOverviewTerrainPoints() throws IOException, AutomationException
The overview is the coarsest representation of a terrain. It's like a vector based thumbnail. The primary intention of the overview is to enable a terrain to draw quickly when zoomed to its full extent, when detail and accuracy are not needed. The default for MaxOverviewTerrainPoints is 50,000.
getMaxOverviewTerrainPoints
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxPointsPerShape() throws IOException, AutomationException
Terrain pyramids are comprised of mass points and breakline vertices. These are stored as a collection of multipoints. MaxPointsPerShape controls how large an individual multipoint can get. The default is 5000.
getMaxPointsPerShape
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryTileInfo(int[] pRowBegin, int[] pRowEnd, int[] pColBegin, int[] pColEnd, double[] pXMin, double[] pYMin, double[] pTileSize, int[] pRowCountDomain, int[] pColCountDomain) throws IOException, AutomationException
The feature dataset containing the terrain is logically tiled, in its entirety, to form the tile scheme with its origin in the southwest corner. Tiles are square. Row and column numbering starts at base 1. The data area of the terrain may not fill the extent of the feature dataset so it's possible that only a subset of rows and columns are involved. This method provides the info about those tiles overlapping the terrain extent.
The returned row and column numbers represent the rectangular subset of tiles that intersect the terrain extent. Row and column numbering start at base 1 with the first row and column being in the southwest corner of the feature dataset.
The xmin and ymin are the real world coordinates for the lower left corner of the origin tile of the terrain.
The tilesize is the horizontal length of one of the square tiles and is equal to that specified when the terrain was created.
queryTileInfo
in interface ITerrain
pRowBegin
- The pRowBegin (out: use single element array)pRowEnd
- The pRowEnd (out: use single element array)pColBegin
- The pColBegin (out: use single element array)pColEnd
- The pColEnd (out: use single element array)pXMin
- The pXMin (out: use single element array)pYMin
- The pYMin (out: use single element array)pTileSize
- The pTileSize (out: use single element array)pRowCountDomain
- The pRowCountDomain (out: use single element array)pColCountDomain
- The pColCountDomain (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumEnvelope getDirtyTiles() throws IOException, AutomationException
Each envelope returned by the enumerator represents the map based extent of a dirty tile.
getDirtyTiles
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getPointCount(IEnvelope pAOI, double resolution) throws IOException, AutomationException
GetPointCount returns the number of points and breakline vertices, at a particular pyramid level, for those terrain tiles intersected by a given envelope. This yields a relatively quick estimate, albeit over-estimated, of the size of the terrain for that area and vertical tolerance. Only 3-D measurements are counted. Z-less line and polygon vertices are excluded.
GetPointCount will return an error when called on a terrain that is in need of being built. That is, when ITerrain.IsValid returns FALSE. Ensure the terrain IsValid before calling this member.
getPointCount
in interface ITerrain
pAOI
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)resolution
- The resolution (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDynamicSurface createDynamicSurface() throws IOException, AutomationException
CreateDynamicSurface will return an error when called on a terrain that is in need of being built. That is, when ITerrain.IsValid returns FALSE. Ensure the terrain IsValid before calling this member.
createDynamicSurface
in interface ITerrain
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void extractFromEmbeddedDataSource(int index, IFeatureClass pFeatureClass, IEnvelope pAOI, double resolution, ITrackCancel pTrackCancel) throws IOException, AutomationException
Copies points from an embedded source into the target feature class.
index references the data source to use. This should be in the range of 0 to n-1 where n represents the number of data sources in the terrain, but it must also be a source which is embedded.
pFeatureClass is the target feature class, where the points will be written.
pAOI is the area of interest envelope. Points within the AOI will be extracted. This can be set to a NULL pointer ('Nothing' in VB) if the entire extent of the terrain is desired.
resolution indicates which pyramid level should be used for extraction. A value of 0.0 will extract the full resolution data. Any other value should correspond to one of the values used to define the terrain's pyramid. If you don't provide an exact match the software will round down to the next closest level.
pTrackCancel is a reference to a Cancel Tracker object that can be used to monitor progress and/or cancel the process. This can be set to a NULL pointer ('Nothing' in VB) if desired.
Notes
extractFromEmbeddedDataSource
in interface ITerrain
index
- The index (in)pFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pAOI
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)resolution
- The resolution (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |