APP下载

基于Android手机的坐标转换软件开发及应用

2020-06-30吴限贺祎侃潘国荣

微型电脑应用 2020年4期
关键词:Java语言

吴限 贺祎侃 潘国荣

摘 要: 现有的测绘软件多存在于PC端和工业所使用的PDA端,在手机端鲜有开发,已经不能满足现代快节奏工作的需求。本次在空间直角坐标和大地坐标之间的转换公式和七参数转换模型的基础上,使用JAVA语言并借助Android studio软件编写开发坐标转换软件,使测绘内外业工作便捷,实时,快速完成。

关键词: 手机端; 坐标转换; 七参数; JAVA语言

中图分类号: TP 311      文献标志码: A

Development and Implementation of Coordinate Conversion Software Based on the Android Mobile Phone

WU Xian, HE Yikan, PAN Guorong

(1. Tongji University Architectural Design (Group) Co. Ltd., Shanghai 200092, China;

2. College of Surveying and Geo-informatics, Tongji University, Shanghai 200092, China)

Abstract:

The existing software about surveying and mapping is unable to meet the needs of modern fast-paced work, because most of them are in the PC terminal and industrial PDA terminal and seldom are developed in the mobile phone terminal. Based on the conversion formula between rectangular space coordinate and geodetic coordinate and conversion model of seven parameter, we use JAVA language and eclipse software to complete coordinate conversion software in order to make inside and outside work about surveying and mapping convenient real-time and rapid completion.

Key words:

mobile phone terminal; coordinate conversion; seven parameters; JAVA language

0 引言

由于测量人员在测绘外业工作期间需要携带大量测量仪器,一般不携带体积较大并且昂贵的PC电脑和PDA手持仪器,其中坐标数据若直接由测绘人员人工计算,其工作量极大,并且很容易出现错误。在这种情况下,此次选择在人们都会随身携带的智能手机开发坐标转换软件以解决上述问题,实现空间直角坐标和大地坐标的转换以及七参数转换功能[1],以便在测量外业作业时便捷,实时,快速地协助测绘内外业工作。

1 手机Android端软件开发优势

1) Android具有成熟的编程语言

Android开发是基于JAVA编程语言进行的,JAVA语言作为老牌的编程语言[2],目前已经成为市场上最成熟、应用最广泛的编程语言之一。在很多成熟的系统中JAVA都是第一选择,在每月的TIOBE编程语言排行榜中,JAVA语言常年稳居榜首位置,可见其的受欢迎程度。

2) Android平台的开放性

Android平台最成功的一点就是其的开放性,开放的平台吸引了大量的开发者,开发者也不断将最新的成功上传至平台,逐渐形成了Android平台的庞大开源代码库。借助于开源的代码库[3]、免费的开发软件以及不断更新的第三方开源共享,测量人员能快速上手Android进行开发。

3) Android系统的易操作性[4-5]

如今人手基本都有一部安卓手机,安卓软件所依赖的设备问题也就此解决。一般在测量人员外出作业中所携带PC电脑或PDA手持仪器都不如安卓手机便携,易操作。如今安卓手机大多都是触屏手机,在此设备下的软件保留了传统的操作方式,并且借助于手机随身携带的特点,能保证测量人员在采集数据过程中进行实时的记录,处理和保存操作,极大地提升了测量工作的效率,减少了测量人员作业的负担。

2 数学模型

[6-11]

1) 大地坐标转换至空间直角坐标如式(1)所示。

当已知三个或三个以上重合点时,即可对式(7)通过最小二乘方法解算七参数。

3 坐标转换系统

本次软件设计所适用的最低Android版本为Android4.0,目标版本为Android5.0,如今Android版本已经升级到Android7.0[13],所以此次程序设计基本能适用于当今市面上绝大多数手机安卓版本。

本系統最终生成一份apk安装文件,通过在手机端打开并安装即可进行使用。本系统提供了空间直角坐标和大地坐标之间的转换功能,以及具有七参数转换以及求解功能,在系统中包含了最常用的四个坐标系统:1954北京坐标系,1980西安坐标系,WGS84坐标系[7]和2000国家大地坐标系[14],可选择所需要的坐标系进行计算,其中转换的成果会自动保存在一个文档之中,可在主界面进行查看,也可导入电脑进行进一步分析。

3.1 主界面

主页面如图1所示。可进入模式选择所需的模式进行计算操作,也可查看历史转换记录,退出功能如同手机home键,返回手机桌面。

3.2 大地-空间坐标转换模块

由于空间直角坐标转换至大地坐标无法之间通过公式求得,所以需要对大地纬度B进行迭代,整个大地坐标和空间直角坐标转换计算过程的流程见图2所示。

可见其在秒级和毫米级的精度上和现有软件相同,其他结果和PC软件成果在长度和角度上分别相差小于1 mm和1″,在绝大部分的工程中满足精度要求[15],已经可以代替现有PC软件进行工程应用。运用过程中可在设置中选择所使

用的坐标系统,并且所选择的坐标系统会显示在页面中央,以防选择错误造成坐标转换失败。在每次计算成功后,所转换的原始坐标和新坐标都会自动存储到文档之中,以供查阅。

3.3 七参数转换模块

由于实际应用中会涉及不同的空间坐标系统,为了方便工作,所使用的坐标系间需要进行相互转换,而转换前并不知道转换参数,所以在转换前需要通过3个或3个以上的公共点坐标进行七参数的求解。

七参数求解界面如图5所示,在中间输入公共点的个数后,在下侧列表中点击对应标签,输入点名和两个坐标系的坐标,即可进行七参数的求解。

对于这个模块进行模拟检验,假设七参数为X=[ΔX ΔY ΔZ m wx wy wz]T=[1 2 3 0.02 0.1 0.2 0.3]T,其中长度和角度的单位分别为m和″,通过本系统计算所得五组坐标,对照现有PC软件,计算结果完全一致。手机计算结果如图6所示。

可见手机7个参数计算结果在精度已经可以满足日常工程需求。为实现其他点的坐标转换,接着可点击确定即可进入七参数坐标转换页面,如图7所示。

此页面也可以在主页面的模式选择中直接进入,区别在于通过主页面进入时七参数默认全为0,需要手动输入,用此方法进入七参数默认为计算所得7个参数。

4 总结

通过检验,本手机的坐标转换与PC的结果一致。所制作的系统安装软件可以直接放入手机进行安装,在野外作业时用于实践。本系统简单易用,只需要按设定步骤输入数值即可得到结果。安卓系统下的系统不仅能满足PC端软件的精度,更能在随身携带的手机上方便解决坐标转换。

参考文献

[1] 孔祥元,郭际明,刘宗泉.大地测量学基础[M].(第二版). 武汉:武汉大学出版,2014.

[2] 白文荣,王晓燕. Java核心技术[M]. 北京:清华大学出版社, 2018.

[3] 詹帅. Eclipse插件技术在加速器控制系统中的应用 [D]. 北京:中国科学院大学(中国科学院近代物理研究所), 2018.

[4] 刘志平,余前勇,査剑锋.空间直角坐标至两类常用坐标的快速变换[J].测绘科学,2014,40(3):8-11.

[5] 蒋赫敏,钟若飞,谢东海.智能手机移动测量方法的设计与实现 [J].测绘通报, 2019 (6):71-76.

[6] 史先琳,张博.杨武年.一种Android智能移动终端的水准测量系统实现[J]测绘科学,2014,39(8):167-170.

[7] 彭桢.基于VB的2000国家大地坐标系坐标转换程序的实现 [J].矿山测量, 2016 ,44(6):75-79.

[8] 董阳武.基于ArcGIS的2000国家大地坐标系转换研究 [J].江西建材, 2019 (9):53-54.

[9] 杨娟. 大地元素實现坐标系统转换的数学模型[J].测绘科学,2014,39(3):41-44.

[10] 魏保峰,李国柱,倪曙,等. 2000国家大地坐标与城市平面坐标转换方法的研究[J]. 测绘通报, 2016 (1):57-61.

[11] 邓勇,张正禄,黄江雄,等. 工程测量中的坐标转换相关问题探讨[J]. 测绘科学,2011,36(5):28-30.

[12] 马涛峰,卢小平,禄丰年.基于对偶四元数的三维空间坐标转换直接解法[J]. 大地测量与地球动力学, 2017,37(12):1276-1280.

[13] 陈秀萍,黄彦锋.基于Android智能手机的测绘软件开发应用探讨[J].价值工程,2012(27):198-199.

[14] 廖震宇. 原有测绘基准向CGCS2000统一的方法研究和实现[J].测绘地理信息,2016,41(4):40-44.

[15] 张训虎,刘晋虎,何川,等. 2000国家大地坐标系转换常见问题分析[J].测绘通报,2016(9):52-55.

(收稿日期: 2019.12.06)

猜你喜欢

Java语言
Java语言图形编程工具的设计及应用
高职《Java语言程序设计》课程的“微课”制作与应用研究
论开闭原则在JAVA程序设计中的应用
基于Android平台的健康医疗APP设计与开发
计算机软件开发中的JAVA编程语言分析
用户隐私保护之手机密码保险箱
Android手机三轴加速度传感器使用
基于Java语言的手机软件开发技术分析