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

     

  • 相关阅读:
    Skyline软件SFS服务介绍
    选择三维地理信息系统(GIS)软件平台需要考虑的内容
    如何利用Skyline6.1的接口创建动态对象DynamicObject
    Skyline中的隐藏组
    基于Skyline的TerraExplorer6.1.1如何通过二次开发实现折线和多边形对象的手动绘制
    如何利用Skyline6.1实现多球对比功能
    Skyline for Android & iOS devices
    VBS、WKT、投影
    FME+Oracle Spatial+SFS+TEPro
    如何生成静态页
  • 原文地址:https://www.cnblogs.com/PIESat/p/10169211.html
Copyright © 2011-2022 走看看