计算坡向,并返回坡向栅格数据集,即坡向图。

命名空间:  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;
}

请参见