计算坡向,并返回坡向栅格数据集,即坡向图。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetGrid CalculateAspect( DatasetGrid sourceDatasetGrid, Datasource targetDatasource, string targetDatasetName ) |
参数
- sourceDatasetGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的待计算坡向的 DEM 栅格。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的存储结果数据集的数据源。
- targetDatasetName
- Type: System..::.String
指定的结果数据集的名称。
返回值
坡向栅格数据集。备注
坡向是指坡面的朝向,它表示地形表面某处最陡的下坡方向。坡向反映了斜坡所面对的方向,任意斜坡的倾斜方向可取 0~360 度中的任意方向,所以坡向分析的结果范围为 0~360 度。从正北方向(0 度)开始顺时针计算,如下图所示:
在 DEM 栅格中计算坡向时,是以待计算单元格及其周围相邻的八个单元格作为计算单元,通过水平高程变化率 fx 和垂直高程变化率 fy 计算坡向,即:
其中,fx 和 fy 通过三阶反距离平方权差分法计算得出。对待计算单元格及其相邻的八个单元格进行编码,fx 和 fy 的计算公式如下:
如果待计算单元格为无值,则计算结果也为无值。需要注意,对于位于 DEM 栅格数据集的边缘的单元格,其 3 × 3 邻域包含了位于数据集范围之外的单元格,对于这些单元格,将使用待计算单元格的高程值来计算。对于周围单元格中的无值,也采用相同的方式处理。
注意:水平的坡没有方向,被赋值为 -1。
新生成的坡向数据集是一个和原数据集等大且分辨率相同的数据集。下图为计算坡向的一个实例。
示例
以下代码示范了如何对给定的 DEM 栅格数据集计算坡向,并返回计算结果(一个栅格数据集)。
CopyC#
private DatasetGrid GridAspectCalculate(DatasetGrid sourceDatasetGrid, Datasource outputDatasource) { //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String targetDatasetName = "gridAspect"; if (targetDatasource.Datasets.Contains(targetDatasetName)) { targetDatasource.Datasets.Delete(targetDatasetName); } //调用坡向计算方法,并获取计算结果栅格数据集 DatasetGrid resultDatasetGrid = CalculationTerrain.CalculateAspect(sourceDatasetGrid, targetDatasource, targetDatasetName); return resultDatasetGrid; }