ArcEngine Raster


导读

Raster:栅格数据。是栅格数据在重投影,重采样后内存中存在的短暂的数据表达。对raster的修改并不能够影响现有的数据源。虽然是存储在内存中,但是我们可以通过方法来永久保存这个raster对象。

Raster与RasterDataset的区别

RasterDataset是栅格数据集,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波段就是一个数据矩阵。对于格网数据(DEM数据)和单波段的影像数据,表现为仅仅只有一个波段数据的栅格数据集,而对于多光谱影像数据则表现为具有多个波段的栅格数据集。

Raster的用法

一. Raster对象的创建
1.1  从现有的RasterLayer 中派生出raster对象
IRasterLayer::Raster;
1.2  从rasterdataset对象中创建raster对象;
IRasterDataset::CreateDefaultRaster 方法;本方法是创建默认的raster,最多具有3个波段band。
IRasterDataset2::CreateRaster 方法;本方法是创建空raster对象的方法,raster属性都是空值0。
IRasterDataset2::CreateFullRaster方法;本方法创建的raster对象,会包含所有的波段band。

二. 添加栅格数据
1.1  根据文件名添加栅格数据
实现思路:
① 获取栅格文件路径 
② 新建一个栅格图层并给该图层添加栅格文件数据
③ 把栅格图层添加到MapContol中

private void 添加栅格数据_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFile = new OpenFileDialog();
                string fileName;

                openFile.Title = "添加栅格数据";
                openFile.Filter = "IMG图像(*.img)|*.img|TIFF图像(*.tif)|*.tif|所有文件(*.*)|*.*";
                openFile.ShowDialog();
                fileName = openFile.FileName;

                IRasterLayer rasterLayer = new RasterLayerClass();
                rasterLayer.CreateFromFilePath(fileName);
                axMapControl1.AddLayer(rasterLayer, 0);
            }
            catch
            {
                MessageBox.Show("添加栅格数据错误!");
            }
        }

1.2  从数据集中添加
实现思路:
① 新建并打开一个栅格数据工作空间 
② 打开该工作空间下的“jilin”栅格数据集
③ 新建一个栅格图层并给该图层添加栅格数据集
④ 把栅格图层添加到MapContol中

 private void 从数据集中添加Raster_Click(object sender, EventArgs e)
        {
            IWorkspaceFactory rasterWorkspaceFactory = new RasterWorkspaceFactoryClass();
            IRasterWorkspace rasterWorkspace = (IRasterWorkspace)rasterWorkspaceFactory.OpenFromFile(@"E:/GisData", 0);
            IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset("jilin");

            IRasterLayer rasterLayer = new RasterLayerClass();
            rasterLayer.CreateFromDataset(rasterDataset);
            axMapControl1.AddLayer(rasterLayer, 0);
        }

转载自:https://blog.csdn.net/zhumingquanqq/article/details/73901439

You may also like...