ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AE栅格计算

2020-05-02 20:52:03  阅读:319  来源: 互联网

标签:AE 对象 栅格 计算 new FullName functionRasterDataset rasterFunctionArguments


创建常量栅格数据集

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

/// <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,对象,栅格,计算,new,FullName,functionRasterDataset,rasterFunctionArguments
来源: https://www.cnblogs.com/songqingguo/p/12725671.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有