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

  • 相关阅读:
    Apollo服务搭建
    常用MIME类型
    eclipse 搭建 swagger-ui(maven项目 springboot框架)
    子页面iframe跨域执行父页面定义的JS方法
    SpringBoot 实现前后端分离的跨域访问(CORS)
    使用 QueryRunner 实现 JDBC 常用操作封装
    纯Java版本的JDBC基础操作,支持查询结果到泛型实体类的转换
    javascript_鼠标划词,弹出选取的词
    js获取url参数值
    纯CSS打造的下拉菜单
  • 原文地址:https://www.cnblogs.com/PIESat/p/10169177.html
Copyright © 2011-2022 走看看