使用到的引用
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);