在测量领域存在多种坐标系统, 常需要将不同坐标系统的坐标数据进行转换, 如大地坐标和平面坐标的正反换算、坐标的换代计算、四参数和七参数的计算。手工计算费时费力, 准确性不高, 随着计算机软硬件的发展, 可方便编制应用程序进行轻松计算, 方便、快捷地得到成果。笔者多年的从事测量工作, 利用VB语言结合测量知识, 成功编制了坐标转换软件, 使繁琐的坐标计算变得简单, 在实际工作中发挥了大作用。
VB (Visual Basic) 是一种在计算技术发展史上应用得最为广泛的语言。VB在原有BASIC语言的基础上进一步发展, 至今包含了数百条语句、函数及关键词, 其中很多和Windows GUI有直接关系。专业人员可以用Visual Basic实现其它任何Windows编程语言的功能, VB具有强大的数据处理能力。
坐标转换软件包含三大数据处理模块, 即大地坐标和平面坐标的正反换算模块、坐标的换代计算模块、四参数和七参数的换算模块。
大地坐标和平面坐标的正反换算模块主要包括大地坐标向平面坐标的转换和平面坐标向大地坐标的转换。主要指的是同椭球和不同椭球间经纬度和平面坐标的正反算, 椭球包括北京54椭球、西安80椭球、WGS84椭球和CGCS2000椭球。
坐标的换代计算模块包括同椭球和不同椭球间换代计算, 主要指的是6度带、3度带、1.5度带和任意度带的坐标相互转换。
四参数和七参数计算模块是不同工程坐标系间的常用转换, 当工程区域比较小时使用四参数, 当工程区域比较大时使用七参数。四参数可进行平面坐标间转换, 七参数可进行三维坐标间转换。
(1) 大地坐标和平面坐标的正反算的推算公式较为复杂, 本文仅以正算公式为例, 反算公式略, 大地坐标和平面坐标的正算的推算公式如式 (1) 所示。
(2) 坐标的换代计算主要采用大地坐标和平面坐标的正反算原理, 一般先将原分带的平面坐标向大地坐标反算计算出经纬度, 后新分带的大地坐标向平面坐标正算计算出新的平面坐标, 和坐标的正反算原理相同, 只不过组合一下。
(3) 四参数和七参数是常用的工程坐标间转换方法。四参数至少需要2个公共点, 七参数至少需要3个公共点。在实际工作中会有多个公共点, 可通过最小二乘法算出初步参数, 反算出各公共点的残差, 通过残差和各公共点位置选择合适的公共点, 再计算出合适转换参数。四参数转换公式如式 (2) 所示, 七参数转换公式略。
(1) 界面设计应友好, 方便使用, 操作简便, 纠错性强, 通用性好。好的程序设计在某种程度上能把测量人员从繁琐的传统作业模式中解脱出来, 降低了测量人员的劳动强度, 提高了成果的科技含量, 从而提高了工作效率。本程序的总界面如下图1所示, 可进行各种数据类型的转换, 转换中可根据具体情况选择不同的转换方式和转换椭球, 坐标转换数据可单点转换, 也可数据文件批量转换, 其余界面从略。
(2) 程序设计应模块化, 可读性要强, 下面是本程序中的一个重要的模块代码, 编写代码如下文所示, 其余代码从略。
Public Sub Gauss_FS (ByVal Gy As Double, ByVal Gx As Double) ‘高斯投影反算内部子程序
(3) 程序在设计中要反复调试, 并结合实际工作数据进行测试进行优化设计, 要适合不同专业技术人员的使用。
本文较详细论述了坐标转换软件的设计原理、方法和过程, 成功地利用VB语言开发出了坐标转换软件。该软件具有直观、实时、动态、灵活、交互性与图形功能强等明显的优势, 具有强大的计算和批数据处理功能, 在坐标数据的转换方面表现出了其他测量程序难以比拟的优越性, 值得进一步推广和应用。本文仅起到抛砖引玉之效, 在VB语言和测量学中还有其他优秀的开发程序, 不足之处欢迎批评指正。
摘要:在工程测量中, 常进行各种坐标数据的转换, 内业计算非常繁重。笔者根据多年的经验结合VB语言编制了坐标转换软件, 解决了坐标转换复杂、繁重的问题, 极大的提高工作效率。本文较为详细讲述了该程序开发的原理、方法和过程, 该程序具有简便、高效和通用的特点。
关键词:VB,坐标转换,坐标的正反算,换代计算,参数计算,程序设计
[1] 张凤举.控制测量学[M].北京:煤炭工业出版社, 2001.
[2] 孔祥元.大地测量学基础[M].武汉:武汉大学出版社, 2001.
注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com。举报文章