com.esri.arcgis.spatialanalyst
Interface IHydrologyOp

All Superinterfaces:
Serializable
All Known Implementing Classes:
RasterHydrologyOp

public interface IHydrologyOp
extends Serializable

Provides access to members that control the hydrological operations.

Superseded By

IHydrologyOp2

Remarks

  • Read the Working with ArcGIS Spatial Analyst objects technical document for general information on implementing Spatial Analyst operations.
  • Product Availability

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


    Method Summary
     IGeoDataset basin(IGeoDataset directionRaster)
              Creates a raster delineating all drainage basins.
     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 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.
     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.
     

    Method Detail

    basin

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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.