PIE SDK矢量数据的投影转换

本文介绍了如何使用PIESDK在地理信息系统中实现矢量数据的投影转换,详细步骤包括获取数据路径、确定空间参考和应用转换方法。示例代码展示了从选择源文件到保存转换后数据的完整流程。

 

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

 

转载于:https://www.cnblogs.com/PIESat/p/10168776.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值