1. 程式人生 > >PIE SDK向量資料的投影轉換

PIE SDK向量資料的投影轉換

 

1功能簡介

    目前在地理資訊領域中資料包括向量和柵格兩種資料組織形式 ,每一種資料都可以對投影進行轉換,目前PIE SDK支援向量和柵格資料的投影轉換功能,下面對向量資料的投影轉換功能進行介紹。

2功能實現說明

2.1 實現思路及原理說明

第一步

獲取需要轉換的向量資料的路徑和儲存路徑

第二步

獲得轉換的空間參考

第三步

利用transform()方法進行轉換

2.2

核心介面與方法

介面/類

方法/屬性

說明

DataSource.DatasetFactory

OpenFeatureDataset (string path)

建立要素資料集

IFeatureDataset

SpatialReference屬性

獲取空間參考

DataSource.DataSourceUtil

Transform (…)

投影轉換方法

2.3示例程式碼

專案路徑

百度雲盤地址下/PIE示例程式/04資料操作/08向量投影轉換

資料路徑

百度雲盤地址下/PIE示例資料/向量資料/Shape/

視訊路徑

百度雲盤地址下/PIE示例程式/04資料操作/08向量投影轉換.avi

示例程式碼

 1          /// <summary>
2 /// 向量資料投影轉換 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_TransformVectorPrj_Click(object sender, EventArgs e) 7 { 8 try 9 { 10 //1.獲取要投影轉換的源資料以及轉換後的儲存位置 11 OpenFileDialog openFileDialog = new OpenFileDialog(); 12 openFileDialog.Title = "需轉換的向量資料:"; 13 openFileDialog.Filter = "ShapeFile|*.shp"; 14 if (openFileDialog.ShowDialog() != DialogResult.OK) return; 15 SaveFileDialog saveFileDialog = new SaveFileDialog(); 16 saveFileDialog.Title = "儲存為:"; 17 saveFileDialog.Filter = "ShapeFile|*.shp"; 18 if (saveFileDialog.ShowDialog() != DialogResult.OK) return; 19 string pathSource2 = openFileDialog.FileName;// @"D:\data\test\mian.shp"; 20 string pathDes2 = saveFileDialog.FileName;// @"D:\data\test\TransformSave.shp"; 21 22 //2.得到參考投影格式資料 23 OpenFileDialog openFileDialog2 = new OpenFileDialog(); 24 openFileDialog2.Title = "參考投影資料"; 25 openFileDialog2.Filter = "Shape|*.shp"; 26 openFileDialog2.ShowDialog(); 27 string path2 = openFileDialog2.FileName; 28 IFeatureDataset featureDataSet2 = DatasetFactory.OpenFeatureDataset(path2); 29 ISpatialReference spatialReference2 = featureDataSet2.SpatialReference; 30 31 //3.進行投影轉換 32 bool bOk = PIE.DataSource.DataSourceUtil.Transform(pathSource2, pathDes2, spatialReference2, 0, null, null, 1, 1); 33 if (bOk) 34 { 35 MessageBox.Show("向量資料投影轉換成功"); 36 } 37 } 38 catch (Exception ex) 39 { 40 MessageBox.Show(ex.ToString(),"投影資料轉換異常"); 41 } 42 }
View Code

2.4示例截圖