博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#+AE 用MapControl加载栅格格式文件
阅读量:6124 次
发布时间:2019-06-21

本文共 1329 字,大约阅读时间需要 4 分钟。

需要引入DataSourceRaster命名空间。

具体步骤如下:

①:利用工作控件工厂抽象类定义接口变量,利用工作空间工厂的子类RatserWorkspaceFactory对应的组件类RasterWorkspaceFactoryClass实例化该接口变量。

②:定义并实例化工作空间变量,定义并实例化栅格工作空间变量;

③:定义栅格数据集,并利用所选栅格数据文件进行实例化,判断该文件是否具有金字塔,若没有,则创建金字塔,以提高大数据量图像的显示效率;

④:定义栅格数据,栅格数据层和数据层,并向MapControl控件中添加数据层数据。

具体代码如下:

System.Windows.Forms.OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "*.bmp|*.bmp|*.jpg|*.jpg|*.tif|*.tif";
            ofd.ShowDialog();

           

string filePath = ofd.FileName;

//此两个路径和文件名作为参数:

  string pathName = System.IO.Path.GetDirectoryName(filePath);

            string fileName = System.IO.Path.GetFileName(filePath);

 

//定义工作空间工厂并实例化:

            IWorkspaceFactory pWSF;

            pWSF = new RasterWorkspaceFactoryClass();

//

            IWorkspace pWS;

            pWS = pWSF.OpenFromFile(pathName,0);

            IRasterWorkspace pRWS;

            pRWS = pWS as IRasterWorkspace;

            IRasterDataset pRasterDataset;
            pRasterDataset = pRWS.OpenRasterDataset(fileName);

            //影像金字塔的判断与创建

            IRasterPyramid pRasPyrmid;
            pRasPyrmid = pRasterDataset as IRasterPyramid;

            if(pRasPyrmid!=null)

            {
                if(!(pRasPyrmid.Present))
                {
                    pRasPyrmid.Create();
                }
            }

            IRaster pRaster;

            pRaster = pRasterDataset.CreateDefaultRaster();

            IRasterLayer pRasterLayer;

            pRasterLayer = new RasterLayerClass();
            pRasterLayer.CreateFromRaster(pRaster);

            ILayer pLayer = pRasterLayer as ILayer;

            axMapControl1.AddLayer(pLayer,0);

转载于:https://www.cnblogs.com/yanhan/archive/2012/10/08/2715115.html

你可能感兴趣的文章
机器学习十大常用算法小结
查看>>
Jenkins 忘记admin密码拯救方法
查看>>
windows安装go-sqlite3失败,提示找不到gcc
查看>>
linux(十四)之linux NFS服务管理
查看>>
一脸懵逼学习oracle(图形化界面操作---》PLSQL图形化界面)
查看>>
同理心是通往成功架构的桥梁
查看>>
vuex在页面中以对象展开运算符形式引入报错解决
查看>>
spring aop切面编程实现操作日志步骤
查看>>
VS2013生成XP独立运行程序
查看>>
spring+jidi读取property的配置文件
查看>>
关于C++ const 的全面总结
查看>>
PHP中__get()和__set()的用法实例详解
查看>>
Centos7下Yum安装PHP5.5,5.6,7.0
查看>>
spring3: 4.4 使用路径通配符加载Resource
查看>>
ubuntu 安装SSH并设置免密码登录
查看>>
[Oracle维护工程师手记]两表结合的MVIEW的告诉刷新
查看>>
LeetCode: Integer to Roman 解题报告
查看>>
在C#中实现Json的序列化与反序列化
查看>>
.Net程序集的不同加载方式,以及其在内存中格式
查看>>
Oracle DBA手记—数据库诊断案例与性能优化实践(盖国强亲自策划)
查看>>