生成正射三维影像。已过时。使用 CalculateOrthoImage 替代。

命名空间:  SuperMap.Analyst.SpatialAnalyst
程序集:  SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll

语法

C#
[ObsoleteAttribute]
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
public static DatasetImage CalculateOrthoImage(
	DatasetGrid sourceDatasetGrid,
	Colors colors,
	Color noValueColor,
	double zFactor,
	Datasource targetDatasource,
	string targetDatasetName
)

参数

sourceDatasetGrid
Type: SuperMap.Data..::.DatasetGrid
指定的待计算正射三维影像的 DEM 栅格。
colors
Type: SuperMap.Data..::.Colors
指定的三维投影后的颜色表。
noValueColor
Type: System.Drawing..::.Color
指定的无值栅格的颜色。
zFactor
Type: System..::.Double
指定的高程缩放系数。该值是指在DEM 栅格中,栅格值(Z 坐标,即高程值)相对于 X 和 Y 坐标的单位变换系数。通常有 X,Y,Z 都参加的计算中,需要将高程值乘以一个高程缩放系数,使得三者单位一致。例如,X、Y 方向上的单位是米,而 Z 方向的单位是英尺,由于 1 英尺等于 0.3048 米,则需要指定缩放系数为 0.3048。如果设置为 1.0,表示不缩放。
targetDatasource
Type: SuperMap.Data..::.Datasource
指定的用于存储输出结果的数据源。
targetDatasetName
Type: System..::.String
指定的结果数据集的名称。

返回值

正射三维影像。

备注

该方法是通过周边邻近栅格的高程计算每个栅格点的合理日照强度,再结合栅格点的高程所对应的颜色表中的基础颜色,将DEM渲染为正射影像。

示例

以下代码示范了如何对给定的 DEM 栅格计算三维正射影像,并返回计算结果(一个影像数据集)。

CopyC#
private DatasetImage OrthoImageCalculate(DatasetGrid sourceDatasetGrid, Datasource targetDatasource)
{
    //设置结果栅格数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
    String targetDatasetName = "orthoImage";
    if (targetDatasource.Datasets.Contains(targetDatasetName))
    {
        targetDatasource.Datasets.Delete(targetDatasetName);
    }

    //创建正射影像的颜色集合
    Colors colors = new Colors();
    colors = Colors.MakeGradient(20, ColorGradientType.Terrain, true);

    //设置无值的颜色
    Color noValueColor = Color.FromArgb(215, 215, 215);

    //调用正射三维影像计算方法,并获取计算结果影像数据集
    DatasetImage resultDatasetIamge = CalculationTerrain.CalculateOrthoImage(sourceDatasetGrid, colors, noValueColor, 1.0, targetDatasource, targetDatasetName);

    return resultDatasetIamge;
}

请参见