subcatchment

Result = subcatchment(ldd, points)
ldd

spatial ldd

points

spatial boolean, nominal, ordinal

Result

spatial type of points

Operation

The local drain direction for each cell is defined by ldd. For each non zero value on points its catchment is determined and all cells in its catchment are assigned this non zero value. This procedure is performed for all cells with a non zero value on points, but there is one important exception: subcatchments are also identified: if the catchment of a non zero cell on points contains another non zero cell value on points, the (smaller) catchment of the latter non zero cell is identified instead of the (larger) enclosing catchment.

The operation is performed as follows: for each cell its downstream path is determined which consists of the consecutively neighbouring downstream cells on ldd. On Result each cell is assigned the non zero points cell value which is on its path and which is nearest downstream. If all cells on the downstream path of a cell have a value 0 on points a 0 is assigned to the cell on Result.

Notes

A cell with missing value on ldd is assigned a missing value on Result.

Group

This operation belongs to the group of Neighbourhood operators; local drain directions

See Also

catchment, lddmask

Examples

  1. • pcrcalc
    binding
    Result = Result.map;
    Ldd = Ldd.map;
    Points = Points.map;
    initial
    report Result = subcatchment(Ldd,Points);

    • python
    Ldd = readmap(“Ldd.map”)
    Points = readmap(“Points.map”)
    Result = subcatchment(Ldd,Points)

    Result.map

    Ldd.map

    Points.map

    ../../_images/subcatchment_Result.png ../../_images/accu_Ldd.png ../../_images/catchment_Points.png