基于MATLABGUI坐标转换软件设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 坐标转换相关理论
2.1 三维空间坐标转换 WGS84 与 BJ54 的坐标转换问题,实质是 WGS-84 椭球体到 BJ54
椭球体的转换问题。 如 果 我 们 是 需 要 把 WGS84 的 经 纬 度 坐 标 转 换 成 BJ54 的 高 斯 投
影坐标,那就还会涉及到投影变换问题。 而如果我们所需的坐标是地 方坐标, 那么我们还要利用四参数法将北京 54 坐标转换成北京地方
(1)将公共点的 WGS84 坐标投影到其对应椭球的高斯平面上,得 到 WGS84 的平面坐标;
(2)利 用 两 个 以 上 的 点 ,采 用 最 小 二 乘 方 法 求 解 四 参 数 ; (3) 先将需要进行坐标转换的 WGS84 坐标投影到其对应椭球的 高斯平面上, 得到 WGS84 的平面坐标, 然后根据第二步求得的四参 数,将其转换为本地平面直角坐标。 为了使上面的过程更为清晰, 现以 WGS84 的大地坐标与转换到 北京 54 坐标所作的流程图为例进行说明:
【Key words】MATLAB GUI;GPS;பைடு நூலகம்even-parameters;Four-patameters
0 引言
MATLAB 软件是 “矩阵实 验 室 ”— ——Matrix Laboratory 的 缩 写 ,是 用 C 语言进行编写的。它具有语言书写简单,语句功能强大,封装了丰 富的数学函数,我们可以直接调用这些数学函数 。 MATLAB 对于数学 运算,特别是矩阵运算,非常高效,而文件批量坐标转换又涉及复杂的 数据计算,这就是为什么利用其进行程序编写实现的原因。
【关 键 词 】MATLAB ;全 球 定 位 系 统 ;七 参 数 ;四 参 数 Design and Implementation of Coordinate Transformation Software Based on MATLAB GUI YANG Zhao-ying DU Ming-yi CAI Guo-yin
2)WGS84 (X,Y,Z)— ——北京 54 (X,Y,Z), 坐标基准的转换,即 Datum 转换。 通常有三种转换方法:七参数、简化三参数、Molodensky。
3)北京 54(X,Y,Z)— ——北京 54(B,L),空间直角坐标到空间大地 坐标的转换。
4)北京 54(B,L)— ——北京 54(x,y), 高斯投影正算。 5)北京 54(x,y)— ——地方坐标(x,y),四参数转换。 通过下面的流程图,我们可以更清晰地了解整个流程。
(Beijing University of Civil Engineering and Architecture “City Mapping” State Key Laboratory of National Adiminstration of Surveying,Mapping and Geoinformation ,Beijing 100044,China)
图 1 WGS84、北京 54、北京地方坐标转换流程图 2.2 二维平面坐标转换
二 维 坐 标 转 换 适 用 于 小 范 围 内 GPS 坐 标 向 地 方 坐 标 的 转 换 ,在 实 际 测 量 时 , 必 须 将 GPS 接 收 机 测 得 的 大 地 经 纬 度 坐 标 B、L (基 于 WGS 一 84 椭球)转换成本地平面直角坐标 x、y(基于本地椭球) 。 其转 换过程为:
图 2 二维平面坐标转换流程图 3 MATLAB GUI 界面设计及程序实现
通过参考南方测绘 GPS 数据处理中的坐标转换软件和 Coord MG 坐标转换软件界面, 经过综合分析比较, 我设计出了这款基于 MATLAB GUI 实 用 、 简 洁 、 界 面 友 好 的 zbjh2013 坐 标 转 换 软 件 , zbjh2013 主 要 用 七 参 数 和 四 参 数 两 种 转 换 方 法 进 行 三 维 空 间 和 二 维 平面坐标转换。
【Abstract】MATLAB software based on the matrix as a unit for data and processing operations, In the MATLAB program design process , object handle is a very important concept . Each object has its own separate handler,by operating the handle, to achieve the object of the control and modify . GPS survey results are based on WGS84 ellipsoid latitude, longitude coordinates and geodetic height, And we need to use the actual application is Beijing Geodetic Coordinate System 1954 or Xi'an Geodetic Coordinate System 1980 Plane Coordinate or local coordinates, Therefore, there exists a coordinate transformation problem. This article describes two coordinate conversion method: Three-dimensional coordinate space conversion sevenparameters method and Two -dimensional four -parameter conversion method,Through the use of these two methods MATLAB interface design and programming to achieve the coordinate data in Excel coordinate conversion.
开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交 互式环境,主要包括 MATLAB 和 Simulink 两大部分。
MATLAB 是英文 “矩阵实 验 室 ”— ——Matrix Laboratory 的 缩 写 ,其 全部采用 C 语言编写。 具有如下特点:
(1)基 本 数 据 单 位 是 矩 阵 ,矩 阵 运 算 如 同 其 他 高 级 语 言 中 的 变 量 操作一样方便,矩阵无需定义即可采用;
(2)高 效 的 数 值 计 算 及 符 号 计 算 功 能 ,能 使 用 户 从 繁 杂 的 数 学 运 算分析中解脱出来;
(3)具 有 完 备 的 图 形 处 理 功 能 ,实 现 计 算 结 果 和 编 程 的 可 视 化 ; (4)友 好 的 用 户 界 面 及 接 近 数 学 表 达 式 的 自 然 化 语 言 ,使 学 者 易 于学习和掌握; (5)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) , 为用户提供了大量方便实用的处理工具。 1.2 MATLAB 程序编写的基本原则 突破以往其它程序语言经常采用的循环思想 ,尽量采用 MATLAB 矩阵式语言书写程序,使得程序简洁,执行效率高。 在程序设计中尽量 避免重复的脚本代码,多用 MATLAB 提供的函数。 系统中的函数要比 用一般代码编写的函数执行效率高很多。 在编写比较大的程序时,应 该对各个细节以函数或子过程方式处理,避免矩阵混淆。 在程序编制过程中,各个功能部分尽量封装在函数中,这样不但 可以减少全局变量个数,而且对各个函数的修改要比对整个程序的修 改方便得多。 1.3 MATLAB 的文件类型 M 文件:用于存储函数过程; Figure 文件:用于显示、存储图像; GUI 文件:用于编辑、存储程序界面。 在 MATLAB 中, 最常用的是 M 文件。 MATLAB 是一种解释性语 言,用户发出的指令需要送到 MATLAB 系统内解释,而 M 文件实际上 就是记录指令的文本,用以统一将命令送入系统内进行解释。 M 文件有命令式(Script)和函数式(Function)两种形式。 命令式文 件 就 是 MATLAB 内 部 命 令 的 简 单 叠 加 ,MATLAB 会 按 顺 序 执 行 文 件 中的命令,这种方式常用来形成主函数。 函数式文件用以解决参数传 递和函数调用的问题,每个具体的功能一般用此方式实现,它的第一 句以 Function 语句为引导。
3.1 MATLAB GUI 相关内容介绍 MATLAB 具有 创 建 图 形 用 户 界 面(GUI)的 功 能 。 GUI 是 用 户 与 计
※基 金 项 目 :国 家 “十 二 五 ”科 技 支 撑 计 划 (2012BAJ14B03-6 )。 作者简介:杨兆瑛(1988—),男,汉族,山东人,北京建筑工程学院 2011 级地图制图与地理信息工程学科硕士研究生,研究方向为遥感与移动测量技术及城市管
理。
Science & Technology Vision 科技视界 25
Excel 是微软公司的办公软件 Microsoft office 的组件之一,它可以 进行各种数据的处理、统计分析和辅助决策操作。 将原始数据存放在 Excel 中,Excel 可以批量对原始数据进行预处理, 达到我们想要的数 据格式,可以将文本导入到 Excel 中,读取与存储都易于操作。
随着全球导航定位系统的发展,尤其 是 美 国 的 GPS 技 术 发 展 ,其 具有全天候,连续性,实时性等优势,已经逐渐取代了传统的测量方 式。 GPS 测量成果是基于 WGS84 椭球的大地坐标,即:大地纬度 B,大 地精度 L,大地高 H。 而我们通常所需要的是基于克拉索夫斯基椭球 的北京 54 坐标系或基于第 16 届 IGUU 大会推 荐 的 1975 年 国 际 椭 球 的西安 80 坐标系。 因此我们需 要 将 GPS 所 测 的 WGS84 大 地 坐 标 转 换成我们所需的北京 54 或西安 80 坐标。
科技·探索·争鸣
Science & Technology Vision
科技视界
项目与课题
坐标。 因此,这个转换过程,一般的 GPS 数据处理 软 件 都 是 采 用 下 述 步骤进行的:
1)WGS84(B,L)— ——WGS84(X,Y,Z),空 间 大 地 坐 标 到 空 间 直 角 坐标的转换。
本文主要介绍两种坐标转换方法:七参数空间坐标转换方法和四 参数平面坐标转换方法, 通过 MATLAB 设计界面并编写 程 序 实 现 这 两种方法,然后通过转换得到的坐标比较分析这两种的精度及适用范 围。
1 MATLAB 简介
1.1 MATLAB 系统概述 MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法
项目与课题
Science & Technology Vision
科技视界
科技·探索·争鸣
基于 M A T L A B G U I 坐标转换软件设计与实现
杨兆瑛 杜明义 蔡国印 (北京建筑大学 “现代城市测绘”国家测绘地理信息局重点实验室,中国 北京 100044)
【摘 要】MATLAB 软件是以矩阵为单位进行数据的运算与处理,MATLAB 的程序设计过程中,对象的句柄是非常重要的一个概念。每个对 象都有自己独立的句柄,通过操作句柄,来实现对象的控制和修改。 GPS 测量的成果是基于 WGS84 椭球的纬、经度坐标和大地高,而我们实际 应用中需要用到的是北京 54 或西安 80 的高斯投影平面坐标或者是地方坐标,因此就存在一个坐标转换的问题。 本文介绍两种坐标转换方法: 空间三维七参数坐标转换方法和平面二维四参数转换方法 ,利用这两种方法通过 MATLAB 设计界面并编写程序实现对 Excel 中的坐标数据进 行坐标转换。
2.1 三维空间坐标转换 WGS84 与 BJ54 的坐标转换问题,实质是 WGS-84 椭球体到 BJ54
椭球体的转换问题。 如 果 我 们 是 需 要 把 WGS84 的 经 纬 度 坐 标 转 换 成 BJ54 的 高 斯 投
影坐标,那就还会涉及到投影变换问题。 而如果我们所需的坐标是地 方坐标, 那么我们还要利用四参数法将北京 54 坐标转换成北京地方
(1)将公共点的 WGS84 坐标投影到其对应椭球的高斯平面上,得 到 WGS84 的平面坐标;
(2)利 用 两 个 以 上 的 点 ,采 用 最 小 二 乘 方 法 求 解 四 参 数 ; (3) 先将需要进行坐标转换的 WGS84 坐标投影到其对应椭球的 高斯平面上, 得到 WGS84 的平面坐标, 然后根据第二步求得的四参 数,将其转换为本地平面直角坐标。 为了使上面的过程更为清晰, 现以 WGS84 的大地坐标与转换到 北京 54 坐标所作的流程图为例进行说明:
【Key words】MATLAB GUI;GPS;பைடு நூலகம்even-parameters;Four-patameters
0 引言
MATLAB 软件是 “矩阵实 验 室 ”— ——Matrix Laboratory 的 缩 写 ,是 用 C 语言进行编写的。它具有语言书写简单,语句功能强大,封装了丰 富的数学函数,我们可以直接调用这些数学函数 。 MATLAB 对于数学 运算,特别是矩阵运算,非常高效,而文件批量坐标转换又涉及复杂的 数据计算,这就是为什么利用其进行程序编写实现的原因。
【关 键 词 】MATLAB ;全 球 定 位 系 统 ;七 参 数 ;四 参 数 Design and Implementation of Coordinate Transformation Software Based on MATLAB GUI YANG Zhao-ying DU Ming-yi CAI Guo-yin
2)WGS84 (X,Y,Z)— ——北京 54 (X,Y,Z), 坐标基准的转换,即 Datum 转换。 通常有三种转换方法:七参数、简化三参数、Molodensky。
3)北京 54(X,Y,Z)— ——北京 54(B,L),空间直角坐标到空间大地 坐标的转换。
4)北京 54(B,L)— ——北京 54(x,y), 高斯投影正算。 5)北京 54(x,y)— ——地方坐标(x,y),四参数转换。 通过下面的流程图,我们可以更清晰地了解整个流程。
(Beijing University of Civil Engineering and Architecture “City Mapping” State Key Laboratory of National Adiminstration of Surveying,Mapping and Geoinformation ,Beijing 100044,China)
图 1 WGS84、北京 54、北京地方坐标转换流程图 2.2 二维平面坐标转换
二 维 坐 标 转 换 适 用 于 小 范 围 内 GPS 坐 标 向 地 方 坐 标 的 转 换 ,在 实 际 测 量 时 , 必 须 将 GPS 接 收 机 测 得 的 大 地 经 纬 度 坐 标 B、L (基 于 WGS 一 84 椭球)转换成本地平面直角坐标 x、y(基于本地椭球) 。 其转 换过程为:
图 2 二维平面坐标转换流程图 3 MATLAB GUI 界面设计及程序实现
通过参考南方测绘 GPS 数据处理中的坐标转换软件和 Coord MG 坐标转换软件界面, 经过综合分析比较, 我设计出了这款基于 MATLAB GUI 实 用 、 简 洁 、 界 面 友 好 的 zbjh2013 坐 标 转 换 软 件 , zbjh2013 主 要 用 七 参 数 和 四 参 数 两 种 转 换 方 法 进 行 三 维 空 间 和 二 维 平面坐标转换。
【Abstract】MATLAB software based on the matrix as a unit for data and processing operations, In the MATLAB program design process , object handle is a very important concept . Each object has its own separate handler,by operating the handle, to achieve the object of the control and modify . GPS survey results are based on WGS84 ellipsoid latitude, longitude coordinates and geodetic height, And we need to use the actual application is Beijing Geodetic Coordinate System 1954 or Xi'an Geodetic Coordinate System 1980 Plane Coordinate or local coordinates, Therefore, there exists a coordinate transformation problem. This article describes two coordinate conversion method: Three-dimensional coordinate space conversion sevenparameters method and Two -dimensional four -parameter conversion method,Through the use of these two methods MATLAB interface design and programming to achieve the coordinate data in Excel coordinate conversion.
开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交 互式环境,主要包括 MATLAB 和 Simulink 两大部分。
MATLAB 是英文 “矩阵实 验 室 ”— ——Matrix Laboratory 的 缩 写 ,其 全部采用 C 语言编写。 具有如下特点:
(1)基 本 数 据 单 位 是 矩 阵 ,矩 阵 运 算 如 同 其 他 高 级 语 言 中 的 变 量 操作一样方便,矩阵无需定义即可采用;
(2)高 效 的 数 值 计 算 及 符 号 计 算 功 能 ,能 使 用 户 从 繁 杂 的 数 学 运 算分析中解脱出来;
(3)具 有 完 备 的 图 形 处 理 功 能 ,实 现 计 算 结 果 和 编 程 的 可 视 化 ; (4)友 好 的 用 户 界 面 及 接 近 数 学 表 达 式 的 自 然 化 语 言 ,使 学 者 易 于学习和掌握; (5)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) , 为用户提供了大量方便实用的处理工具。 1.2 MATLAB 程序编写的基本原则 突破以往其它程序语言经常采用的循环思想 ,尽量采用 MATLAB 矩阵式语言书写程序,使得程序简洁,执行效率高。 在程序设计中尽量 避免重复的脚本代码,多用 MATLAB 提供的函数。 系统中的函数要比 用一般代码编写的函数执行效率高很多。 在编写比较大的程序时,应 该对各个细节以函数或子过程方式处理,避免矩阵混淆。 在程序编制过程中,各个功能部分尽量封装在函数中,这样不但 可以减少全局变量个数,而且对各个函数的修改要比对整个程序的修 改方便得多。 1.3 MATLAB 的文件类型 M 文件:用于存储函数过程; Figure 文件:用于显示、存储图像; GUI 文件:用于编辑、存储程序界面。 在 MATLAB 中, 最常用的是 M 文件。 MATLAB 是一种解释性语 言,用户发出的指令需要送到 MATLAB 系统内解释,而 M 文件实际上 就是记录指令的文本,用以统一将命令送入系统内进行解释。 M 文件有命令式(Script)和函数式(Function)两种形式。 命令式文 件 就 是 MATLAB 内 部 命 令 的 简 单 叠 加 ,MATLAB 会 按 顺 序 执 行 文 件 中的命令,这种方式常用来形成主函数。 函数式文件用以解决参数传 递和函数调用的问题,每个具体的功能一般用此方式实现,它的第一 句以 Function 语句为引导。
3.1 MATLAB GUI 相关内容介绍 MATLAB 具有 创 建 图 形 用 户 界 面(GUI)的 功 能 。 GUI 是 用 户 与 计
※基 金 项 目 :国 家 “十 二 五 ”科 技 支 撑 计 划 (2012BAJ14B03-6 )。 作者简介:杨兆瑛(1988—),男,汉族,山东人,北京建筑工程学院 2011 级地图制图与地理信息工程学科硕士研究生,研究方向为遥感与移动测量技术及城市管
理。
Science & Technology Vision 科技视界 25
Excel 是微软公司的办公软件 Microsoft office 的组件之一,它可以 进行各种数据的处理、统计分析和辅助决策操作。 将原始数据存放在 Excel 中,Excel 可以批量对原始数据进行预处理, 达到我们想要的数 据格式,可以将文本导入到 Excel 中,读取与存储都易于操作。
随着全球导航定位系统的发展,尤其 是 美 国 的 GPS 技 术 发 展 ,其 具有全天候,连续性,实时性等优势,已经逐渐取代了传统的测量方 式。 GPS 测量成果是基于 WGS84 椭球的大地坐标,即:大地纬度 B,大 地精度 L,大地高 H。 而我们通常所需要的是基于克拉索夫斯基椭球 的北京 54 坐标系或基于第 16 届 IGUU 大会推 荐 的 1975 年 国 际 椭 球 的西安 80 坐标系。 因此我们需 要 将 GPS 所 测 的 WGS84 大 地 坐 标 转 换成我们所需的北京 54 或西安 80 坐标。
科技·探索·争鸣
Science & Technology Vision
科技视界
项目与课题
坐标。 因此,这个转换过程,一般的 GPS 数据处理 软 件 都 是 采 用 下 述 步骤进行的:
1)WGS84(B,L)— ——WGS84(X,Y,Z),空 间 大 地 坐 标 到 空 间 直 角 坐标的转换。
本文主要介绍两种坐标转换方法:七参数空间坐标转换方法和四 参数平面坐标转换方法, 通过 MATLAB 设计界面并编写 程 序 实 现 这 两种方法,然后通过转换得到的坐标比较分析这两种的精度及适用范 围。
1 MATLAB 简介
1.1 MATLAB 系统概述 MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法
项目与课题
Science & Technology Vision
科技视界
科技·探索·争鸣
基于 M A T L A B G U I 坐标转换软件设计与实现
杨兆瑛 杜明义 蔡国印 (北京建筑大学 “现代城市测绘”国家测绘地理信息局重点实验室,中国 北京 100044)
【摘 要】MATLAB 软件是以矩阵为单位进行数据的运算与处理,MATLAB 的程序设计过程中,对象的句柄是非常重要的一个概念。每个对 象都有自己独立的句柄,通过操作句柄,来实现对象的控制和修改。 GPS 测量的成果是基于 WGS84 椭球的纬、经度坐标和大地高,而我们实际 应用中需要用到的是北京 54 或西安 80 的高斯投影平面坐标或者是地方坐标,因此就存在一个坐标转换的问题。 本文介绍两种坐标转换方法: 空间三维七参数坐标转换方法和平面二维四参数转换方法 ,利用这两种方法通过 MATLAB 设计界面并编写程序实现对 Excel 中的坐标数据进 行坐标转换。