arcgis engine将栅格计算结果返回至指定路径
时间: 2023-07-29 09:11:44 浏览: 86
arcgis栅格分析
5星 · 资源好评率100%
要将 ArcGIS Engine 中的栅格计算结果返回至指定路径,您可以使用 Raster.Save 方法。该方法会将栅格图层保存到指定路径的栅格数据集中,具体步骤如下:
1. 获取栅格图层对象。
2. 创建一个栅格数据集对象,指定保存路径。
3. 调用 Raster.Save 方法,将栅格图层保存到栅格数据集中。
以下是示例代码:
```
// 获取栅格图层对象
IRasterLayer rasterLayer = ...;
// 创建栅格数据集对象,指定保存路径
IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();
IWorkspace workspace = workspaceFactory.OpenFromFile(@"C:\Temp", 0);
IRasterWorkspace rasterWorkspace = workspace as IRasterWorkspace;
IRasterDataset rasterDataset = rasterWorkspace.CreateRasterDataset("result.tif", "TIFF");
// 将栅格图层保存到栅格数据集中
IRaster raster = rasterLayer.Raster;
rasterDataset.CreateFromRaster(raster, null, null, true, esriResamplingEnum.esriResamplingNearestNeighbor);
// 释放对象
System.Runtime.InteropServices.Marshal.ReleaseComObject(rasterDataset);
System.Runtime.InteropServices.Marshal.ReleaseComObject(rasterWorkspace);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workspace);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workspaceFactory);
System.Runtime.InteropServices.Marshal.ReleaseComObject(raster);
System.Runtime.InteropServices.Marshal.ReleaseComObject(rasterLayer);
```
请注意,示例代码中使用了一些未经初始化的对象,实际应用中需要根据情况进行初始化。另外,示例代码中使用了 ReleaseComObject 方法释放 COM 对象,这是必要的,因为 ArcObjects 中的对象是基于 COM 技术实现的,需要手动释放才能避免内存泄漏。
阅读全文