zoukankan      html  css  js  c++  java
  • 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. 示例截图 

     

  • 相关阅读:
    c++实验9 图及图的操作实验
    Html/CSS 示例演练 图书馆后台界面
    c++实验8 哈夫曼编码-译码器
    Html/CSS 初步介绍html和css部分重要标签
    c++实验7 二叉树
    JavaWeb -学生信息管理实践(JDBC+web+三层架构+DBUtil构造思路)
    java 实验6 图形用户界面设计试验(2)
    操作表与操作表数据行
    数据表操作练习
    数据库的介绍:
  • 原文地址:https://www.cnblogs.com/PIESat/p/10169211.html
Copyright © 2011-2022 走看看