根据流向栅格计算流长,即计算每个单元格沿着流向到其流向起始点或终止点之间的距离。可应用权重数据集计算加权流长。
命名空间:
SuperMap.Analyst.TerrainAnalyst程序集: SuperMap.Analyst.TerrainAnalyst (in SuperMap.Analyst.TerrainAnalyst)
版本: dll
语法
C# |
---|
public static DatasetGrid FlowLength( DatasetGrid directionGrid, DatasetGrid weightGrid, bool upStream, Datasource targetDatasource, string resultGridName ) |
参数
- directionGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的流向栅格数据。
- weightGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的权重栅格数据。设置为 null 表示不使用权重数据集。
- upStream
- Type: System..::.Boolean
指定计算方式为顺流而下还是溯流而上。true 表示溯流而上,false 表示顺流而下。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据集的数据源。如果设置为 null,则结果数据集将自动存储到 directionGrid 所在的数据源中。
- resultGridName
- Type: System..::.String
指定的结果流长数据集的名称。
返回值
结果流长栅格数据集。如果生成失败,则返回 null。备注
流长,是指每个单元格沿着流向到其流向起始点或终止点之间的距离,包括上游方向和下游方向的长度。水流长度直接影响地面径流的速度,进而影响地面土壤的侵蚀力,因此在水土保持方面具有重要意义,常作为土壤侵蚀、水土流失情况的评价因素。
流长有两种计算方式:
- 顺流而下:计算每个单元格沿流向到下游流域汇水点之间的最长距离。
- 溯流而上:计算每个单元格沿流向到上游分水线顶点的最长距离。
下图分别为以顺流而下和溯流而上计算得出的流长栅格:
权重数据定义了每个栅格单元间的水流阻力,应用权重所获得的流长为加权距离(即距离乘以对应权重栅格的值)。例如,将流长分析应用于洪水的计算,洪水流往往会受到诸如坡度、土壤饱和度、植被覆盖等许多因素的阻碍,此时对这些因素建模,需要提供权重数据集。
注意,权重栅格必须与流向栅格具有相同的范围和分辨率。