水文分析类。用于填充洼地、流向分析、洼地计算、累积汇水量计算、流域计算、流长分析及矢量河网提取等水文分析功能,还提供网格剖分功能。
命名空间:
SuperMap.Analyst.TerrainAnalyst程序集: SuperMap.Analyst.TerrainAnalyst (in SuperMap.Analyst.TerrainAnalyst)
版本: dll
语法
C# |
---|
public static class HydrologyAnalyst |
备注
水文分析基于数字高程模型(DEM)栅格数据建立水系模型,用于研究流域水文特征和模拟地表水文过程,并对未来的地表水文情况做出预估。水文分析模型能够帮助我们分析洪水的范围,定位径流污染源,预测地貌改变对径流的影响等,广泛应用于区域规划、农林、灾害预测、道路设计等诸多行业和领域。
地表水的汇流情况很大程度上决定于地表形状,而 DEM 数据能够表达区域地貌形态的空间分布,在描述流域地形,如流域边界、坡度和坡向、河网提取等方面具有突出优势,因而非常适用于水文分析。
SuperMap 提供的水文分析主要内容有填充洼地、计算流向、计算流长、计算累积汇水量、流域划分、河流分级、连接水系及水系矢量化等。
- 水文分析的一般流程为:
- 如何获得栅格水系?
- 获得累积汇水量栅格,可通过 FlowAccumulation 方法实现。
- 通过 MathAnalyst 类的 Execute 方法对累积汇水量栅格进行关系运算,就可以得到满足要求的栅格水系数据。假设设定阈值为 1000,则运算表达式为:"[Datasource.FlowAccumulationDataset]>1000"。除此,使用 Con(x,y,z) 函数也可以得到想要的结果,即表达式为:"Con([Datasource.FlowAccumulationDataset]>1000,1,0)"。
水文分析中很多功能都需要基于栅格水系数据,如提取矢量水系(StreamToLine 方法)、河流分级(StreamOrder 方法)、连接水系(StreamLink 方法)等。
通常,可以从累积汇水量栅格中提取栅格水系数据。在累积汇水量栅格中,单元格的值越大,代表该区域的累积汇水量越大。累积汇水量较高的单元格可视为河谷,因此,可以通过设定一个阈值,提取累积汇水量大于该值的单元格,这些单元格就构成栅格水系。值得说明的是,对于不同级别的河谷、不同区域的相同级别的河谷,该值可能不同,因此该阈值的确定需要依据研究区域的实际地形地貌并通过不断的试验来确定。
在 SuperMap 中,要求用于进一步分析(提取矢量水系、河流分级、连接水系等)的栅格水系为一个二值栅格,这可以通过栅格代数运算来实现,使大于或等于累积汇水量阈值的单元格为 1,否则为 0,如下图所示。
因此,提取栅格水系的过程如下:
继承层次
System..::.Object
SuperMap.Analyst.TerrainAnalyst..::.HydrologyAnalyst
SuperMap.Analyst.TerrainAnalyst..::.HydrologyAnalyst