加载数据思路

在Engine中加载各种各样的数据都是通过这样的格式

  1. IWorkspaceFactory pWorkspace = new IWorkspaceFactory();
  2. IWorkspace pWorkspace = pWorkspace.OpenFromFile(string path, int hWnd);
  3. pWorkspace as ... //转换成相应的工作空间
  4. pWorkspace.OpenDataset() //打开数据

一般的数据通过这样的方式都是可以打开的,但是,打开栅格数据时还需要(不是必须)这些代码来加快加载效率

  1. IRasterPyrmid pRasPyrmid;
  2. pRasPyrmid = pRasterDataset as IRasterPyramid3;
  3. if(pRasPyrmid != null)
  4. {
  5. if(!(pRasPyrmid.Present))
  6. {
  7. pRasPyrmid.Create(); //创建金字塔
  8. }
  9. }
  10. IRaster pRaster;
  11. pRaster = pRasterDataset.CreateDefaultRaster();
  12. IRasterLayer pRasterLayer;
  13. pRasterLayer = new RasterLayerClass();
  14. pRasterLayer.CreateFromRaster(pRaster);
  15. ILayer pLayer = pRasterLayer as ILayer;
  16. axMapControl.AddLayer(pLayer,0);

这里的RasPyrmid是一个金字塔对象,金字塔可用于改善性能。它们是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。下图是栅格数据集创建的两级金字塔示例:



金字塔通过仅检索使用指定分辨率的数据,可以加快栅格数据的显示速度。例如进行放大操作时,由于已经建立了金字塔,可以高效率的将需要展示的数据显示出来。没有创建金字塔,则必须从磁盘中读取整个数据集,然后将其重采样为更小的大小。

创建金字塔会浪费一定的时间,但是,这也意味着后期显示数据时节省了更多的时间。

更多关于金字塔的信息点击这里.

arcEngine开发之加载栅格数据的更多相关文章

  1. Android开发--异步加载

    因为移动端软件开发思维模式或者说是开发的架构其实是不分平台和编程语言的,就拿安卓和IOS来说,他们都是移动前端app开发展示数据和用户交互数据的数据终端,移动架构的几个大模块:UI界面展示.本地数据可 ...

  2. Qt+QGis二次开发:加载栅格图层和矢量图层

    一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QStri ...

  3. [IOS 开发] 懒加载 (延迟加载) 的基本方式,好处,代码示例

    懒加载的好处: 1> 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 2> 每个属性的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 ...

  4. CAD 二次开发 -- 自动加载开发的DLL

    CAD二次开发可以采用写扩展DLL的方式实现.该DLL的函数可以被CAD调用. 但是调用前,必须用命令netload 将该dll加载到CAD. 其实可以修改注册表,当CAD软件启动后,自动加载扩展DL ...

  5. 插件化开发—动态加载技术加载已安装和未安装的apk

    首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...

  6. 基于VUE的SPA单页应用开发-加载性能篇

    1.基于异步数据的vue页面刷新 先看看基于异步数据的vue页面刷新后,都发生了啥- 如图所示: 图1 基于异步数据的vue页面刷新 网络请求图 步骤如下: step1:请求页面: step2:请求页 ...

  7. 【Win 10 应用开发】加载外部的 srt 字幕

    据说系统内置的多媒体功能支持 srt. ssa 等字幕,老周测试过几种格式的字幕均能加载. SRT 字幕是最简单的字幕结构,甚至你用记事本都能做出来,就是分为几行来写. 第一行是字幕的编号,应该是从1 ...

  8. [deviceone开发]-do_Webview加载JQueryMobile的示例

    一.简介 JQueryMobile是JQuery的移动版,不过它并没有像JQuery那么成功.我们只是使用JQueryMobile来展示do_Webview加载第三方js框架.适合所有开发者.二.效果 ...

  9. ios UIWebView 在开发中加载文件

    UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...

随机推荐

  1. 【一天一道LeetCode】#46. Permutations

    一天一道LeetCode系列 (一)题目 Given a collection of distinct numbers, return all possible permutations. For e ...

  2. 《java入门第一季》之类(Object类)

    package cn.itcast_01; /* * Object:类 Object 是类层次结构的根类.每个类都使用 Object 作为超类. * 每个类都直接或者间接的继承自Object类. * ...

  3. HibernateTemplate 查询原生sql及ljava.lang.object cannot be cast to

    /** * 使用sql语句进行查询操作 * @param sql * @return */ public List queryWithSql(final String sql){ List list ...

  4. Java-ServletContextEvent-ServletContextAttributeEvent

    //这是一个事件类用来通知一个web 应用的servlet 上下文的改变 public class ServletContextEvent extends java.util.EventObject ...

  5. 【OpenCV学习】Kmean均值聚类对图片进行减色处理

            #include <cv.h> #include <highgui.h> #include <iostream> #define MAX_CLUST ...

  6. 如何在VS2013中进行Boost单元测试

    对于如何在VS2013中进行Boost单元测试,这方面资料太少.自己也因此走了不少弯路.下文将会阐述一下如何在VS2013中进行Boost单元测试. 在开始Boost单元测试之前,我们需要先安装VS2 ...

  7. 能量最小化初探,graphcuts能量最小化调用

    1.相对于能量函数来说,能量最小化的办法都有哪些? 梯度下降 模拟退火 图割 2.这个 跟最优化问题的求解,有什么联系跟区别呢? 基本上差不多,其实就是求出来了函数的一个最小值,我们看问题的时候不妨把 ...

  8. XMPP系列(三)---获取好友列表、添加好友

    1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...

  9. Xcode 下删除Provisioning Profiles文件

    Xcode 中有很多不可以用的Provisioning Profiles 文件,每次选择手机证书时,看着那么长的菜单很烦有木有? 在Xcode 5中删除 Provisioning Profiles,打 ...

  10. linux终端用户登录流程

    终端可以通过连线,猫或网络(ssh,telnet,rlogin)和unix相连. 对于每个物理终端端口,都有一个getty监视,getty是由init程序启动的. getty收到用户名->调用l ...