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 (…) |
投影轉換 |
項目路徑 |
百度雲盤地址下/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 } |