PIE SDK柵格數據的投影轉換

 

1. 功能簡介ide

    爲了適應不一樣數據顯示分析的須要,數據的投影能夠進行相應的轉換,目前PIE SDK支持多種數據格式的投影轉換,下面對柵格數據格式的投影轉換功能進行介紹。spa

2. 功能實現說明code

2.1. 實現思路及原理說明orm

第一步視頻

獲取要轉換投影的數據blog

第二步教程

獲取轉換的投影空間參考接口

第三步ip

利用Transform()進行投影轉換ci

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\test\TransformSave.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. 示例截圖

相關文章
相關標籤/搜索