Arc Engine打开栅格数据

使用到的引用

using ESRI.ArcGIS.DataSourcesRaster;
using ESRI.ArcGIS.Geodatabase;

思路如下:

  • 打开栅格数据工作空间

              栅格数据的工作空间默认为栅格数据所在文件夹,只需用工厂打开即可。

              注意工作空间工厂只能打开IWorkSpace,要得到其他类型需要转换。

  • 工作空间加载栅格数据集

              在已存在的工作空间中,直接用文件名获得数据集

  • (构建栅格金子塔)
  • 栅格数据集转为栅格图层
  • 栅格图层加入显示

具体实现:

1.打开文件打开窗口,选择文件:
 

OpenFileDialog pOpenFileDialog = new OpenFileDialog();            
if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
{
   string pFullpath = pOpenFileDialog.FileName;
   if (pFullpath == "")  return;

   //获得文件名和文件路径
   string pFilePath = System.IO.Path.GetDirectoryName(pFullpath);
   string pFileName = System.IO.Path.GetFileName(pFullpath);

2.打开栅格工作空间:
栅格工作空间使用工作空间工厂从文件夹中创建。

//获得工作空间,用栅格数据工作空间初始化
IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactory();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pFilePath, 0);
//三步,最后转为栅格工作空间
IRasterWorkspace pRasterWorkspace = pWorkspace as IRasterWorkspace;

3.使用栅格工作空间打开栅格数据集

                //打开栅格数据集
IRasterDataset pRasterDataset = pRasterWorkspace.OpenRasterDataset(pFileName);

4.将栅格数据集转为图层

//将栅格数据集转为图层
IRasterLayer pRasterLayer = new RasterLayerClass();
pRasterLayer.CreateFromDataset(pRasterDataset);

5.将图层添加到axMapControl中

扫描二维码关注公众号,回复: 3355320 查看本文章
axMapControl1.AddLayer(pLayer, 0);

猜你喜欢

转载自blog.csdn.net/ScapeD/article/details/82813704
arc