/// <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; } }