编程语言
首页 > 编程语言> > C# ArcGISEngine提取Modis数据的指定层数据

C# ArcGISEngine提取Modis数据的指定层数据

作者:互联网

/// <summary>
/// 提取Modis指定层数据
/// </summary>
/// <param name="ModisFilePath">输入的Modsi数据路径</param>
/// <param name="OutFilePath">提取后的输出路径</param>
public void DataGetTif_DayLST(string ModisFilePath, string OutFilePath)
{
    try
     {
       //加载Modis原始数据文件
       DirectoryInfo HdfDir = new DirectoryInfo(ModisFilePath);
       FileInfo[] HdfInfors = HdfDir.GetFiles("*.hdf");

      //定义gp
      ESRI.ArcGIS.Geoprocessor.Geoprocessor gp1 = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();
      gp1.OverwriteOutput = true;

      //提取白天LST第0层数据
      foreach (var file in HdfInfors)
      {
           //提取后的文件名称
           string OutFileName = file.Name.Remove(file.Name.LastIndexOf("."));

           //提取后输出完整路径
            string OutFile = OutFilePath + "\\" + OutFileName + ".DayLST.tif";

          //执行提取
           ESRI.ArcGIS.DataManagementTools.ExtractSubDataset es = new ESRI.ArcGIS.DataManagementTools.ExtractSubDataset();
           es.in_raster = file.FullName;  //输入数据
           es.out_raster = OutFile;       //输出删格
           es.subdataset_index = 0;//这里的数字就是提取的哪一层
           gp1.Execute(es, null);  //执行操作
            
      }
   }
   catch(Exception ex)
   {
        LogHelper.LogError("Modis数据预处理,提取Modis数据异常", ex);
        thorw;
   }
 }

 

标签:Modis,提取,ArcGISEngine,C#,Geoprocessor,ArcGIS,es,ESRI
来源: https://www.cnblogs.com/devgis/p/16366157.html