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

示例代码

          /// <summary>
/// 矢量数据投影转换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripButton_TransformVectorPrj_Click(object sender, EventArgs e)
{
try
{
//1.获取要投影转换的源数据以及转换后的保存位置
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "需转换的矢量数据:";
openFileDialog.Filter = "ShapeFile|*.shp";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "保存为:";
saveFileDialog.Filter = "ShapeFile|*.shp";
if (saveFileDialog.ShowDialog() != DialogResult.OK) return;
string pathSource2 = openFileDialog.FileName;// @"D:\data\test\mian.shp";
string pathDes2 = saveFileDialog.FileName;// @"D:\data\test\TransformSave.shp"; //2.得到参考投影格式数据
OpenFileDialog openFileDialog2 = new OpenFileDialog();
openFileDialog2.Title = "参考投影数据";
openFileDialog2.Filter = "Shape|*.shp";
openFileDialog2.ShowDialog();
string path2 = openFileDialog2.FileName;
IFeatureDataset featureDataSet2 = DatasetFactory.OpenFeatureDataset(path2);
ISpatialReference spatialReference2 = featureDataSet2.SpatialReference; //3.进行投影转换
bool bOk = PIE.DataSource.DataSourceUtil.Transform(pathSource2, pathDes2, spatialReference2, , null, null, , );
if (bOk)
{
MessageBox.Show("矢量数据投影转换成功");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(),"投影数据转换异常");
}
}

2.4. 示例截图

PIE SDK矢量数据的投影转换的更多相关文章

  1. PIE SDK矢量数据的修改

    1.功能简介 目前PIE SDK支持矢量数据的修改或删除,下面对矢量数据的投影转换功能进行介绍. 2.功能实现说明 2.1. 矢量数据的修改 2.2. 实现思路及原理说明 第一步 获取需要修改的矢量数 ...

  2. PIE SDK矢量数据的读取

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  3. PIE SDK栅格数据的投影转换

    1. 功能简介 为了适应不同数据显示分析的需要,数据的投影可以进行相应的转换,目前PIE SDK支持多种数据格式的投影转换,下面对栅格数据格式的投影转换功能进行介绍. 2. 功能实现说明 2.1. 实 ...

  4. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  5. PIE SDK矢量数据的查询

    1.功能简介 矢量数据查询有属性查询和空间几何查询,下面对矢量数据的属性查询和空间查询做介绍 2.功能实现说明 2.1. 矢量数据的属性和空间查询 2.2. 实现思路及原理说明 第一步 得到要查询的图 ...

  6. PIE SDK矢量数据空间索引的创建

    1. 功能简介 空间索引的使用便于数据的查询:所以在创建矢量数据的时候创建空间索引,下面对矢量数据如何创建空间索引进行功能介绍. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 创建矢量要素 ...

  7. PIE SDK矢量数据的创建

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  8. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  9. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

随机推荐

  1. ubuntu扩展屏幕

    1.了解设置的名称 直接运行xrandr(不带任何参数)就可以显示出当前的显示设备及设备的模式. xdj@xdj-Presario-CQ42-Notebook-PC:~$ xrandr Screen ...

  2. JavaScript跨域调用基于JSON的RESTful API

    1. 基本术语 AJAX(Asynchronous JavaScript And XML,异步JavaScript和XML):AJAX是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交 ...

  3. bootstrap页面效果图

    <!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...

  4. Struts2 校验数据问题

    我们会经常遇到一下问题,例如我在前端输入数据,把数据发送到和后台,我首先要校验这个数据, 比如说:前端必须输入一个日期类型的数据,后端才能正确接收,要是输入一个不是日期型的数据, 那么后端就要把数据打 ...

  5. Java web 三层架构 模拟图

  6. 企业管理系统——第三周需求&原型改进_张正浩,黄锐斌

    企业管理系统——需求&原型改进,架构设计,测试计划 组员:张正浩,黄锐斌 一.需求&原型改进 1.给目标用户展现原型,与目标用户进一步沟通理解需求 我们的目标用户是公司管理员 场景:随 ...

  7. duilib入门简明教程 -- 响应按钮事件(4)

       上一个Hello World的教程里有一句代码是这样的:CControlUI *pWnd = new CButtonUI;     也就是说,其实那整块绿色背景区域都是按钮的区域.(这里简要介绍 ...

  8. 阿里 RPC 框架 DUBBO 初体验

    最近研究了一下阿里开源的分布式RPC框架dubbo,楼主写了一个 demo,体验了一下dubbo的功能. 快速开始 实际上,dubbo的官方文档已经提供了如何使用这个RPC框架example代码,基于 ...

  9. retain, copy, assign区别

    1.retain, copy, assign区别 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b ...

  10. php代码审计5审计命令执行漏洞

    命令执行漏洞:通过易受攻击的应用程序在主机操作系统上执行任意命令,用户提供的数据(表单,cookie,http头等)未过滤 挖掘思路:用户能够控制函数输入,存在可执行代码的危险函数 命令执行和代码执行 ...