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


     

    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. 示例截图 

     

  • 相关阅读:
    20191318实验四 《Python程序设计》实验报告
    20191318实验三 Socket编程技术
    20191318实验二 Python程序设计入门
    实验一 Python程序设计入门
    《信息安全专业导论》第十二周学习总结
    《信息安全专业导论》第十一周学习总结
    markdown画思维导图
    markdown页面内跳转
    20191206 2019-2020-2 《Python程序设计》实验四报告
    20191206 实验三《Python程序设计》实验报告
  • 原文地址:https://www.cnblogs.com/PIESat/p/10169211.html
Copyright © 2020-2023  润新知