PIE SDK栅格数据的金字塔创建

本文介绍了如何使用PIESDK创建栅格数据的金字塔来提升显示性能,通过逐步细化分辨率等级,实现放大操作中保持一致的性能表现。文章提供了详细的实现步骤、核心接口方法和示例代码。

 

1. 功能简介

    金字塔可用于改善性能,可以加快栅格数据的显示速度。随着放大操作的进行,各个更精细的分辨率等级将逐渐得到绘制;但性能将保持不变;目前PIE SDK支持栅格数据的金字塔创建,下面对栅格数据格的金字塔创建的功能进行介绍。

2. 功能实现说明

2.1.  实现思路及原理说明

第一步

获取要建立金字塔的栅格数据

第二步

利用BuildPyramid(…)进行建立金字塔

2.2. 核心接口与方法

接口/类

方法/属性

说明

 

IRasterDataset

GetPyramidLevel()

获取金字塔级别

BuildPyramid(…)

建立金字塔

DataSource.DatasetFactory

OpenRasterDataset (…)

打开栅格数据集

2.3. 示例代码

项目路径

百度云盘地址下/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         }
View Code

2.4. 示例截图 

 

转载于:https://www.cnblogs.com/PIESat/p/10169211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值