C#+AE 用MapControl加载栅格格式文件
需要引入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);
C#+AE 用MapControl加载栅格格式文件的更多相关文章
- 使用getJSON()方法异步加载JSON格式数据
使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...
- [MFC] MFC 用mciSendString加载WAV资源文件
@ - @ FIRDST:为什么不用路径加载? 因为mciSendString函数不支持加载资源文件里的WAV资源,如果按路径加载,那么你的WAV就暴露在exe之外,无法实现音频资源的很好保护 ...
- 如何实现通过Leaflet加载dwg格式的CAD图
前言 在前面介绍了通过openlayers加载dwg格式的CAD图并与互联网地图叠加,openlayers功能很全面,但同时也很庞大,入门比较难,适合于大中型项目中.而在中小型项目中,一般用开源的 ...
- Web前台直接加载GIS格式数据分析
本文以Flex直接加载Shp.DWG和MDB为例. 首先看一份现估测数据: 1) 加载Shp文件,目前直接由前台Flex代码完成: 图1 在ArcCatalog里面的Shp文件 图2 直接在前台加载 ...
- hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)
数据做压缩和解压缩会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销,所以最好对那些I/O密集型的作业使用数据压缩,cpu密集型,使用压缩反而会降低性能. 而hive中间结果 ...
- Qt+QGis二次开发:加载栅格图层和矢量图层
一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QStri ...
- cesium 加载shp格式的白模建筑
ceisum加载shp格式的建筑.有两种思路,目前推荐第二种. 方法一:将shp格式转换为geojson格式,然后采用cesium提供的接口加载到ceisum中. 严重缺陷:在面对大场景问题,即数据量 ...
- cesium模型加载-加载fbx格式模型
整体思路: fbx格式→dae格式→gltf格式→cesium加载gltf格式模型 具体方法: 1. fbx格式→dae格式 工具:3dsMax, 3dsMax插件:OpenCOLLADA, 下载地址 ...
- VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx
尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元文件,但却不支持jpg.gif和png等格式的图片,而这几种格式却是常常要用到的.这里我给大家介绍两种办法来操作这些格式的图片. 1.用 ...
随机推荐
- c#操作剪切板
C#定义了一个类System.Windows.Forms.Clipboard来简化剪切板操作,这个类有一个静态方法,主要有: Clear 清除剪切板中的所有数据: ContainsData,Conta ...
- VBScript 函数
Date/Time 函数 Conversion 函数 Format 函数 Math 函数 Array 函数 String 函数 其他函数 Date/Time 函数 函数 描述 CDate 把一个有效的 ...
- 无法将 grub-efl-amd64-signed 软件包安装/target/ 中
64位win7下U盘安装64位ubuntu12.04,出现[无法将 grub-efl-amd64-signed 软件包安装/target/ 中]的错误 1. 已经确认为 12.04.2 的 Bug B ...
- sublime 复制黏贴等快捷键修改
在 keyboard-binding user 里 增加个人配置来覆盖默认配置 [ { "keys": ["ctrl+z"], "command&qu ...
- lintcode:Unique Characters 判断字符串是否没有重复字符
题目: 判断字符串是否没有重复字符 实现一个算法确定字符串中的字符是否均唯一出现 样例 给出"abc",返回 true 给出"aab",返回 false 挑战 ...
- sql sever 2000
sql sever 2000安装图解 浏览:15396 | 更新:2011-12-14 16:33 1 2 3 4 5 6 7 分步阅读 做为入门系统管理员,sqlsever2000是必会项目,因为市 ...
- Hibernate逍遥游记-第12章 映射值类型集合-001映射set(<element>)
1. 2. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate ...
- 48. Rotate Image
题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...
- 【Android多屏适配】动态改变Listview item高度
在ListView的Adapter中去直接获取传入View的LayoutParams是会报空指针异常的,唯一的方法是在xml中嵌套布局一层LinearLayout <?xml version=& ...
- pinyin4j
最近在倒腾与搜索相关的拼音检查技术,顺便看了一下中文转拼音开源插件pinyin4j的源码,参考资料:http://blog.csdn.net/hfhwfw/archive/2010/11/23/603 ...