在测绘工作中,涉及到各种坐标转换时人们用得最多的软件是武大的科傻软件,但是科傻软件任然存在许多不足的地方,比如科傻的软件不具有高斯投影换带计算以及大转角三维坐标基准转换的功能等。为了开发出一款功能比科傻软件更全面,转换精度比武大科傻软件更高的坐标转换软件,最近小博也花了许多时间研究各种坐标转换的算数学模型以及算法实现,经过几个月时间的理论研究和软件编写工作,小博开发出了能够实现测绘工作中的各种坐标的高精度转换,功能比武大科傻软件更丰富的坐标转换系统软件。
在进行该软件的介绍之前首先给大家分享该软件的下载链接:
下载地址1:百度网盘下载
下载地址2:CSDN下载
1.软件设计
该坐标转换软件系统采用C#语言进行开发,开发工具为visualstudio2010,软件的界面和各种控件都自定义编写,在UI界面设计上也花了不少功夫,以暗蓝色作为整个程序的主色调,该色调应用在界面设计上使得该软件科技感十足,另外,还在程序中添加了各种缓冲动画效果,大幅度提升了用户体验。主界面效果如图所示:
2.软件功能
该坐标转换系统软件主要分为3大功能模块,分别为任意旋转角七参数坐标转换(三维坐标基准转换的旋转角度参数的大小可以为任意值)、高斯换带计算和基本坐标转换,除了这3大主要功能模块还加入了文件读写的功能,使得程序不仅可以进行单点转换,而且还可以批量转换。每个功能菜单模块又包含有多个子功能,下面分别对每个功能模块进行介绍。
1. 基本坐标转换
基本坐标转换是该软件逻辑最复杂,功能最聚集的功能模块,该模块可以实现同一坐标系统的空间直角坐标、大地坐标与平面坐标之间的互相转换和不同坐标系统的空间直角坐标、大地坐标与平面坐标之间的互相转换,其中把大地坐标与平面坐标之间的转换归为高斯投影正反算。其中,同一坐标系统的坐标转换包含坐标系统参数设置、投影参数设置以及大地坐标与空间直角之间坐标之间、平面坐标与空间直角坐标之间和高斯投影正反算等转换的功能;不同坐标系统的坐标转换除了拥有空间直角坐标、大地坐标与平面坐标之间的互相转换的功能外,还增加了三参数、四参数、七参数设置或者解算的功能,其中在解算四参数或者七参数时还提供最小二乘法和整体最小二乘法两种方法。另外,在空间直角坐标转大地坐标的功能中提供迭代法和非迭代法两种方法;在三参数坐标转换、四参数坐标转换和七参数坐标转换中还提供配置法和非配置法两种方法。
2. 高斯换带计算
高斯换带计算功能模块可以实现不同高斯投影带的平面坐标之间的换带转换,提供投影参数设置的功能,在投影参数设置中可以对参考椭球,换带前后的中央子午线、投影面大地高和东向加常熟等参数进行设置,其中投影椭球可以选择常见的椭球也可以自定义椭球。
3. 任意旋转角七参数坐标转换
任意旋转角七参数坐标转换可以实现不同坐标基准中的旋转参数为任意角的空间直角坐标之间的转换。提供转换参数设置的功能,在转换参数设置中提供两种设置参数的方式,即既可以直接设置转换参数,也可以通过公共点求算转换参数。最后,在进行坐标转换时又可选择两种方法进行转换,分别为非配置法和配置法。
3.软件文件格式
该软件主要有平面直角坐标文件、空间直角坐标文件、大地坐标文件、平面直角坐标公共点文件和空间直角坐标公共点5种文件类型,每种文件都有规定的文件格式,文件格式不对程序将无法读取文件甚至强制停止,所以很有必要对每种文件的格式进行简单的说明。下面分别对这5种文件所固有的文件格式进行说明。
1. 平面直角坐标文件
平面坐标的文件存储的是平面直角坐标系的点的坐标,其格式为“*.xy”形式,创建该文件类型的步骤为在记事本中写入点的坐标数据后点击【文件】菜单,然后选择【另存为】将其保存为“*.xy”格式即可,其中“*”表示文件名,即在文件名后面加后缀“.xy”,最后在【保存类型】中选择【所有文件】点击【保存】即可。另外,写入记事本中的坐标数据也要求有固定的格式,其格式为:“Name,X,Y”,其中“Name”表示点名(点名必须要有,否则读取文件时会出错),“X”和“Y”表示平面直角坐标,即点名、X坐标和Y坐标之间用英文逗号隔开,每行存放一个点的平面直角坐标。例如,点名为“GPS01”,坐标为(100.000,100.000)的点的坐标,其在记事本中的表示格式为:“GPS01,100.000,100.000”。
2. 空间直角坐标文件
空间直角坐标文件存储的是空间直角坐标系的点的坐标,其格式为“*.xyz”形式,创建该文件类型的步骤与创建平面直角坐标文件的步骤类似。同样,写入记事本中的坐标点数据也要求有固定的格式,其格式为:“Name,X,Y,Z”,其中“Name”表示点名(点名必须要有,否则读取文件时会出错),“X,Y,Z”表示空间直角坐标,即点名、X坐标、Y坐标和Z坐标之间用英文逗号隔开,每行存放一个点的空间直角坐标。例如,点名为“S01”,坐标为(100.000,100.000)的点的坐标,其在记事本中的表示格式为:“S01,100.000,100.000”。
3. 大地坐标文件
大地坐标文件存储的是大地坐标系的点的坐标,其格式为“*.blh”形式,创建该文件类型的步骤与创建平面直角坐标文件的步骤同理。写入记事本中的坐标点数据的格式为:“Name,B,L,H”,其中“Name”表示点名(点名必须要有,否则读取文件时会出错),B表示大地维度,L表示大地经度,H表示大地高,每个量间同样用英文逗号隔开,每行存放一个点的大地坐标。值得一提的是,大地维度B和大地经度L采用的都是利用小数点形式表示的“dd.mmss”形式,例如,点名为“A01”,大地维度B为5度4分4.1秒,大地经度L为114度0分0秒,大地高H为100.000m的坐标,其在记事本中的表示格式为:“A01,05.04041,114.0000,100.000”。
4. 平面直角坐标公共点文件
以此类推,平面直角坐标公共点文件存储的是解算四参数时所用到的公共点的坐标,其文件格式为“*.xyxy”形式,数据格式为:“Name,x,y,X,Y”,其中小写的x和y表示的是旧坐标系统的坐标,大写的X和Y表示新坐标系统坐标。
5. 空间直角坐标公共点文件
与平面直角坐标公共点文件同理,空间直角坐标公共点文件存储的是解算七参数时所用到的空间直角公共点的坐标,其文件格式为“*.xyzxyz”形式,坐标数据格式为:“Name,x,y,z,X,Y,Z”。
最后欢迎大家加入测绘技术交流群: