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 estmian.shp"; 20 string pathDes2 = saveFileDialog.FileName;// @"D:data estTransformSave.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 } |
2.4. 示例截图