arcEngine開發之加載柵格數據
阿新 • • 發佈:2018-03-03
建立 tps 這也 dataset sdn ont blog 還需 tor
加載數據思路
在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開發之加載柵格數據