1. 功能簡介ide
目前在地理信息領域中數據包括矢量和柵格兩種數據組織形式 ,每一種數據均可以對投影進行轉換,目前PIE SDK支持矢量和柵格數據的投影轉換功能,下面對矢量數據的投影轉換功能進行介紹。spa
2. 功能實現說明code
2.1. 實現思路及原理說明orm
第一步視頻 |
獲取須要轉換的矢量數據的路徑和保存路徑blog |
第二步教程 |
得到轉換的空間參考接口 |
第三步ip |
利用transform()方法進行轉換ci |
2.2. 核心接口與方法
接口/類 |
方法/屬性 |
說明 |
DataSource.DatasetFactory |
OpenFeatureDataset (string path) |
建立要素數據集 |
IFeatureDataset |
SpatialReference屬性 |
獲取空間參考 |
DataSource.DataSourceUtil |
Transform (…) |
投影轉換方法 |
項目路徑 |
百度雲盤地址下/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 } |