zoukankan      html  css  js  c++  java
  • arcEngine开发之加载栅格数据

    加载数据思路

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

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

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

    IRasterPyrmid pRasPyrmid;
    pRasPyrmid = pRasterDataset as IRasterPyramid3;
    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;
    axMapControl.AddLayer(pLayer,0);
    

    这里的RasPyrmid是一个金字塔对象,金字塔可用于改善性能。它们是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。下图是栅格数据集创建的两级金字塔示例:
    这里写图片描述
    金字塔通过仅检索使用指定分辨率的数据,可以加快栅格数据的显示速度。例如进行放大操作时,由于已经建立了金字塔,可以高效率的将需要展示的数据显示出来。没有创建金字塔,则必须从磁盘中读取整个数据集,然后将其重采样为更小的大小。

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

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

  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jenkins无需登录,查看测试任务结果,allure报告
  • 原文地址:https://www.cnblogs.com/firepation/p/8495726.html
Copyright © 2011-2022 走看看