arcEngine开发之加载栅格数据

Posted firepation

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是一个金字塔对象,金字塔可用于改善性能。它们是原始栅格数据集的缩减采样版本,可包含多个缩减采样图层。下图是栅格数据集创建的两级金字塔示例:
技术分享图片
金字塔通过仅检索使用指定分辨率的数据,可以加快栅格数据的显示速度。例如进行放大操作时,由于已经建立了金字塔,可以高效率的将需要展示的数据显示出来。没有创建金字塔,则必须从磁盘中读取整个数据集,然后将其重采样为更小的大小。

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

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



以上是关于arcEngine开发之加载栅格数据的主要内容,如果未能解决你的问题,请参考以下文章

如何实现 ArcEngine+C# 中实现栅格数据投影转换?求救,急急!!!答案有帮助的加分。

ArcEngine 栅格数据 总结

ArcEngine 栅格数据 总结

C#+arcengine获得栅格数据的属性表

C#+arcengine获得栅格数据的属性表

ArcEngine10.0三维开发