基于VC++的通用坐标转换软件的设计与实现

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:cs333333
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 在我们的日常测绘工作中经常涉及到不同坐标系坐标数据之间的转换,而常用的商业软件由于其软件设计的侧重点不同,不能针对实际情况选取合适的转换模型和算法实现任意两个坐标系之间的转换.针对这些软件的不足,并结合自身的需求,采用功能强大的可视化程序开发环境Visual C++ 6.0并选用布尔沙七参数转换模型,研制一款通用坐标转换软件,克服了平面坐标转换模型的局限性,并将其应用到某长输管道项目,实现了百公里跨度亚毫米级的坐标转换精度,取得了很好的实用效果.
  
  关键词: 坐标系坐标转换Visual C++布尔沙模型
  中图分类号:P226文献标识码: A
  
  Design and Implementation of a Common Coordinate Transformation Software by the platform of Visual C++
  JIANG Wei
  (WUHAN DESIGN & RESEARCH INSTITUTE CO.,LTD OF CHINA COAL TECHNOLOGY & ENGINEERING GROUP,WUHAN, 430064, CHINA)
  
  Abstract: We always needed to transfer coordinates between two different coordinate systems in our daily surveying and mapping jobs, some commercial software didn’t choose proper transformation model and arithmetic according to practical instance to implement coordinate transformation because of the different software design emphasis. Aiming at the shortages of the commercial software and our special needs, I programmed a common coordinate transformation software using the Bursa seven parameters model by the visual program platform Visual C++ 6.0.
  My software overcame the shortages of plane coordinate transformation model and was used to a long pipe project, and the coordinate transformation accuracy was level sub-millimeter in the span of hundreds kilometer, the application result of the software was good.
  Key Words: Coordinate SystemCoordinate TransformationVisual C++Bursa Model
  
  1 概述
  由于我们日常使用的测量资料涉及坐标系较多,测绘工作中经常需要对不同坐标系坐标数据(地图,控制点及测量点等)之间的换算,常用的主流商业软件,由于其软件设计的侧重点不同,都无法满足我们的需求.
  如徕卡公司的LEICA Geo Office软件(简称LGO)虽然功能较多,但只能实现WGS84坐标至当地坐标之间的转换;天宝公司的TRIMBLE Business Center软件(简称TBC)只能实现小范围的GPS坐标校正;武汉大学的科傻软件(COSA)的能实现平面坐标的坐标转换功能,但由于平面坐标转换的适用范围很小,对于转换区域跨度较大时,转换精度基本上不能接受;中海达公司的HDS軟件虽然能实现任意坐标系之间的坐标转换,但由于软件设计不够完善,坐标换算功能还存在缺陷,对参与计算的数据的坐标格式混乱且无特别说明,操作且转换过程很复杂,可操作性较差.
  纵观以上这些软件可知,都为GPS数据的处理软件,不能针对实际情况选取合适的转换模型与算法实现任意两个坐标系之间的转换,而我们经常需要实现不同坐标系之间的转换,因此,针对以上这些软件的功能不足,根据自身需求研制通用的坐标转换软件.采用的开发环境为Visual C++ 6.0,它是一个功能强大的可视化编程工具,具有很强的调试功能,是目前功能最为强大的程序开发平台之一[1][2],使用其开发的程序比起.NET平台来说,运行速度更快,程序的封装少,有助于开发人员理解程序的结构及运行原理等优点,因此,选择其作为本软件的开发平台.
  2坐标转换软件的设计与实现
  2.1 坐标转换模型的选择
   为了克服平面坐标转换模型的使用局限性,同时满足大范围(如省级或国家级)坐标转换需要,选取布尔沙三维七参数模型[3]作为转换模型,关于此模型的具体细节可查阅相关资料,在此不做叙述.
  2.2 软件的功能设计
   结合我们的实际工作需求,功能设计如图1所示:
  
  
  
  图1 坐标转换软件功能设计图
  2.3 软件结构设计
   本软件基本框架由三个主要的类模块组成:
   1) CDlgCalParas类实现转换参数的解算界面、组织调取并显示公共点坐标数据、计算转换参数及转换精度的评定等功能;
  2) CDialogRTran类实现软件的主要操作界面、管理椭球参数、输入与输出坐标类型切换、提取源坐标组织实施坐标转换及输出结果的存贮等功能;
  3) CDialogRegister类负责软件注册管理.
  上述的三个类模块是整个软件的框架结构,为实现相关的转换运算,还设计了以下几个功能类:
   1) TMPrjPoint投影类,负责高斯投影正反算功能,解算椭球计算中常用的参数以及实现坐标在各坐标类型间的换算,如空间直角坐标、大地坐标及高斯平面坐标等;
  2) CTrans坐标转换类,负责建立七参数坐标转换平差模型,实现坐标转换功能;
  3) CMatrix矩阵运算类,实现各种矩阵运算,包括矩阵加、减、乘、求逆等运算;
  4) CParameters转换参数类,负责管理转换参数;
  5) CDMS角度单位换算类,负责将角度在度,度分秒以及弧度之间的换算.
  2.4 软件流程设计
   软件的设计以流程图的形式给出,如图2所示:
  
  
  
  图2 软件坐标转换流程
  软件设计的主要界面如图3所示:
  
  
  
  图3 坐标转换软件主界面
  2.5 高斯投影及坐标换带功能说明
  我们知道高斯投影及坐标换带[3]计算都是同一坐标框架下进行的,并不涉及到椭球变换[4].因此,可将高斯投影正反算及坐标换带功能理解为将坐标转换参数全部设置为0,即在同一坐标系下的坐标转换,本软件即采用这种方法来实现高斯投影的正反算及坐标换带功能,以及同一坐标系下空间直角坐标、大地坐标及高斯坐标之间的换算功能,从而增加了软件的通用性,不必再单独开发相应的转换功能.另外,由于我们经常所接触到的换带计算并不是3度或6度标准分带,而是任意带分带.所以,本软件不区分3或6度带,统一采用投影带中央经线经度作为换带计算条件.标准3度或6度分带带号与投影带中央经线经度的换算公式很简单,自行换算即可.
  3 转换实例
  以某管道工程为例(管道长度约700km),在管道设计及测量的工作中使用的地形图为抵偿坐标系,但收集的部分资料、征地测量及沿线场站的设计及测量工作中采用的坐标系则为国家坐标系,因此涉及抵偿坐标系和国家坐标系这两个坐标系统,并且经常需要对管道中线及附属设施的坐标进行抵偿坐标系和国家坐标系之间转换.由于各种原因无法获得上述坐标系之间的转换参数或抵偿坐标计算的具体方法,而现有测量成果资料只有管道沿线控制点的抵偿坐标系和国家坐标系的两套坐标成果.在此,以管道工程中长度最长的第一抵偿系为例,测试本软件的使用效果,其中第一抵偿系跨度约为300km,涉及D级GPS控制点134个.
  由于平面四参数(两个平移參数,一个旋转参数和一个比例系数)坐标转换模型[3]简单,首先我们采用平面坐标的转换方法,但通过试验发现,平面坐标转换的精度在线路跨度超过10km时,误差达到分米级,无法满足设计及测量的要求;并且,如果采用平面四参数坐标转换模型,需对第一抵偿系做分段处理,且分段数超过20个,坐标转换操作过程复杂且易出错,因此,不宜采用平面四参数坐标转换模型,而应采用三维七参数转换模型.
  下面列出采用自研的通用坐标转换程序以两种组合方案实施坐标转换,并列出各组合方案的坐标转换精度指标.
  方案1 全部134个控制点参与解算转换参数,对全部控制点进行坐标转换,转换后平面坐标x、y残差平均值都为0,其余精度指标如表1所示:
  表1方案1坐标转换平面位置精度(单位:m)
  
  
  
  方案2 隔一点取一个控制点,即取67个控制点用来解算转换参数,对上述67个控制点和未参与解算转换参数的67个控制点进行坐标转换,分别计算上述两组67个控制点转换后平面坐标x、y残差平均值也都0,精度指标如表2所示:
  表2方案2坐标转换平面位置精度(单位:m)
  
  
  
  通过以上两种方案的转换精度指标可以看出,获得了亚毫米级的转换精度.
  4 结论与改进
  当采用自研的通用坐标换算程序对整个第一抵偿系全部134个控制点坐标实施整体转换后,发现整体转换平面坐标精度能达到亚毫米级,取得了很好的效果.
  通过此管道项目应用,用户反映软件的操作界面友好,操作简单,解算速度快,只需要提供符合格式要求的任意坐标类型的坐标数据文件,使用本软件可很好的实现了抵偿坐标与国家坐标系之间的转换,并且转换精度高.本软件很好的协助了设计人员及外业测量人员的工作,提高了精度和工作效率,减轻了作业的负担.
  本软件现在实现了通用坐标转换软件基本功能,其功能可以进一步扩展,如加入参数的组合选择功能,能根据用户的需求以任意参数组合进行坐标转换;另外,还可对软件的适用范围进一步扩展,引入罗德里格矩阵[5][6][7]将其扩展到大欧拉角坐标转换[8]等方面.
  
  
  参考文献:
  [1] 陈建春. Visual C++开发GIS系统[M]. 北京:电子工业出版社,2000.
  [2] 黄维通. Visual C++面向对象与可视化程序设计[M]. 北京:清华大学出版社,2003.
  [3] 孔祥元,梅是义. 控制测量学[M]. 武汉:武汉大学出版社,2002.
  [4] 邓兴升,汤仲安,花向红等. 椭球变换后的高斯投影正反算算法[J]. 大地测量与地球动力学,2010,30(02):49-52.
  [5] 姚吉利,王艳. 基于罗德里格矩阵的平面坐标转换模型的建立[J]. 金属山,2005,353:40-42.
  [6] 姚吉利,韩保民,杨元喜. 罗德里格矩阵在三维坐标转换严密解算中的应用[J]. 武汉大学学报信息科学版,2006,31(12):1094-1096.
  [7] 原玉磊,蒋理兴,刘灵杰. 罗德里格矩阵在坐标系转换中的应用[J]. 测绘科学,2010,35(02):178-180.
  [8] 胡亚江,杨晓梅,沙月进. 大欧拉角的空间直角坐标转换方法探讨[J]. 现代测绘,2006,29(6):10-12.
  
  作者简介:
  
  姜伟 (1981- ) 男 汉族 湖北武汉人 硕士研究生 工程师 现在中煤科工集团武汉设计研究院有限公司从事大地测量,变形监测及工程测量等方面的工作
其他文献
建筑工程是我国国民经济发展的重要组成部分,在我国经济发展中占了很重的比例。建筑工程的管理,包括建筑施工现场管理,是建筑施工单位根据科学原则的指导,有计划的安排建筑工
随着社会的发展与进步,我们越来越重视土木工程全过程质量管理。土木工程全过程质量管理对于现实生活中具有重要的意义,本文就土木工程全过程质量管理展开探讨,对优化施工质量,提
城乡建设用地增减挂钩,就是将拟复垦的村庄建设用地区、拟安置的新村建设用地区与城镇拟新增建设用地区,整合为一个封闭运行、统一管理的用地构成系统,利用旧村址复垦出的新增耕
既有建筑结构的加固是为了避免不必要的拆除或更换,鉴定是为了确保结构的质量和使用周期。建筑结构的加固和鉴定是对混凝土的加固和鉴定,建筑结构的加固方案和鉴定方法是在工程
对2008年版桩基技术规范中关于群桩基础软弱下卧层验算进行研究。得出以下结论:建议在计算附加应力时,扣除承台地面以上原地基土自重;建议计算总应力时,加上承台底面以上原地基土
现阶段,中小城市的规划设计发展在未来整个城市发展中占有着决定性作用,因此科学合理的规划设计设计才能够使得城市建设发展更好的适应当下发展潮流。文章就如何更好的规划设计
一个工程的质量对这个工程是否安全起着至关重要的作用,那提高质量的方法之一又是加强工程的试验检测,这是工程质量管理的重要手段。本文主要对加强试验检测,提高交通工程质量进
加气混凝土砌块作为新型墙体材料,具有密度小、自重轻、保温、隔热、造价低、取材广泛并且可以提高建筑物的使用率等多重优点,但同时也有其自身的缺点。比如容易开裂、渗漏、热
在管理土木工程的过程中,要站在宏观的角度去看问题,坚持以可持续发展的战略思想为指导,不断掌握领先的技术水平,针对土木工程开展系统化的、综合的管理。本文对土木工程管理概述
实施节约型园林设计将能够有效推动节约环保型社会的发展。本文以目前所存在的园林景观设计浪费问题入手,提出以节约理念为基础的园林景观设计的具体方法。