1 IWorkspaceFactory pWorkspaceFactory = new TinWorkspaceFactoryClass(); 2 IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(@"D:\Xge.UDX.ExchangeProjection\DATA\", 0); 3 ITinWorkspace pTinWorkspace = pWorkspace as ITinWorkspace; 4 ITin pTin = pTinWorkspace.OpenTin("tinfromudx"); 5 6 Geoprocessor GP1 = new Geoprocessor(); 7 GP1.OverwriteOutput = true; 8 ESRI.ArcGIS.Analyst3DTools.TinRaster tin2raster = new TinRaster(); 9 tin2raster.in_tin = pTin;//輸入的TIN 10 tin2raster.out_raster = @"D:\Xge.UDX.ExchangeProjection\DATA\DEMTest";//輸出的DEM 11 tin2raster.sample_distance = "OBSERVATIONS 250";//設置cells大小 12 GP1.Execute(tin2raster, null); 13 14 Geoprocessor GP2 = new Geoprocessor(); 15 GP2.OverwriteOutput = true; 16 ESRI.ArcGIS.ConversionTools.RasterToASCII raster2asc = new ESRI.ArcGIS.ConversionTools.RasterToASCII(); 17 raster2asc.in_raster = @"D:\Xge.UDX.ExchangeProjection\DATA\DEMTest"; 18 raster2asc.out_ascii_file = @"D:\Xge.UDX.ExchangeProjection\DATA\DEMTest.asc"; 19 GP2.Execute(raster2asc, null); 20 MessageBox.Show("轉換完成");
錯誤很邪!總是出現“對 COM 組件的調用返回了錯誤 HRESULT E_FAIL”,我的解決辦法是:用ArcMap中的toolbox“過一次”,就能在GP通過。也不知道為什么。反正我的解決了。
這個網站上有這個錯誤的比較多的解決辦法,鏈接發這:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=98654