首页 > 其他 > 详细

AE栅格计算

时间:2020-05-02 22:37:47      阅读:66      评论:0      收藏:0      [点我收藏+]

创建常量栅格数据集

方法一(此方法比较复杂):

/// <summary>
/// 创建常量栅格数据集
/// </summary>
/// <param name="inputData">输入模板数据(支持IRasterDataset、IRasterBand、IRaster)</param>
/// <param name="pValue">栅格像素值</param>
/// <param name="FullName">存储路径(包含.afr后缀!!)</param>
/// <returns></returns>
private IGeoDataset GetConstantDataset(object inputData, object pValue, string FullName)
{
    // 实例化IdentityFunction对象
    // 此对象用于从输入数据里提取信息
    IRasterFunction identFunction = new IdentityFunctionClass();
    identFunction.Bind(inputData);

    // 实例化ConstantFunctionArguments对象
    IConstantFunctionArguments rasterFunctionArguments = new ConstantFunctionArgumentsClass();
    // 设置填充栅格的像素值
    rasterFunctionArguments.Constant = pValue;
    // 使用IdentityFunction对象中的栅格信息
    rasterFunctionArguments.RasterInfo = identFunction.RasterInfo;

    // 实例化ConstantFunction对象(IRasterFunction接口)
    IRasterFunction rasterFunction = new ConstantFunctionClass();
    // 实例化FunctionRasterDataset对象(IFunctionRasterDataset接口)
    IFunctionRasterDataset functionRasterDataset = new FunctionRasterDatasetClass();
    // 为FunctionRasterDataset创建Name对象
    IFunctionRasterDatasetName functionRasterDatasetName = new FunctionRasterDatasetNameClass();
    // 为新生成的数据集指定存储路径
    functionRasterDatasetName.FullName = FullName;
    functionRasterDataset.FullName = functionRasterDatasetName as IName;
    // 使用rasterFunction和rasterFunctionArguments初始化新的FunctionRasterDataset
    functionRasterDataset.Init(rasterFunction, rasterFunctionArguments);

    return functionRasterDataset as IGeoDataset;           
}

 方法二:

使用RasterMakerOp类,此方法极其简单,不贴代码了。

AE栅格计算

原文:https://www.cnblogs.com/songqingguo/p/12725671.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!