|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IDynamicSurface2
Provides access to members that utilize Terrain surfaces.
This interface is new at ArcGIS 9.3. It supersedes IDynamicSurface.
Method Summary | |
---|---|
void |
getLineOfSight(IPoint pObserver,
IPoint pTarget,
double resolution,
ITrackCancel pTrackCancel,
IPoint[] ppObstruction,
IPolyline[] ppVisibleLines,
IPolyline[] ppInvisibleLines,
boolean[] pbIsVisible,
boolean bApplyCurvature,
boolean bApplyRefraction,
Object pRefractionFactor)
Returns a line-of-sight. |
void |
getLineOfSightFeatureCursor(IFeatureCursor pCursor,
double resolution,
ITrackCancel pTrackCancel,
IFeatureClass pOutputLines,
IFeatureClass pObstructionPoints,
boolean bApplyCurvature,
boolean bApplyRefraction,
Object pRefractionFactor)
Get line-of-sight. |
IPolygon |
getTileBasedDataArea(ITrackCancel pTrackCancel)
Get tile-based terrain's Data Area. |
void |
interpolateFeatureClass(IFeatureClass pInFeatureClass,
IQueryFilter pFilter,
double resolution,
int type,
IFeatureClass pOutFeatureClass,
ITrackCancel pTrackCancel,
Object pStepSize)
Interpolates z values for features. |
void |
interpolateFeatureClassVertices(IFeatureClass pInFeatureClass,
IQueryFilter pFilter,
double resolution,
int type,
IFeatureClass pOutFeatureClass,
ITrackCancel pTrackCancel)
Interpolates z values for features. |
void |
interpolateFeatureCursor(IFeatureCursor pCursor,
double resolution,
int type,
IFeatureClass pOutFeatureClass,
ITrackCancel pTrackCancel,
Object pStepSize)
Interpolates z values for features. |
void |
interpolateFeatureCursorVertices(IFeatureCursor pCursor,
double resolution,
int type,
IFeatureClass pOutFeatureClass,
ITrackCancel pTrackCancel)
Interpolates z values for features. |
void |
interpolateShape(IGeometry pInShape,
double resolution,
int type,
ITrackCancel pTrackCancel,
IGeometry[] ppOutShape,
Object pStepSize)
Interpolates z values for a defined geometric shape. |
void |
interpolateShapeVertices(IGeometry pInShape,
double resolution,
int type,
ITrackCancel pTrackCancel,
IGeometry[] ppOutShape)
Interpolates z values for a defined geometric shape. |
boolean |
isCanDoCurvature()
Indicates if earth curvature can be applied. |
boolean |
isMinimizeResourceUsage()
Indicates whether or not resource uasge should be minimized. |
boolean |
isRefineBoundaryMatching()
Indicates whether or not to refine boundary matching. |
void |
setMinimizeResourceUsage(boolean pbMinimize)
Indicates whether or not resource uasge should be minimized. |
void |
setRefineBoundaryMatching(boolean pbRefine)
Indicates whether or not to refine boundary matching. |
Methods inherited from interface com.esri.arcgis.geodatabaseextensions.IDynamicSurface |
---|
getRasterBlockSize, getTerrain, getTin, queryAsFeatureClass, queryRaster, setRasterBlockSize |
Method Detail |
---|
void setMinimizeResourceUsage(boolean pbMinimize) throws IOException, AutomationException
pbMinimize
- The pbMinimize (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isMinimizeResourceUsage() throws IOException, AutomationException
By default, MinimizeResourceUsage is set to FALSE: if possible, it will construct TINs, from which to interpolate heights, using multiple terrain tiles at once. This applies to interpolation for both features and rasters. Whether or not it can do this depends on the amount of data required for the given area of interest, desired pyramid level, and available physical memory. This approach tends to improve performance at the expense of some memory resources. Setting the property to TRUE forces the terrain to triangulate no more than one tile at a time in memory, interpolating heights in an iterative, chunked, fashion. This sacrifices performance in favor of minimizing memory use.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setRefineBoundaryMatching(boolean pbRefine) throws IOException, AutomationException
pbRefine
- The pbRefine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isRefineBoundaryMatching() throws IOException, AutomationException
Operations such as rasterization and feature interpolation are performed iteratively on chuncks of terrain data. One or more contiguous terrain tiles are used to form chunks. When using a pyramid level other than full resolution the surfaces between neighboring chunk boundaries may not align, resulting in artifacts. Setting RefineBoundaryMatching to TRUE improves the match between these boundaries.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void interpolateShape(IGeometry pInShape, double resolution, int type, ITrackCancel pTrackCancel, IGeometry[] ppOutShape, Object pStepSize) throws IOException, AutomationException
pInShape is the input geometry for which heights will be interpolated. The shape types supported are points, multipoints, polylines, and polygons.
Resolution controls which pyramid level of the terrain to use as a surface. Depending on the type of filter used to generate the terrain pyramid, resolution represents either the z-tolerance or window size of the desired pyramid level. Pass a value of 0.0 to use the full resolution surface.
Type is used to control which interpolant is applied; linear or natural neighbors.
pTrackCancel supports process interruption. This can be set to NULL ('Nothing' in VB).
pOutShape is a placeholder for the resulting 3D geometry. It does not need to reference an instantiated, empty geometry. The geometry will be created by the function. The result will be NULL ('Nothing' in VB) if the input geometry does not have any overlap with the 2D extent of the surface.
stepSize is used to densify input polylines and polygon boundaries. If stepsize is omitted input polylines and polygon boundaries will be densified where they intersect terrain triangle edges. Typically, stepSize should be omitted when using linear interpolation because the 'natural' densification applied with triangle edges is sufficient to capture what information is available in the surface.
Notes
This function is best used to interpolate heights for one feature that crosses over multiple terrain tiles which, at the desired resolution, can't all be held in memory. An alternative is IDynamicSurface2.InterpolateFeatureClass, which is optimized for processing multiple features. If multiple features fall within an extent of the terrain which can be held in memory (estimate this using ITerrain.GetPointCount) then consider using IDynamicSurface.GetTin followed by ISurface.InterpolateShape on the TIN. Another approach would be to retreive a TIN using ITerrainLayer.GetCurrentSurface followed by ISurface.InterpolateShape on the TIN if the current representation of a terrain layer's surface is sufficient.
pInShape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)ppOutShape
- A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)pStepSize
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void interpolateShapeVertices(IGeometry pInShape, double resolution, int type, ITrackCancel pTrackCancel, IGeometry[] ppOutShape) throws IOException, AutomationException
pInShape is the input geometry for which heights will be interpolated. The shape types supported are points, multipoints, polylines, and polygons. Heights will only be calculated for input vertices. No densification of polyline or polygon vertices takes place.
Resolution controls which pyramid level of the terrain to use as a surface. Depending on the type of filter used to generate the terrain pyramid, resolution represents either the z-tolerance or window size of the desired pyramid level. Pass a value of 0.0 to use the full resolution surface.
Type is used to control which interpolant is applied; linear or natural neighbors.
pTrackCancel supports process interruption. This can be set to NULL ('Nothing' in VB).
pOutShape is a placeholder for the resulting 3D geometry. It does not need to reference an instantiated object. The geometry will be created by the function. The result will be NULL ('Nothing' in VB) if any part of the geometry falls outside the surface.
Notes
This function is best used to interpolate heights for one feature that crosses over multiple terrain tiles which, at the desired resolution, can't all be held in memory. An alternative is IDynamicSurface2.InterpolateFeatureClassVertices, which is optimized for processing multiple features. If multiple features fall within an extent of the terrain which can be held in memory (estimate this using ITerrain.GetPointCount) then consider using IDynamicSurface.GetTin followed by ISurface.InterpolateShapeVertices on the TIN. Another approach would be to retreive a TIN using ITerrainLayer.GetCurrentSurface followed by ISurface.InterpolateShapeVertices on the TIN if the current representation of a terrain layer's surface is sufficient.
pInShape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)ppOutShape
- A reference to a com.esri.arcgis.geometry.IGeometry (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void interpolateFeatureClass(IFeatureClass pInFeatureClass, IQueryFilter pFilter, double resolution, int type, IFeatureClass pOutFeatureClass, ITrackCancel pTrackCancel, Object pStepSize) throws IOException, AutomationException
InterpolateFeatureClass interpolates heights for shapes from an input feature class into a new feature class. The output will contain 3D geometry.
pInFeatureClass contains the input features. The shape types supported are points, multipoints, polylines, and polygons.
pFilter is a query filter used on the input features. It may be set to NULL ('Nothing n VB).
Resolution controls which pyramid level of the terrain to use as a surface. Depending on the type of filter used to generate the terrain pyramid, resolution represents either the z-tolerance or window size of the desired pyramid level. Pass a value of 0.0 to use the full resolution surface.
Type is used to control which interpolant is applied; linear or natural neighbors.
pOutFeatureClass is where features are written. It must be z-enabled (i.e.; IGeometryDef.HasZ = TRUE). Attribute fields and values will be copied from the input to the output. Input features that fall completely off the surface will not be written to the output.
pTrackCancel supports process interruption. This can be set to NULL ('Nothing' in VB).
stepSize is used to densify input polylines and polygon boundaries. If stepsize is omitted input polylines and polygon boundaries will be densified where they intersect terrain triangle edges. Typically, stepSize should be omitted when using linear interpolation because the 'natural' densification applied with triangle edges is sufficient to capture what information is available in the surface.
pInFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pOutFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)pStepSize
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void interpolateFeatureCursor(IFeatureCursor pCursor, double resolution, int type, IFeatureClass pOutFeatureClass, ITrackCancel pTrackCancel, Object pStepSize) throws IOException, AutomationException
If stepsize is omitted, and the interpolation option is set to natural neighbors, input polylines and polygon boundaries will be densified where they intersect terrain triangle edges.
pCursor
- A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pOutFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)pStepSize
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void interpolateFeatureClassVertices(IFeatureClass pInFeatureClass, IQueryFilter pFilter, double resolution, int type, IFeatureClass pOutFeatureClass, ITrackCancel pTrackCancel) throws IOException, AutomationException
pInFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pOutFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (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.void interpolateFeatureCursorVertices(IFeatureCursor pCursor, double resolution, int type, IFeatureClass pOutFeatureClass, ITrackCancel pTrackCancel) throws IOException, AutomationException
pCursor
- A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)resolution
- The resolution (in)type
- A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)pOutFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (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.boolean isCanDoCurvature() throws IOException, AutomationException
Indicates whether earth curvature correction can be applied to line of sight functions. The result will be TRUE as long as both XY and Z coordinate systems for the terrain are defined.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getLineOfSight(IPoint pObserver, IPoint pTarget, double resolution, ITrackCancel pTrackCancel, IPoint[] ppObstruction, IPolyline[] ppVisibleLines, IPolyline[] ppInvisibleLines, boolean[] pbIsVisible, boolean bApplyCurvature, boolean bApplyRefraction, Object pRefractionFactor) throws IOException, AutomationException
pObserver
- A reference to a com.esri.arcgis.geometry.IPoint (in)pTarget
- A reference to a com.esri.arcgis.geometry.IPoint (in)resolution
- The resolution (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)ppObstruction
- A reference to a com.esri.arcgis.geometry.IPoint (out: use single element array)ppVisibleLines
- A reference to a com.esri.arcgis.geometry.IPolyline (out: use single element array)ppInvisibleLines
- A reference to a com.esri.arcgis.geometry.IPolyline (out: use single element array)pbIsVisible
- The pbIsVisible (out: use single element array)bApplyCurvature
- The bApplyCurvature (in)bApplyRefraction
- The bApplyRefraction (in)pRefractionFactor
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getLineOfSightFeatureCursor(IFeatureCursor pCursor, double resolution, ITrackCancel pTrackCancel, IFeatureClass pOutputLines, IFeatureClass pObstructionPoints, boolean bApplyCurvature, boolean bApplyRefraction, Object pRefractionFactor) throws IOException, AutomationException
pCursor
- A reference to a com.esri.arcgis.geodatabase.IFeatureCursor (in)resolution
- The resolution (in)pTrackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)pOutputLines
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pObstructionPoints
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)bApplyCurvature
- The bApplyCurvature (in)bApplyRefraction
- The bApplyRefraction (in)pRefractionFactor
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPolygon getTileBasedDataArea(ITrackCancel pTrackCancel) throws IOException, AutomationException
GetTileBasedDataArea returns a polygon that represents the union of the terrain's data tiles. It ignores the presense of any clip or erase features. This function provides a relatively fast means of extracting a rough approximation of the terrain's data area.
pTrackCancel is a reference to a CancelTracker which can be used to escape the process. A NULL pointer ('Nothing' in VB) can be past if desired.
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 |