PIE SDK矢量數據的投影轉換

 

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 (…)

投影轉換方法

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

 

相關文章
相關標籤/搜索