你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
朱新颖
赞同来自:
IWorkspaceFactory WF = new RasterWorkspaceFactoryClass(); IWorkspace workspace = WF.OpenFromFile(@D:\Demo\Data, 0); IFeatureLayer pFeatureLayer = axMapControl1.get_Layer(0) as IFeatureLayer; IInterpolationOp pInterpolationOp = new RasterInterpolationOpClass(); IGeoDataset pInputDataset = (IGeoDataset)pFeatureLayer.FeatureClass; IRasterRadius pRadius = new RasterRadiusClass(); object o1 = Type.Missing; pRadius.SetVariable(12, ref o1); IFeatureClassDescriptor pFCDescriptor = new FeatureClassDescriptor() as IFeatureClassDescriptor; pFCDescriptor.Create(pFeatureLayer.FeatureClass, null, Elevation); double dCellSize = 103.38;//像元大小 object oCell = dCellSize; IRasterAnalysisEnvironment pEnv = (IRasterAnalysisEnvironment)pInterpolationOp; pEnv.SetCellSize(esriRasterEnvSettingEnum.esriRasterEnvValue, ref oCell); IRaster pOutRaster = null; object o2 = Type.Missing; pOutRaster = pInterpolationOp.IDW(pFCDescriptor as IGeoDataset, 2, pRadius, ref o2) as IRaster; ISaveAs saveAs = new RasterClass(); saveAs = pOutRaster as ISaveAs; var dataset = saveAs.SaveAs(zxy.tif, workspace, TIFF); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(dataset);
要回复问题请先登录或注册
1 个回复
朱新颖
赞同来自:
程序中对该栅格数据占用导致,需要将SaveAs方法返回的IDataset释放掉,添加代码System.Runtime.InteropServices.Marshal.FinalReleaseComObject(dataset); 即可。但在Engine 10.6中测试无此问题。
要回复问题请先登录或注册