1. 功能简介ide
金字塔可用于改善性能,能够加快栅格数据的显示速度。随着放大操做的进行,各个更精细的分辨率等级将逐渐获得绘制;但性能将保持不变;目前PIE SDK支持栅格数据的金字塔建立,下面对栅格数据格的金字塔建立的功能进行介绍。性能
2. 功能实现说明ui
2.1. 实现思路及原理说明spa
第一步code |
获取要创建金字塔的栅格数据视频 |
第二步blog |
利用BuildPyramid(…)进行创建金字塔教程 |
2.2. 核心接口与方法接口
接口/类ip |
方法/属性 |
说明 |
IRasterDataset |
GetPyramidLevel() |
获取金字塔级别 |
BuildPyramid(…) |
创建金字塔 |
|
DataSource.DatasetFactory |
OpenRasterDataset (…) |
打开栅格数据集 |
项目路径 |
百度云盘地址下/PIE示例程序/04数据操做/14栅格数据建立金字塔 |
数据路径 |
百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif |
视频路径 |
百度云盘地址下/PIE视频教程/04数据操做/14栅格数据建立金字塔.avi |
示例代码 |
|
![]() 1 /// <summary> 2 /// 创建金字塔 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_BuildPyramid_Click(object sender, EventArgs e) 7 { 8 try 9 { 10 OpenFileDialog openFileDialog = new OpenFileDialog(); 11 openFileDialog.Filter = "RasterFile|*.tiff"; 12 if (openFileDialog.ShowDialog() != DialogResult.OK) return; 13 string path = openFileDialog.FileName; 14 IRasterDataset rasterDataSet = DatasetFactory.OpenRasterDataset(path, OpenMode.ReadOnly); 15 int count = rasterDataSet.GetPyramidLevel(); 16 MessageBox.Show("金字塔建立以前的级别为【" + count + "】"); 17 bool bOk = rasterDataSet.BuildPyramid(Convert.ToSingle(0.5), DadaSampleType.CUBIC, null, null); 18 count = rasterDataSet.GetPyramidLevel(); 19 if (bOk) 20 { 21 MessageBox.Show("金字塔建立成功,金字塔建立以后的级别为【" + count + "】"); 22 } 23 else 24 { 25 MessageBox.Show("金字塔建立失败!"); 26 } 27 return; 28 } 29 catch (Exception ex) 30 { 31 MessageBox.Show(ex.ToString(), "建立金字塔失败异常"); 32 } 33 } |