zoukankan      html  css  js  c++  java
  • PIE SDK栅格数据的投影转换

     

    1. 功能简介

        为了适应不同数据显示分析的需要,数据的投影可以进行相应的转换,目前PIE SDK支持多种数据格式的投影转换,下面对栅格数据格式的投影转换功能进行介绍。

    2. 功能实现说明

    2.1. 实现思路及原理说明

    第一步

    获取要转换投影的数据

    第二步

    获取转换的投影空间参考

    第三步

    利用Transform()进行投影转换

    2.2. 核心接口与方法

    接口/类

    方法/属性

    说明

    DatasetFactory

    OpenRasterDataset(string strPath, OpenMode mode)

    打开栅格数据集

    PIE.DataSource.DataSourceUtil

    Transform (…)

    投影转换

    2.3. 示例代码

    项目路径

    百度云盘地址下/PIE示例程序/04数据操作/13栅格数据的投影转换

    数据路径

    百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

    视频路径

    百度云盘地址下/PIE视频教程/04数据操作/13栅格数据的投影转换.avi

    示例代码

     1         /// <summary>
     2         /// 栅格数据的投影转换
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void toolStripButton_TransformRasterDataPrj_Click(object sender, EventArgs e)
     7         {
     8             try
     9             {
    10                 //要投影转换的源数据以及转换后的保存位置
    11                 OpenFileDialog openFileDialog = new OpenFileDialog();
    12                 openFileDialog.Title = "需转换的栅格数据:";
    13                 openFileDialog.Filter = "RasterFile|*.tiff;*.tif";
    14                 if (openFileDialog.ShowDialog() != DialogResult.OK) return;
    15                 SaveFileDialog saveFileDialog = new SaveFileDialog();
    16                 saveFileDialog.Title = "保存为:";
    17                 saveFileDialog.Filter = "RasterFile|*.tiff";
    18                 if (saveFileDialog.ShowDialog() != DialogResult.OK) return;
    19                 string pathSource = openFileDialog.FileName;
    20                 string pathDes = saveFileDialog.FileName;//@"D:data	estTransformSave.tiff";
    21 
    22                 OpenFileDialog openFileDialog2 = new OpenFileDialog();
    23                 openFileDialog.Title = "参考栅格数据:";
    24                 openFileDialog2.Filter = "RasterFile|*.tiff;*.img;";
    25                 openFileDialog2.ShowDialog();
    26                 string path1 = openFileDialog2.FileName;
    27                 IRasterDataset rasterDataSet1 = DatasetFactory.OpenRasterDataset(path1, OpenMode.ReadOnly);
    28                 ISpatialReference spatialReference = rasterDataSet1.SpatialReference;
    29                 bool bOk = PIE.DataSource.DataSourceUtil.Transform(pathSource, pathDes, spatialReference, 0, null, null, 0.00001, 0.00001);
    30                 if (bOk)
    31                 {
    32                     MessageBox.Show("投影转换成功");
    33                 }               
    34                 return;
    35             }
    36             catch (Exception ex)
    37             {
    38                 MessageBox.Show(ex.ToString(), "栅格投影转换异常");
    39             }
    40  }
    View Code

    2.4. 示例截图

  • 相关阅读:
    也八卦一把:李开复离开微软,投奔Google
    用于苹果OS Ⅹ Dashboard Widgets 的Google Map小部件
    下一代Hotmail和MSN Messenger最新界面截图
    Go2Map也开放了地图API
    《Excel与VBA程序设计》第三章及附录
    非广告: 365key的好处(随时收集)
    VS2005多线程程序在IDE下调试的一个问题
    买了《.net模式--架构、设计和过程》
    Expect 在网络管理中发挥着重要作用
    source insight 快捷键
  • 原文地址:https://www.cnblogs.com/PIESat/p/10169177.html
Copyright © 2011-2022 走看看