已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目录录 第一章 绪论 1 第一节 坐标系统概述 1 第二节 Visual C 6 0 概述 2 第二章 坐标转换原理 5 第一节 常用坐标系统 5 第二节 常用的坐标转换方法 6 2 1 空间大地直角坐标系与大地坐标系之间的转换 7 2 2 大地坐标与高斯平面坐标系之间的转换 8 2 2 1 高斯投影正算公式 8 2 2 2 高斯投影反算公式 10 2 3 不同空间大地直角坐标系之间的转换 11 2 4 不同平面直角坐标系之间的转换 12 第三章 坐标转换在 VC 中的实现 13 第一节 坐标类 CCoordinate 13 第二节 矩阵类 CMatrix 15 第四章 软件使用说明 16 第一节 程序界面简介 16 第二节 新建文档 17 第三节 转换坐标 19 小结 20 参考文献 21 语汇表 21 致谢 22 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 1 第一章第一章 绪论绪论 随着现代科技的发展 计算机的广泛应用 GPS 卫星定位技术 地理信息系统 GIS 以及遥感技术 RS 的不断成熟与发展 我们的测事业也正发生着翻天覆地的变 化 从传统的人工野外测量到现代高科技自动化数字成图 测绘科学经历了一次又一次的 变革 然而在不同时期的测绘成果却也不尽相同 尤其在我国 由于历史的原因 我们曾 更换过几次大地坐标系统 因此要利用前人的测绘成果 就得进行坐标转换 坐标转换的 精度将直接影响我们对先前测绘成果的利用 在 GPS 卫星定位技术广泛应用的今天 由于 世界各国所使用的椭球参数不同 在不同地区进行 GPS 测量也将涉及到不同坐标系统的转 换 因而坐标转换在现代测量中已为一个值得研究的问题 第一节第一节 坐标系统概述坐标系统概述 众所周知 我们所居住的地球是一个不规则的椭球体 百余年来不少科学家为研究地 球椭球而奋斗 他们根据各自收集到的资料 曾先后推算出不同的地球椭球参数值 a 和 但是由于当时人们所用资料的局限性 所推算得到的结果只能表征某个国家或某个大陆 的大地水准面形状 都还不能完善地接近整个地球的形状和大小 还不是总地球椭球 所 以现如今绝大多数的国家还只能沿用这些古老的椭球 经过定位后作为各自的参考椭球 我国旧中国使用的是海福特椭球 解放后使用克拉索夫斯基椭球 费除了南京大地原点 使用前苏联原点 即我们常说的 1954 年北京坐标系 1980 年又建立了国家大地坐标系 采用 IAG 75 的椭球参数 原点位于西安 即我们常说的全国 80 坐标系 常用地球椭球参数常用地球椭球参数表表 椭球名称推算年代 长半径a m 扁率 的倒数 Krassovsky19426378245298 3 IAG 7519756378140298 257 IAG 8019806378137298 257 WGS 7219726378135298 26 WGS 8419846378137298 257223563 Hayford19096378388297 0 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 2 大地坐标系 大地坐标系 在测量中 椭球面坐标系是我们计算工作的基础 其中我们常用的大 地坐标系 图 1 1 1 是以参考椭球中心为原点 用大地经度 B 和大地纬度 L 来表示大地 坐标 经过定位后参考椭球的中心大都还不能与地球的质心完全重合 这就导致了使用不 同椭球参数的国家和地区所测得的大地坐标之间存在一定的差异 空间直角坐标系 空间直角坐标系 近几十年来 由于三维大地测量和卫星大地测量的发展 空间大 地直角坐标系的使用日益广泛 它和大地坐标系一样 在军事和民用有关部门 已作为一 种实用的坐标系 空间大地坐标系 图 1 1 2 也是一个以参考椭球中心为原点的右手坐标 系 Z 轴与椭球的旋转轴重合 X 轴沿大地起始子午面 NOG 方向 Y 轴与此面垂直 平面直角坐标系 平面直角坐标系 平面直角坐标 图 1 1 3 是在椭球面坐标系的基础上经过正形 投影转化而来的 在实际工作中应用非常广泛 从椭球面坐标系到平面直角坐标系的转换 也是我们测量工作根本任务的一部分 由投影的方式不同 又存在好几类平面直角坐标系 我国主要采用高斯投影 因而大部分地图坐标是用的高斯平面直角坐标 在测量工作中 要先定义椭球参数 然后才有这一系列的坐标系 通常情况下一个地 区所使用的椭球参数在一定时期内是固定的 这样便于测量成果的交流 对于不同的椭球 参数下所得的测量成果 则要进行坐标转换 使用相同的椭球参数 这也就是我们现在所 要做的工作 一般坐标转换可分成两种情况 不同参考椭球之间的坐标转换和同一参考椭 球下不同坐标系中的坐标转换 包括地图投影 第二节第二节 Visual C 6 0 概述概述 Microsoft 的 Visual 系列开发工具 以它自己独到的特点和优势赢得了越来越多的开发 者 当然了 我也是其中的一员 编程的可视化是最容易被人们所感知的优点之一 在微机版 C 程序设计环境中 微软公司的 Visual C 可以说是独领风骚 微软公司 于 1998 年推出了 Microsoft Visual Studio 6 0 Microsoft 可视化工作室 Microsoft Visual C 6 0 是其中的一个组件 它汇集了微软公司的包括 智能感知 在内的技术精华 不仅 全面地贯彻了面向对象技术 而且在编译优化技术方面较其它同类产品具有明显的优势 它是一个彻底的程序员级开发环境 可视化 的设计减少了不少编程的工作量 利用 Visual C 6 0 几乎可以完成任何设计功能 小至普通的应用系统 大至复杂的应用开发工 具 图图 1 1 1图图 1 1 2图图 1 1 3 经度 纬度 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 3 Visual C 6 0 是 Microsoft 公司在多年使用不断改进的基础上推出的 支持 Win32 平 台应用程序 application 服务 service 和控件 control 的开发 主要有以下特点 1 Visual C 6 0 开发环境开发环境 Visual C 6 0 开发环境 Developer Studio 是由 Microsoft Windows 环境下运行的一套集 成工具所组成 图 1 1 4 包括文本编辑器 Text Editor 资源编辑器 Resource Editor 项目建立工具 Project Build Facilities 优化编译器 Optimizing Compiler 增量连接器 Incremental Linker 源代码浏览器 Source Code Browser 集成调试器 Integrated Debugger 等 Visual C 6 0 允许用户根据自己的口味设计 Visual C 6 0 开发环境 用以提高操作 效率 它可以让你轻而易举地改变工具栏的外观和显示状态 使用 Developer Studio 不仅可以创建由 Visual C 6 0 使用的资源文件和其它文档 而且可以创建 查看和编辑与任何 ActiveX 部件有关的文档 ActiveX 文档 在 Developer Studio 中 可以在项目工作区 Project Workspace 中组织文件 File 项目 Project 和项目配置 Project Configuration 可以使用工作区窗口来查看的访问项 目中的各种元素 项目工作区可以含有多个项目 每个项目要么是顶层项目 Top level Project 要么是其它项目的子项目 Subproject 2 使用应用程序向导 使用应用程序向导 AppWizard 简化应用程序的开发 简化应用程序的开发 随着软件产业的快速发展 软件开发越来越适应市场竞争的需要 由于用户对软件开 发周期的要求越来越短 在软件工程领域出现了快速原型设计技术 使用这种技术后 开 图 1 1 4 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 4 发人员可以在很短的时间里设计出一个粗略的应用程序框架 可以作为向客户演示并进一 步了解客户需求的手段 Visual C 6 0 将快速原型技术和智能感知技术结合起来 提供了 大量的应用程序设计 Wizard 向导 其每个向导可为一种特殊类型的程序建立工程 它在创建新工程时提供应用程序的框架 我们不必从头做起 就能很快设计出程序原型 它像其它动态链接库一样 在 Developer Studio 环境下运行 并且要求读者提供新程序的特 征 然后生成框架程序的源文件 其中这些新特征的大部分通用代码都已经替读者写好了 Visual C 6 0 为专业工程 如 ActiveX 控件和 Developer Studio 附加应程序 提供了各种 各样的向导 甚至有向导来帮助读者建立自己的定制向导 创建应用程序的基本框架后 可以使用 Class Wizard 来创建新类 Class 定义消息处 理函数 Message Handler 覆盖虚拟函数 Virtual Function 从对话框 Dialog Box 表单视图 Form View 或者记录视图 Record View 的控件中获取数据并验证数据的合 法性 添加属性 Property 事件 Event 和方法 Method 到自动化对象 Automation Object 中 此外 还可以使用 WizardBar 来定义消息处理函数 覆盖虚拟函数并浏览实现 文件 cpp 3 最快的集成数据库访问最快的集成数据库访问 Visual C 6 0 包含了开发数据库应用程序的全方位支持 允许用户建立强有力的数据 库应用程序 可以使用 ODBC 类和高性能的 32 位 ODBC 驱动程序来访问各种数据库管理系 统 可以使用 DAO 数据访问对象 类通过编程语言来访问和操纵数据库中的数据 并管理数据库 数据库对象与结构 4 强有力的强有力的 Internet 支持支持 随着网络的发展 计算机和网络必会合二为一 网络应用程序的开发已变得非常重要 Visual C 6 0 对 Internet 应用程序的开发提供了有强有力的支持 Win32 Internet API WinInet 使用 Internet 成为应用程序的一部分并简化了对 Internet 服务 FTP HTTP 和 Gopher 的访问 ActiveX 文档可以显示在整个 Web 浏览器 如 Internet Explorer 或 OLE 容器 如 Microsoft Office Binder 的整个客户窗口中 ActiveX 控件可以用在 Internet 和桌面应用程序中 Asynchronous Monikers 使应用程序可以异步下载文件和控件属性 可以使用 ChttpServer ChttpFilter ChttpServerContext ChttpFilterContext 和 ChttpStream 类来创建动态链接库以便添加功能到 Internet 服务器和 Web 页中 Microsoft Visual C 6 0 是一个功能强大 灵活性好并可完全可扩展的 Windows 开发 系统 如今作为一种通用且功能强大的编程语言 Visual C 的地位不可动摇 它提供的 完全集成性以及可视化用户界面驱动的特性 不仅适用于传统的 C C 开发过程 更充分 优化了对面向对象技术的支持 一方面 它完美地与 Windows 平台进行结合 从而保证了 程序具有强大的功能 另一方面 其无可比拟的与 Windows 同步更新的优势对程序员也具 有极大的吸引力 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 5 第二章第二章 坐标转换原理坐标转换原理 在大地测量中 坐标转换是一项必不可少的工作 尤其是在 GPS 广泛应用的今天 坐 标转换应用更是频繁 坐标转换大致可分为两类 不同椭球之间的坐标转换 同一椭球下 不同坐标系之间的坐标转换 不同椭球之间的坐标转换相对来说比较复杂一点 通常都会 涉及到不同椭球之间转换参数的计算问题 相同椭球下坐标转换相对简单 一般都有固定 的公式 不需要自己计算转换参数 坐标转换一般可遵循以下步骤 如果是在同一椭球下 则可直接转换 不同椭球之间的坐标转换一般是先换成各自的大地空间直角坐标 用七参 数转换 也可都转换成平面坐标 然后用四参数或六参数转换 这种转换方法比较适用于 有一个是平面坐标的情况 第一节第一节 常用坐标系统常用坐标系统 在我国 现常用的椭球面坐标系有 北京 54 坐标系 全国 80 坐标系 WGS 84 坐标 系 常用的平面直角坐标系主要是高斯三度 或六度 带投影后的平面直角坐标系以及各 地方独立坐标系 如北京城建坐标系 不同的坐标系用在不同的场合 各自都有不同的意 义 现就这几种坐标系作一初略的介绍 1 北京北京 54 坐标系坐标系 20 世纪 50 年代 在我国天文大地网建立初期 鉴于当时的历史条件 采用了克拉索 夫斯基椭球元素 a 6378245m 1 298 3 并与前苏联 1942 年普尔科沃坐标系进 行联测 通过计算建立了我国大地坐标系 命名为 1954 年北京坐标系 简称 北京 54 坐 标系 北京 54 坐标系和前苏联 1942 年普尔科沃坐标系有一定的关系 椭球参数和大地原点 一致 但又不完全是前苏联 1942 年普尔科沃坐标系 如大地点高程是以 1956 年青岛验潮 站求出的黄海平均海水面为基准 高程异常是以前苏联 1955 年大地水准面重新平差结果为 起算值 按我国天文水准路线推算出来的 几十年来 我国按北京 54 坐标系完成了大量的测绘工作 在该坐标系上 实施了天文 大地网局部平差 通过高斯 克吕格投影 得到点的平面坐标 测制了各种比例尺地形图 这一坐标系在国家经济建设和国防建设的各个领域中发挥了巨大的作用 该坐标系在今后 相当长一个时期内 在一些部门还将继续使用 2 全国全国 80 坐标系坐标系 为了进行全国天文大地网整体平差 彩了新的椭球元素和进行了新的定位和定向 1978 年以后 建立了 1980 年国家大地坐标系 简称 全国 80 坐标系 全国 80 坐标系是参心坐标系 椭球短轴 Z 轴平行于由地球地心指向 1968 0 地极原点 JYD 的方向 大地起始子午面平行于格林尼治平均天文台子午面 X 轴在大地起始子 午面内与 Z 轴垂直指向经度零方向 Y 轴与 Z X 轴成右手坐标系 椭球参数彩 IAG75 推 荐值 a 6378140m 1 298 257 椭球定位时按我国范围内高程异常值平方和最小 为原则求解参数 高程系统基准是 1956 年青岛验潮站求出的黄海平均海水面 大地原点设 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 6 在我国中部陕西省泾阳县永乐镇 全国 80 坐标系建立后 实施了全国天文大地网整体平差 提供了属于全国 80 坐标系 的大地点成果 这种成果与原大地点局部平差成果二者属于两个不同的参心坐标系 这给 实际的使用带来一定问题 实用部门和单位大量成果是北京 54 坐标系的 因而也有的部门 和单位将全国 80 坐标系的空间直角坐标经三个平移参数平移变换至克氏椭球中心 椭球参 数保持与北京 54 坐标系相同而建立所谓的新北京 54 坐标系 这样新北京 54 坐标系与原北 京 54 坐标系坐标接近 但其精度和全国 80 坐标系完全一样 3 WGS 84 坐标系坐标系 随着 GPS 测量的广泛应用 WGS 84 坐标系也逐渐被人们所认识 因为 GPS 卫星星历 是以 WGS 84 坐标系为根据而建立的 从而 GPS 单点定位的坐标以及相对定位中解算的基 线向量属于 WGS 84 大地坐标系 WGS 84 坐标系的原点位于地球质心 Z 轴指向 BIH 1984 0 定义的协议地球极 CTP 方向 X 轴指向 BIH 1980 0 的零子午面和 CTP 赤道的交点 Y 轴与 Z 轴构成右手 坐标系 对应于 WGS 84 坐标系有 WGS 84 椭球 其 a 6378137m 1 298 257223563 WGS 84 大地水准面高 N 等于由 GPS 定位测定的点的大地高 H 减去该点 的正高 H正 N 值可以利用球谐函数展开式和一套 n m 180 阶项的 WGS 84 地球重力场 模型系数计算得出 也中可用特殊的数学立法精确计算局部大地水准面高 N 一旦大地水 准面高 N 确定之后 便可利用 H正 H N 计算各 GPS 点的正高 H正 4 高斯投影平面直角坐标系高斯投影平面直角坐标系 高斯投影又叫高斯 克吕格投影 它是一种横轴椭圆柱正形投影 在我国 几乎所有 的测绘成果都是采用的高斯 克吕格投影 具体又有三度带和六度带高斯投影 它们的投 影原理相同 只是投影带的宽度不同而已 高斯投影后的 x 轴与中央子午线重合 中央子 午线与赤道的交点为坐标原点 后为了计算方便 将 x 轴向西移动 500 公里 以使 y 值为 正值 由于我国处于北半球 x 值就不存在这一问题 5 地方独立坐标系地方独立坐标系 我国许多城市 矿区基于实用 方便和科学的目的 将地方独立测量控制网建立在当 地的平均海拔高程面上 并以当地子午线作为中央子午线进行高斯投影求得平面坐标 这 些网都有自己的原点 自己的定向 也就是说这些控制网都是以地方独立坐标系为参考的 而地方独立坐标系则隐含着一个与当地平均海拔高程对应的参考椭球 该椭球的中心 轴 向和扁率与国家参考椭球相同 只是其长半径则有一改正量 我们将该参考椭球称为 地 方参考椭球 第二节第二节 常用的坐标转换方法常用的坐标转换方法 坐标系统之间的转换包括不同参心大地坐标系统之间的转换 参心大地坐标系与地心 大地坐标系之间的转换以及大地坐标与高斯平面坐标系之间的转换等 不同参心大地坐标 系统所使用的椭球参数 属于不同椭球体之间的坐标转换 大多数情况下都需要寻找坐标 转换参数 参心大地坐标系与地心大地坐标系之间 大地坐标与高斯平面坐标系之间的转 换一般情况都是在同一椭球体中进行 下面我们具体讨论不同坐标系之间的坐标转换问题 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 7 2 1 空间大地直角坐标系与大地坐标系之间的转换空间大地直角坐标系与大地坐标系之间的转换 在上一章中我们分别对空间大地直角坐标系和大 地坐标系作了简要介绍 下面我们将讨论它们之间的 转换关系 如图 2 2 1 所示 地面或空间一点 P 沿椭球法线 方向投影在椭球面上的点为 P0 它们的位置矢量分别 用和表示 P 点的大地高为 H 设法线的单位R 0 R 矢量为 则 P 点的位置是两个矢量之和 即n 2 2 1 nHRR 0 位置矢量的表达式 通过图 2 2 1 中的子午面 0 R NOA 直角坐标系 O xy 并顾及 其中 Be W a y B W a x sin 1 cos 2 2 2 2 BeW 22 sin1 可写为 2 2 3 1 sin sincos coscos 1 sin sincos coscos sin cos 22 0 eB LB LB N eB LB LB W a y Lx Lx R 上式中 由图 2 2 1 知单位法线矢量 N W a 2 2 4 B LB LB n sin sincos coscos 将以上的 2 2 3 及 2 2 4 两式代入 2 2 1 式中 则得到 2 2 5 BNeHN LBHN LBHN Z Y X R sin sincos coscos 2 上式展开可得由 B L H 计算 X Y Z 的公式 反算式可由 2 2 5 式得出 结果如下 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 8 2 2 6 NBYXH YX BNeZ tgB X Y tgL sec sin 22 22 2 按上式反算是 大地经度 L 可由 X Y 直接算出 大地纬度 B 的算式右端分子部分的小项 Ne2sinB 仍然是 B 的函数 故必须采用逐次趋近的方法解算 B 求得 B L 后 按 2 2 6 之第三式计算大地高 H 2 2 大地坐标与高斯平面坐标系之间的转换大地坐标与高斯平面坐标系之间的转换 高斯投影是一种横轴椭圆柱正形投影 如图 2 2 2 所示 设想有一个椭圆柱面横套在 地球椭球外面 并与某一子午线相切 此子午线称为中央子午线或轴子午线 椭圆柱的中 心轴 CC 通过椭球中心而与地轴垂直 高斯投影满足下面两个条件 1 它是正形投影 2 中央子午线投影后应为 x 轴 图 2 2 2 b 且长度保持不变 将中央子午线东西各一定经差 一般为 6 度或 3 度 范围内的地区投影到椭圆柱面上 再将此柱面沿某一棱线展开 便构成了高斯平面直角坐标系 如图 2 2 2 b 所示 2 2 1 高斯投影正算公式高斯投影正算公式 设椭球面上有一点 P 如图 2 2 3 a 其大地经纬度为 L B 相应 的等量纬度为 q 点 P 的子午线民中央 子午线的经度差为 l L L0 点 P 投 影到高斯平面上为点 p 见图 2 2 3 b 其直角坐标为 x y 由于高 图图 2 2 2 a b N C O S C 赤道 中央子午线 x y N l L L0 H X O P B q E a 赤道 x y b L0 l L B q P 图图2 2 3 h Xy 0 f q X 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 9 斯投影是正形投影 故 x y 与 q l 必须满足正形投影的基本公式 即 2 2 7 ilqfiyx 在椭球面上过 P 点作一平行圈 与中央子午线相交于点 H 处 设赤道到点 H 的子午弧 长为 X 见图 2 2 3 a 点 H 在平面上的投影为点 h 它的纵坐标为 xy 0 见图 2 2 3 b 由于高斯投影规定中央子午投影为 x 轴 且长度保持不变 此即 l 0 则 y 0 且 2 2 8 Xqfxy 0 高斯投影中 规定 l 为一小量 故 2 2 7 式可按泰勒级数在点 H 上展开 得 2 2 9 n n n n n il dq qfd qfiyx 1 因 故上式可改写为Xqf 2 2 10 n n n n n il dq Xd Xiyx 1 按子午弧长微分 又由知 于是MdBdX dB BN M dq cos M BN dq dBcos 2 2 11 B V c BN dq dB dB dX dq dX coscos 其次求 2 2 11 BBNBVB V c dB d dq dB dq dX dB d dq Xd cossincoscos 2 2 2 继续求各阶导数 得 2 2 11 3302705861 cossin 5814185 cos 495 cossin 1 cos 222425 6 6 222425 5 5 4223 4 4 223 3 3 tttBBN dq Xd tttBN dq Xd tBBN dq Xd tBN dq Xd 2 2 10 式展开 将 2 2 11 诸式各阶导数代入 经过虚实两部分分开后 得 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 10 2 2 12 5222 423223 6222425 442232 5814 185 cos 120 1 cos 6 cos 3302705861 cossin 720 495 cossin 24 cossin 2 lt ttB N ltB N BlNy ltttBB N ltBB N BlB N Xx 上式就是可直接用电子计算机计算的高斯投影正式公式 式中 L0为投影带中央子午线的经度 tgBt 0 LLl 2 2 2 高斯投影反算公式高斯投影反算公式 已知 x y 求 B L 这是高斯投影的反算问题 因投影是正形的 故 q l 与 x y 必须 满足 2 2 7 的反函数式 即 2 2 13 iyxilq 式中 y 为小量 相对于半径 R 而言 故上式可在点 p 的底点 f 图 2 2 4 处按泰勒级数展开 f 点的纵坐标为 x 于是有 2 2 14 n n n n iy dx xd xilq 1 根据高斯投影条件 2 中央子午线投影后应为 x 轴 且长 度保持不变 故有 y 0 则 l 0 即 且 0 xql 为底点 f 的子午线弧长 故 f Xx f X 于是 2 2 14 式改为 ffl qXq 0 2 2 15 n 1 n iy dX qd qilq n f n n f 再根据 可进一步导出其他各阶导数 将各阶导数的结果代入 2 BN dq dX dX dq cos 11 2 15 式 并把虚实两部分分开 可得 2 2 16 622242 6 422 4 2 2 484612018061 cos720 1 465 cos24 1 cos2 1 ytttt BN tt BN yt BN qq ffffff ff ffff ff f ff f 2 2 17 522242 5 322 3 8624285 cos120 1 21 cos6 1 cos 1 yttt BN yt BN y BN l fffff ff ff ffff x y f l L B q p x Xf 图图2 2 4 h x y o 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 11 实际应用时 把换以 并令 整理后可得 f qq f BB c y N y n f f 2 1 2 2 18 24285 5 1 21 30180 cos 1 459061 25 0 935 5 790 1 5423220 642 422222 2 00 nttntn B l ntt nttntBB ffff f ff fffff f f 上式就是由 x y 计算 B L 的反算公式 式中 Bf是底点 f 的大地纬度 它是根据 x 值 f 点的子午线弧长 由子午线弧长公式 BBEBBDBBCBBB B AScossincossincossincossin 7 0 5 0 3 000 反算求得 ff tgBt ff Be 222 cos 2 3 不同空间大地直角坐标系之间的转换不同空间大地直角坐标系之间的转换 各国采用的参考椭球面上的大地坐标系 转换为空间大地直角坐标系后 是彼此不同 的所谓参心大地直角坐标系 坐标轴之间一般既不重合 又不平行 这些参心大地直角坐 标系与全球统一的以地球质心为原点的地心大地直角坐标系也不相一致 因此常存在两个 不同空间大地直角坐标系之间的转换问题 进行两个不同空间直角坐标系统之间的坐标转换 需要求出坐标系统之间的转换参数 转换参数一般是利用重合点的两套坐标值通过一定的数学模型进行计算 当重合点数为三 个以上时 可以采用布尔萨七参数法进行转换 设 X0和 X 分别为地面网点和 GPS 网点的参心和地心坐标向量 由布尔萨模型可知 2 2 19 0 1 XRRRkXX xyz 式中 是平移参数矩阵 k 是 ZYXX 0000 ZYXX 0 ZYXX 尺度变化参数 目标坐标系 源坐标系 图 2 2 5图 2 2 6 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 12 100 0cossin 0sincos zz zz z R yy yy y R cos0sin 010 sin0cos xx xxx R cossin0 sincos0 001 为旋转参数矩阵 通常将称为坐标系间的转换参数 zyx ZY X 为了简化计算 当为微小量时 忽略其间的互乘项 且 zyx 1cos 则上述模型变为 sin 2 2 19 0 0 0 0 0 0 0 0 0X Z Y X Z Y X Z Y X Z Y xy xz yz 令 T zyx ZYXR 上式可简写为 0100 0010 0001 000 000 000 XYZ XZY YZX Ci 2 2 20 RCXX i 0 通过上述模型 利用重合点的两套坐标值和采取平差的方法可以求得转换参数 0 X X 求得转换参数后 再利用上述模型进行各点的坐标转换 包括重合点和非重合点的坐标转 换 对于重合点来说 转换后的坐标值与已知值有一差值 其差值的大小反映转换后的坐 标精度 其精度与被转换的坐标精度有关 也与转换参数的精度有关 2 4 不同平面直角坐标系之间的转换不同平面直角坐标系之间的转换 不同平面坐标系的直接转换一般采用简单变换方法 赫尔默特法 它只需四个参数 故又可叫做四参数法 其实质是使源坐标系的平移 旋转和进行尺度比因子改正 将源坐 标网配合到目标坐标网上 因源坐标网形状保持不变 故此法又叫平面相似变换法 变换 方程为 2 2 21 cos sin sin cos yxkby yxkax 式中向量 a b 表示平移 是源坐标网 x 轴逆转至目标坐标网 x 轴的转角 而 k 是尺度 比因子 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 13 变换参数 a b k 可根据两坐标网公共点上的已知坐标 x y 和 x y 由 2 2 21 式求解确定 为此必须有两个以上的公共点 列出四个方程式 从而解算出这四个参 数值 当具有两个以上的公共点时 就要应用最小二乘平差方法 求解最或是参数值 a b k 按最小二乘法求解时 须先使 2 2 21 线性化 为此导入新参数 c d 2 2 22 coskc sinkd 于是 2 2 21 式便转化为 2 2 23 dxcyby dycxax 利用较多公共点反求转换系数 a b c d 的简单变换法 有的书上又叫利萨夫法 其 特点是 不变更源坐标网的形状 只给平移 旋转和尺度比因子的变动使源坐标网最适合 地配合到目标坐标网中去 但是这种方法所得的残差往往比预计的要大 因此只能认为是 一个较近似的坐标转换方法 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 14 第三章第三章 坐标转换在坐标转换在 VC 中的实现中的实现 C 语言是面向对象的程序设计语言 它把数据和在数据之上的操作封装在一起的类 对象和方法的机制并通过派生 继承 重载和多态性等特征 实现了软件的重用和程序自 动生成 使得软件的构造和维护变得更加有效和容易 在此坐标转换程序的设计过程中 使用了 Visual C 的 MFC AppWizard 创建了一个基于 MFC 类库的 Windows Multiple documents 多文档 应用程序 自定义了 CCoordinate 类封装坐标转换的实现 为了便于 存储 此类从 CObject 类继承 为了计算参数 定义了 CMatrix 类实现矩阵运算的封装 下面就程序中几个主要的自定义类进行讨论 第一节第一节 坐标类 坐标类 CCoordinate 坐标类 CCoordinate 封装了坐标的转换 可以实现大地坐标与空间大地直角坐标之 间的转换 不同空间大地直角坐标系之间的转换 大地坐标与平面直角坐标之间的转换 不同平面直角坐标系之间的转换等 它们分别用不同的函数实现 坐标类从 CObject 类继承 便于存储 具有四个带参数的构造函数和一个缺省的构造 函数 实现了内部数据的初始化 一个结构体存储坐标数据 三个指针变量存储坐标数据 的相关信息 本类只实现不同椭球元素之间的空间大地直角坐标系转换 并在转换时引入 了中间椭球 WGS 84 元素 这样有利于转换参数的多次使用并与国际接轨 在不同椭球 之间转换坐标时 先将源坐标转换成空间大地直角坐标 再转换成 WGS 84 椭球的空间大 地直角坐标 再转换成目标椭球元素的空间大地直角坐标 最后才转换成目标坐标 以下 是坐标类的头文件 Coordinate h interface for the CCoordinate class include math h 数学函数的头文件 if defined AFX COORDINATE H 95D7D474 43B6 40EB 9391 428F6F8EBA6E INCLUDED define AFX COORDINATE H 95D7D474 43B6 40EB 9391 428F6F8EBA6E INCLUDED defineB L H0 预定义坐标格式 define X Y Z1 define x y h2 typedef struct 坐标值结构体 double x y z CString name remark 点名 点属性 COORDINATE typedef struct 投影参数及转换四参数 double dx dy ratio revolve 转换四参数 double east north center 投影参数 CString name PROJECTION 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 15 typedef struct 椭球参数及转换七参数结构体 double a e a 长半椭 e 扁率的平方 double dx dy dz rx ry rz 转换七参数 平移量 旋转量 double ratio 尺度比 CString name EParameter class CCoordinate public CObject public 内部数据成员变量 int m format 坐标格式指针 EParameter m parameter 椭球参数及转换七参数指针 PROJECTION m projection 投影参数及转换四参数指针 COORDINATE m coordinate 坐标数据 public 构造函数及析构函数 CCoordinate CCoordinate EParameter parameter int format CCoordinate EParameter parameter PROJECTION projection int format CCoordinate EParameter parameter int format COORDINATE coordinate CCoordinate EParameter parameter PROJECTION projection int format COORDINATE virtual CCoordinate public 内部成员函数 用于坐标转换及数据传送 void XYZ BLH COORDINATE s COORDINATE o 空间大地直角坐标 大地坐 标 void BLH XYZ COORDINATE s COORDINATE o 大地坐标 空间大地直角坐 标 void xyh BLH COORDINATE s COORDINATE o 平面直角坐标 大地坐标 void BLH xyh COORDINATE s COORDINATE o 大地坐标 平面直角坐标 void H h COORDINATE s COORDINATE o void h H COORDINATE s COORDINATE o void Setxyh COORDINATE coordinate 设置坐标数据 参数为平面直角坐标 void SetXYZ COORDINATE coordinate 设置坐标数据 参数为空间大地直角坐标 void SetBLH COORDINATE coordinate 设置坐标数据 参数为大地坐标 void ImportData COORDINATE s 设置坐标数据 参数为默认格式 void ConvertToBLH COORDINATE o 转换成大地坐标 以进行下一步转换 double GetTheB double s 由子午线弧长计算纬度 double GetTheS double b 计算纬度为 b 的子午线弧长 void Getxyh COORDINATE coordinate 得到平面坐标数据 void GetXYZ COORDINATE coordinate 得到空间大地直角坐标数据 void GetBLH COORDINATE coordinate 得到大地坐标数据 void Importxyh COORDINATE coordinate 导出 WGS 84 椭球中平面坐标数据 void ImportXYZ COORDINATE coordinate 和空间大地直角坐标数据 void Exportxyh COORDINATE coordinate 导入 WGS 84 椭球中平面坐标数据 void ExportXYZ COORDINATE coordinate 和空间大地直角坐标数据 endif defined AFX COORDINATE H 95D7D474 43B6 40EB 9391 428F6F8EBA6E INCLUDED coordinate 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 16 第二节第二节 矩阵类 矩阵类 CMatrix 矩阵类封装了矩阵的一些常规运算 如矩阵的加法 乘法 转置 矩阵的伴随 方阵 的逆阵 方阵的行列式等 下面是矩阵类 CMatrix 的头文件 Matrix h interface for the CMatrix class if defined AFX CMATRIX H 89A030DE 242B 4608 BA84 E3B5543D1383 INCLUDED define AFX CMATRIX H 89A030DE 242B 4608 BA84 E3B5543D1383 INCLUDED class CMatrix public 内部成员变量 int m rows m cols 矩阵的行和列 double m rep CMatrix 构造函数及析构函数 CMatrix int r int c CMatrix double int int CMatrix CMatrix CMatrix operator CMatrix 矩阵的常规运算 operator CMatrix operator CMatrix operator CMatrix operator double CMatrix operator int CMatrix operator CMatrix operator int CMatrix operator CMatrix operator CMatrix CMatrix operator CMatrix CMatrix operator CMatrix CMatrix operator double double operator int CMatrix Turn 矩阵的转置 void RowChange int s int o double k 行变换 void ChangeCol int colone int coltwo 交换两列 void ChangeRow int rowone int rowtwo 交换两行 CMatrix athwart 求逆阵 CMatrix chaperonage 求伴随 double cofacter int row int col 求代数余子式 double det 方阵行列式 void GetStrArray CStringArray str 获得矩阵的文本数据 void Printf CClientDC dc NULL 矩阵数据输出 endif defined AFX MATRIX H 89A030DE 242B 4608 BA84 E3B5543D1383 INCLUDED 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 17 第四章第四章 软件使用说明软件使用说明 本软件使用 Windows 界面 操作非常之简单 提供文件菜单和 Windows 工具栏 并 支持常用快捷键 可以新建文档 也可打开以前的文档 并支持拷贝和粘贴功能 在程序 中可以选取常用椭球和以前定义过的椭球 并能根据需要随时定义自己的椭球 可以选取 已有的转换七参数或四参数 并可以计算转换所需的七参数或四参数 第一节第一节 程序界面简介程序界面简介 程序使用 Windows 界面设计 用起来比较方便 程序运行后界面如图 4 1 1 所示 源坐标数 据输入区 转换后坐 标显示区 点属性 显示区 椭球选 取框 投影选 取框 坐标格式 选取框 四参数 选取框 转换七参 数选取框 源坐标参 数设置 目标坐标参 数设置 图图 4 1 1 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 18 图图 4 2 2 第二节第二节 新建文档新建文档 在文件菜单中选取新建或在工具栏中点击或使用快捷键 Ctrl N 新建一个文档 新建文档后 应先进行源坐标参数设置 在源坐标设置区域选取椭球或是新建椭球 在椭 球选取过程中椭球参数会显示在椭球选取框的下面 如图 4 2 1 看看是否正确 如参 数正确 则可进行下一步操作 设置转换七参数 可以选取转换参数或是新建转换参数 转换参数设置好以后则可以设置坐标格式 B L H 代表输入坐标为大地坐标 X Y Z 代表输入坐标为空间大地直角坐标 x y h 代表输入坐标为平面直角坐标 如果选择的 是 x y h 即输入的是平面直角坐标 则要进投影设置 设置好投影后方可设置转换四参 数 同样可以在选择时选取新建来建立新的投影和新的转换四参数 做完这些工件后便可 以源坐标输入区输入源坐标信息了 1 设置椭球参数设置椭球参数 在设置椭球参数时有三个参数需要输入 椭球名 称 长半轴 扁率之倒数 如图 4 2 2 椭球名可以 随便取一个 但最好是一个比较好记一点的 2 设置转换七参数设置转换七参数 图图 4 2 1图图 4 2 3 中国地质大学 北京 学士学位毕业设计论文坐标转换与VC 编程 19 在设置转换七参数时 需要自己输入名称 中央子午线比例系数 三个平移量 三个旋转量 如图 4 2 3 如果事先不知道这七个参数 则 可以点击计算按扭 但你至少应有三个两套坐标 的重合点以计算这七个参数 注意 这里的转换 七参数是与 WGS 84 椭球下的空间直角坐标进行 转换的七个参数 如果你只有两套坐标的重合点 而没有与 WGS 84 椭球的重合点 则你可以假定 你的一个从标系与 WGS 84 的七个转换参数中除 中央子午线尺度比这 1 外 其余全为 0 即它的 空间直角坐标与 WGS 84 的空间直角坐标重合 些时计算的七个参数只能完成这两套坐标的相互 转换 而不能与其它的坐标系进行转换 即是说 与其它坐标系的转换结果可能不正确 3 计算转换七参数计算转换七参数 在图 4 2 3 中点击计算 弹出计算七参数对 话框 如图 4 2 4 如果重合点的坐标格式不是 X Y Z 则可在源坐标和目标坐标下拉框中选择相 应的坐标格式 在下科拉框的下面会显示源坐标 和目标坐标所便用的椭球基准 在填好三个重合点的坐标后 点击确定 开 始计算参数 并回到七参数设置对话框 此时计 算的结果已填入了相应的栏中 4 设置投影参数设置投影参数 在投影参数的设置中只需输入投影名称 东 移量和北移量就可 如图 4 2 5 5 设置转换四参数设置转换四参数 在四参数设置对话框中 需要填入名称 和 投影的中央子午线 度 分 秒 以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轧光(轧花)机挡车工班组评比知识考核试卷含答案
- 无轨电车架线工班组安全评优考核试卷含答案
- 工程热处理工保密竞赛考核试卷含答案
- 热电联产工程运营管理方案
- 学院科研教学楼及附属工程技术方案
- 山西林业职业技术学院《学习筑梦文化强国梦》2025-2026学年第一学期期末试卷
- 2026福建省面向江南大学选调生选拔工作备考题库附答案详解(突破训练)
- 干混砂浆项目可行性分析报告范文
- 保密协议(2025年项目报告)
- 嘉兴南洋职业技术学院《影像创意》2025-2026学年第一学期期末试卷
- 版式设计智慧树知到期末考试答案章节答案2024年广州市海珠工艺美术职业学校
- 财政投资评审咨询服务预算和结算评审项目投标方案(技术标)
- 山东医药工业设计院事业单位招考公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 第12课19世纪下半期资本主义的扩展课件-2023-2024学年中职高二全学期高教版(2023)世界历史全一册
- 小品剧本《钱多多银行》台词完整版今夜现场秀佟铭心
- 2022年版初中物理课程标准解读-课件
- 华为MA5800配置及调试手册
- 2024年建筑业10项新技术
- 混凝土回弹法测试原始记录表
- 山西国开2024年《农业经营学》形考1-4答案
- 2024春国开会计实务专题形考任务题库及答案汇总
评论
0/150
提交评论