com.esri.arcgis.spatialanalyst
Class RasterHydrologyOp

java.lang.Object
  extended by com.esri.arcgis.spatialanalyst.RasterHydrologyOp
All Implemented Interfaces:
IGeoAnalysisEnvironment, IRasterAnalysisEnvironment, com.esri.arcgis.interop.RemoteObjRef, IHydrologyOp, IHydrologyOp2, ISupportErrorInfo, Serializable

public class RasterHydrologyOp
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRasterAnalysisEnvironment, IHydrologyOp, IHydrologyOp2, ISupportErrorInfo

A mechanism for performing hydrological operations on rasters.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
RasterHydrologyOp()
          Constructs a RasterHydrologyOp using ArcGIS Engine.
RasterHydrologyOp(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RasterHydrologyOp theRasterHydrologyOp = (RasterHydrologyOp) obj;
 
Method Summary
 IGeoDataset basin(IGeoDataset directionRaster)
          Creates a raster delineating all drainage basins.
 boolean equals(Object o)
          Compare this object with another
 IGeoDataset fill(IGeoDataset surfaceRaster, Object zLimit)
          Fills sinks in a surface to remove small imperfections in the data.
 IGeoDataset flowAccumulation(IGeoDataset directionRaster, Object weightRaster)
          Creates a raster of accumulated flow to each cell.
 IGeoDataset flowAccumulationInt(IGeoDataset directionRaster, Object weightRaster)
          Creates an integer raster of accumulated flow to each cell.
 IGeoDataset flowDirection(IGeoDataset surfaceRaster, boolean createDrop, boolean forceFlowAtEdge)
          Creates a raster of flow direction from each cell to it's steepest downslope neighbor.
 IGeoDataset flowLength(IGeoDataset directionRaster, boolean downStream, Object weightRaster)
          Calculates distance, or weighted distance along a flow path.
 void getCellSize(int[] envType, double[] cellSize)
          Gets the type and value of cell size in the RasterAnalysis.
static String getClsid()
          getClsid.
 String getDefaultOutputRasterPrefix()
          The default output raster prefix.
 String getDefaultOutputVectorPrefix()
          The default output vector prefix.
 void getExtent(int[] envType, IEnvelope[] extent)
          Gets the type and values of extent in the RasterAnalysis.
 IGeoDataset getMask()
          Mask allows processing to occur only for a selected set of cells.
 ISpatialReference getOutSpatialReference()
          The output spatial reference of GeoAnalysis.
 IWorkspace getOutWorkspace()
          The output workspace of GeoAnalysis.
 int getVerifyType()
          The verify type of the RasterAnalysis.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void reset()
          Remove all previously stored default rasteranalysis environments.
 void restoreToPreviousDefaultEnvironment()
          Restores to the previous default raster analysis environment.
 void setAsNewDefaultEnvironment()
          Sets the raster analysis environment of the object as new default environment.
 void setCellSize(int envType, Object cellSizeProvider)
          Sets the type and value of cell size in the RasterAnalysis.
 void setDefaultOutputRasterPrefix(String rasterPrefix)
          The default output raster prefix.
 void setDefaultOutputVectorPrefix(String vectorPrefix)
          The default output vector prefix.
 void setExtent(int envType, Object extentProvider, Object snapRasterData)
          Sets the type and values of extent in the RasterAnalysis.
 void setMaskByRef(IGeoDataset mask)
          Mask allows processing to occur only for a selected set of cells.
 void setOutSpatialReferenceByRef(ISpatialReference spatialReference)
          The output spatial reference of GeoAnalysis.
 void setOutWorkspaceByRef(IWorkspace workspace)
          The output workspace of GeoAnalysis.
 void setVerifyType(int verifyType)
          The verify type of the RasterAnalysis.
 IGeoDataset sink(IGeoDataset directionRaster)
          Creates a raster identifying all sinks, or areas of internal drainage.
 IGeoDataset snapPourPoint(IGeoDataset sourceDataset, IGeoDataset accumulationRaster, double snapDistance)
          Snaps selected pour points to the cell of highest flow accumulation within a specified distance.
 IGeoDataset streamLink(IGeoDataset streamRaster, IGeoDataset directionRaster)
          Assigns unique values to sections of a raster linear network between intersections.
 IGeoDataset streamOrder(IGeoDataset streamRaster, IGeoDataset directionRaster, int orderType)
          Assigns a numeric order to segments of a raster representing branches of a linear network.
 IGeoDataset streamToFeature(IGeoDataset streamRaster, IGeoDataset directionRaster, boolean performWeeding)
          Converts a raster representing a linear network to features representing the linear network.
 IGeoDataset watershed(IGeoDataset directionRaster, IGeoDataset sourceDataset)
          Determines the contributing area above a set of cells in a raster.
 
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

RasterHydrologyOp

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

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

RasterHydrologyOp

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

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

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

setCellSize

public void setCellSize(int envType,
                        Object cellSizeProvider)
                 throws IOException,
                        AutomationException
Sets the type and value of cell size in the RasterAnalysis.

Remarks

envType

An enumeration type specifying the raster cellsize environment settings for analysis. All subsequent results will be to the value specified. It can be of type

esriRasterEnvMaxOf – The largest cell size of all input raster datasets that are specifed in the function. This is the default.

This option is not suitable for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only inputs. Use esriRasterEnvValue instead.

esriRasterEnvMinOf - Smallest cell size of all input raster datasets.

This option is not suitable for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only inputs. Use esriRasterEnvValue instead

esriRasterEnvValue - Any user specified value for the cell size.

Use this option to specify a particular value for a cell size or for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only input.

[cellSizeProvider]

A specified value (double) or RasterDataset that is used to provide the cellsize environment value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCellSize in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (in)
cellSizeProvider - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCellSize

public void getCellSize(int[] envType,
                        double[] cellSize)
                 throws IOException,
                        AutomationException
Gets the type and value of cell size in the RasterAnalysis.

Remarks

envType

will return an enumeration type constant specifying the raster cellsize environment settings for analysis. It can be of type

esriRasterEnvMaxOf - largest cell size of all input datasets. This is the default.

esriRasterEnvMinOf - smallest cell size of all input datasets

esriRasterEnvValue - User specified value.

cellsize

returns a value that specifying the current environment setting for cellsize

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCellSize in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (out: use single element array)
cellSize - The cellSize (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExtent

public void setExtent(int envType,
                      Object extentProvider,
                      Object snapRasterData)
               throws IOException,
                      AutomationException
Sets the type and values of extent in the RasterAnalysis.

Remarks

envType

An enumeration type specifying the raster extent environment settings for analysis. All subsequent results will be to this extent. It can be of type

esriRasterEnvMinOf – Intersection of Inputs - All input feature extents are intersected and the extent common to all is used as the extent values for the study area. This is the default.

esriRasterEnvMaxOf - Union of Inputs - All input feature extents are combined and the outer extent of the union is used.

esriRasterEnvValue - Value - User specified values for the Left, Right, Top and Bottom extent (x, y values) of the study area.

[extentProvider]

An envelope object supporting IEnvelope interface or RasterDataset that is used to provide the environment values of the analysis extent.

[snapRasterData]

A RasterDataset that can be used to snap all output raster datasets to the cell registration of the specified raster. All subsequent results will share the lower-left corner and cell size of the specified raster.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExtent in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (in)
extentProvider - A Variant (in, optional, pass null if not required)
snapRasterData - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public void getExtent(int[] envType,
                      IEnvelope[] extent)
               throws IOException,
                      AutomationException
Gets the type and values of extent in the RasterAnalysis.

Remarks

envType

will return an enumeration constant specifying the raster extent environment settings for analysis. It can be of type,

esriRasterEnvMinOf – Intersection of Inputs - All input feature extents are intersected and the extent common to all is used as the extent values for the study area. This is the default.

esriRasterEnvMaxOf - Union of Inputs - All input feature extents are combined and the outer extent of the union is used.

esriRasterEnvValue - Value - User specified values for the Left, Right, Top and Bottom extent (x, y values) of the study area.

extent

An envelope object supporting IEnvelope interface used to describe the values of the analysis extent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (out: use single element array)
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaskByRef

public void setMaskByRef(IGeoDataset mask)
                  throws IOException,
                         AutomationException
Mask allows processing to occur only for a selected set of cells.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaskByRef in interface IRasterAnalysisEnvironment
Parameters:
mask - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMask

public IGeoDataset getMask()
                    throws IOException,
                           AutomationException
Mask allows processing to occur only for a selected set of cells.

Remarks

The mask can be a reference to a Raster, RasterDataset, RasterBand, or RasterDescriptor object or FeatureClass, FeatureClassDescriptor object.

The mask identifies only those cells within the analysis extent that will be considered when performing an action. Only the identified cells will be processed in subsequent output raster datasets. All other cells are characterized as nodata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMask in interface IRasterAnalysisEnvironment
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVerifyType

public void setVerifyType(int verifyType)
                   throws IOException,
                          AutomationException
The verify type of the RasterAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVerifyType in interface IRasterAnalysisEnvironment
Parameters:
verifyType - A com.esri.arcgis.geoanalyst.esriRasterVerifyEnum constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVerifyType

public int getVerifyType()
                  throws IOException,
                         AutomationException
The verify type of the RasterAnalysis.

Remarks

The value is an enumeration environment setting that contols the way that an output RasterDatasets are written to file when during analysis. The verify enumeration can be of type

esriRasterEnvVerifyOn - specifies that the user will be prompted to verify the output already exists and it is okay to overwrite it

esriRasterEnvVerifyOff - specifies that output data will be automatically overwritten if already exists. This is the default environment setting.

esriRasterEnvVerifyError - specifies that an error will be produced when the output already exists.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVerifyType in interface IRasterAnalysisEnvironment
Returns:
A com.esri.arcgis.geoanalyst.esriRasterVerifyEnum constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultOutputRasterPrefix

public String getDefaultOutputRasterPrefix()
                                    throws IOException,
                                           AutomationException
The default output raster prefix.

Remarks

The user specified prefix which is included to all temporary output RasterDatasets during analysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultOutputRasterPrefix in interface IRasterAnalysisEnvironment
Returns:
The rasterPrefix
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultOutputRasterPrefix

public void setDefaultOutputRasterPrefix(String rasterPrefix)
                                  throws IOException,
                                         AutomationException
The default output raster prefix.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDefaultOutputVectorPrefix

public String getDefaultOutputVectorPrefix()
                                    throws IOException,
                                           AutomationException
The default output vector prefix.

Remarks

The user specified prefix which is included to all temporary output Shapefiles during analysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDefaultOutputVectorPrefix in interface IRasterAnalysisEnvironment
Returns:
The vectorPrefix
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultOutputVectorPrefix

public void setDefaultOutputVectorPrefix(String vectorPrefix)
                                  throws IOException,
                                         AutomationException
The default output vector prefix.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAsNewDefaultEnvironment

public void setAsNewDefaultEnvironment()
                                throws IOException,
                                       AutomationException
Sets the raster analysis environment of the object as new default environment.

Remarks

Will set all current environment settings of the RasterAnalysis object as the new default environment. All subsequent analysis will use the set object properties unless otherwise specified.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAsNewDefaultEnvironment in interface IRasterAnalysisEnvironment
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

restoreToPreviousDefaultEnvironment

public void restoreToPreviousDefaultEnvironment()
                                         throws IOException,
                                                AutomationException
Restores to the previous default raster analysis environment.

Remarks

This will restore the default environment to the settings of the "previous" RasterAnalysisEnvironment object used to set the default environement. Note: If multiple default environments have been set it will reference the past settings one at a time in order of sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
restoreToPreviousDefaultEnvironment in interface IRasterAnalysisEnvironment
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Remove all previously stored default rasteranalysis environments.

Remarks

This method can be used to restore the system default raster environment settings for extent, cell size, precision, spatial reference and/or current workspace for analysis. This will change all previously altered environment settings made to the RasterAnlaysis object back to the original settings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
reset in interface IRasterAnalysisEnvironment
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutWorkspaceByRef

public void setOutWorkspaceByRef(IWorkspace workspace)
                          throws IOException,
                                 AutomationException
The output workspace of GeoAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOutWorkspaceByRef in interface IGeoAnalysisEnvironment
Parameters:
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutWorkspace

public IWorkspace getOutWorkspace()
                           throws IOException,
                                  AutomationException
The output workspace of GeoAnalysis.

Remarks

The variable is an object specifying the directory or subdirectory to contain the output rasterdataset

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOutWorkspace in interface IGeoAnalysisEnvironment
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutSpatialReferenceByRef

public void setOutSpatialReferenceByRef(ISpatialReference spatialReference)
                                 throws IOException,
                                        AutomationException
The output spatial reference of GeoAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOutSpatialReferenceByRef in interface IGeoAnalysisEnvironment
Parameters:
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutSpatialReference

public ISpatialReference getOutSpatialReference()
                                         throws IOException,
                                                AutomationException
The output spatial reference of GeoAnalysis.

Remarks

The variable references an object that specifies the output features spatial reference. If not explicitly set the spatial reference of the input features will be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOutSpatialReference in interface IGeoAnalysisEnvironment
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

basin

public IGeoDataset basin(IGeoDataset directionRaster)
                  throws IOException,
                         AutomationException
Creates a raster delineating all drainage basins.

Remarks

directionRaster an input Raster, RasterDataset, RasterBand, or RasterDescriptor showing the direction of flow out of each cell

This Raster can be created using the IHydrologyOp::FlowDirection method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
basin in interface IHydrologyOp
Specified by:
basin in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

fill

public IGeoDataset fill(IGeoDataset surfaceRaster,
                        Object zLimit)
                 throws IOException,
                        AutomationException
Fills sinks in a surface to remove small imperfections in the data.

Remarks

surfaceRaster

a raster representing an elevation surface

[zLimit]

The maximum elevation difference between sink and its pour point to be filled. If the difference in z value between a sink and itps pour point is greater than {zLimit}, that sink will not be filled.

The default is to fill all sinks regardless of depth.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
fill in interface IHydrologyOp
Specified by:
fill in interface IHydrologyOp2
Parameters:
surfaceRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
zLimit - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

flowAccumulation

public IGeoDataset flowAccumulation(IGeoDataset directionRaster,
                                    Object weightRaster)
                             throws IOException,
                                    AutomationException
Creates a raster of accumulated flow to each cell.

Remarks

directionRaster a raster showing direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

[weightRaster] the weight to be assigned to each cell

If no [weightRaster] is specified, a default weight of one will be applied to each cell. For each cell in the output, the result will be the number of cells that flow into it. The data type for the weightRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
flowAccumulation in interface IHydrologyOp
Specified by:
flowAccumulation in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
weightRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

flowDirection

public IGeoDataset flowDirection(IGeoDataset surfaceRaster,
                                 boolean createDrop,
                                 boolean forceFlowAtEdge)
                          throws IOException,
                                 AutomationException
Creates a raster of flow direction from each cell to it's steepest downslope neighbor.

Remarks

surfaceRaster a raster representing an elevation surface
createDrop a Boolean that if set to True an optional output raster will be created showing a ratio of the maximum change in elevation from each cell along the direction of flow, to the path length between centers of cells, expressed in percents
forceFlowAtEdge controls the direction of flow at the edges of the surface raster

If the Boolean is set to True then the maximum drop on the inside of an edge cell if greater than zero, the flow direction will be determined as usual; otherwise, the flow direction will be toward the edge. Cells that should flow from the edge of the surface grid inward will do so.

If set to False, all cells at the edge of the surface surface will flow outward from the surface surface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
flowDirection in interface IHydrologyOp
Specified by:
flowDirection in interface IHydrologyOp2
Parameters:
surfaceRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
createDrop - The createDrop (in)
forceFlowAtEdge - The forceFlowAtEdge (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

flowLength

public IGeoDataset flowLength(IGeoDataset directionRaster,
                              boolean downStream,
                              Object weightRaster)
                       throws IOException,
                              AutomationException
Calculates distance, or weighted distance along a flow path.

Remarks

directionRaster raster indicating direction of flow

This grid is created using the IHydrologyOp::FlowDirection method.

downStream a Boolean indicating the direction of measurement along the flow path

If True, then the method calculates the downslope distance, along the flow path, from each cell to a sink or outlet on the edge of the raster.

If False, the method calculates the longest upslope distance along the flow path, from each cell to the top of the drainage divide.

[weightRaster] a raster defining the impedance or resistance to move through each cell

The value at each cell location represents the cost per unit distance of moving through the cell. Each cell location value is multiplied by the cell resolution to obtain the total cost of passing through the cell. The data type for the weightRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
flowLength in interface IHydrologyOp
Specified by:
flowLength in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
downStream - The downStream (in)
weightRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

sink

public IGeoDataset sink(IGeoDataset directionRaster)
                 throws IOException,
                        AutomationException
Creates a raster identifying all sinks, or areas of internal drainage.

Remarks

geoDataset an input Raster, RasterDataset, RasterBand, or RasterDescriptor showing the direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
sink in interface IHydrologyOp
Specified by:
sink in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

snapPourPoint

public IGeoDataset snapPourPoint(IGeoDataset sourceDataset,
                                 IGeoDataset accumulationRaster,
                                 double snapDistance)
                          throws IOException,
                                 AutomationException
Snaps selected pour points to the cell of highest flow accumulation within a specified distance.

Remarks

sourceDataset an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor of cells to be used as pour points

Cells that are not NoData will be considered pour points and will be snapped.

accumulationRaster a Raster of accumulated flow, created with the IHydrology::FlowAccumulation method.
snapDistance the maximum distance in map units, to search for a cell of higher accumulated flow

A common snap distance is zero, the same as if SnapPourPoint was not used.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
snapPourPoint in interface IHydrologyOp
Specified by:
snapPourPoint in interface IHydrologyOp2
Parameters:
sourceDataset - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
accumulationRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
snapDistance - The snapDistance (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

streamLink

public IGeoDataset streamLink(IGeoDataset streamRaster,
                              IGeoDataset directionRaster)
                       throws IOException,
                              AutomationException
Assigns unique values to sections of a raster linear network between intersections.

Remarks

streamRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor representing a raster linear network

directionRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor showing the direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
streamLink in interface IHydrologyOp
Specified by:
streamLink in interface IHydrologyOp2
Parameters:
streamRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

streamOrder

public IGeoDataset streamOrder(IGeoDataset streamRaster,
                               IGeoDataset directionRaster,
                               int orderType)
                        throws IOException,
                               AutomationException
Assigns a numeric order to segments of a raster representing branches of a linear network.

Remarks

streamRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor representing a raster linear network

directionRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor showing the direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

orderType

an esriGeoAnalysisStreamOrderEnum indicating the method for assigning order

esriGeoAnalysisStreamOrderStrahler the method will be the stream ordering proposed by Strahler in 1952

Stream order only increases when streams of the same order intersect. Therefore, the intersection of a first-order and second-order link will remain a second-order link rather than create a third-order link. This method is commonly used.

esriGeoAnalysisStreamOrderShreve the method will be stream ordering by magnitude proposed by Shreve in 1967

All links with no tributaries are assigned a magnitude (order) of 1. Magnitudes are additive downslope. When two links intersect, their magnitudes are added and assigned to the downslope link.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
streamOrder in interface IHydrologyOp
Specified by:
streamOrder in interface IHydrologyOp2
Parameters:
streamRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
orderType - A com.esri.arcgis.spatialanalyst.esriGeoAnalysisStreamOrderEnum constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

streamToFeature

public IGeoDataset streamToFeature(IGeoDataset streamRaster,
                                   IGeoDataset directionRaster,
                                   boolean performWeeding)
                            throws IOException,
                                   AutomationException
Converts a raster representing a linear network to features representing the linear network.

Remarks

streamRaster

An input Raster, RasterDataset, RasterBand, or RasterDescriptor representing a raster linear network.

directionRaster

An input Raster, RasterDataset, RasterBand, or RasterDescriptor showing the direction of flow out of each cell.

This can be created using the IHydrologyOp::FlowDirection method.

performWeeding

a Boolean specifying whether or not a weed tolerance will be used to generalize line features.

If FALSE, no weeding is done

If TRUE, the featureclass is weeded to reduce the number of vertices.


The WEED option uses the Douglas-Puecker algorithm.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
streamToFeature in interface IHydrologyOp
Specified by:
streamToFeature in interface IHydrologyOp2
Parameters:
streamRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
performWeeding - The performWeeding (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

watershed

public IGeoDataset watershed(IGeoDataset directionRaster,
                             IGeoDataset sourceDataset)
                      throws IOException,
                             AutomationException
Determines the contributing area above a set of cells in a raster.

Remarks

directionRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor showing the direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

sourceDataset

an input Raster, RasterDataset, RasterBand, or RasterDescriptor representing cells above which the contributing area, or catchment, will be determined

All cells that are not NoData will be used as source cells.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
watershed in interface IHydrologyOp
Specified by:
watershed in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
sourceDataset - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

flowAccumulationInt

public IGeoDataset flowAccumulationInt(IGeoDataset directionRaster,
                                       Object weightRaster)
                                throws IOException,
                                       AutomationException
Creates an integer raster of accumulated flow to each cell.

Remarks

directionRaster a raster showing direction of flow out of each cell

This can be created using the IHydrologyOp::FlowDirection method.

[weightRaster] the weight to be assigned to each cell

If no [weightRaster] is specified, a default weight of one will be applied to each cell. For each cell in the output, the result will be the number of cells that flow into it. The data type for the weightRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Specified by:
flowAccumulationInt in interface IHydrologyOp2
Parameters:
directionRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
weightRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.