基于Java语言的GPS定位数据的提取与存储访问技术

鲍萍萍,陈光,王朋,王鹏辉

(东华学院信息科学与技术大学北京201620)

摘要:针对传统的在VC++平台上实现的GPS定位数据的提取与储存系统早已不能满足系统的实时性和可靠性等需求,以及软件方面存在扩充性、兼容性、移植性差等问题,运用GPS定位技术、多线程并口通讯处理技术和数据库储存访问技术,应用Java语言编撰,在Eclipse开发工具上设计并实现了一套GPS定位数据的实时提取与储存系统。测试结果表明,该系统运行稳定,实验数据有效可靠,达到了预期的目标。

关键词:GPS;多线程;并口通讯;数据储存;Java

0序言

随着卫星导航定位技术的发展,全球卫星定位系统(GlobalPositionSystem,GPS)成为目前最为常用的一种导航定位系统,其全方位、全天候、全时段、高精度等特性促使GPS的应用遥遥领先。其原理是用户通过GPS接收机接收卫星讯号,结合地理信息系统对讯号进行处理,因而获得用户所需的经经度、速度等信息,最终实现导航和定位[1]。而GPS接收机中的数据提取与储存是GPS定位中的重要组成部份。

目前,GPS定位数据处理系统大多数在VC++平台上实现,其扩充性、移植性、兼容性差。为改善其性能,2003年王缓缓等人[2]对GPS定位数据进行提取,提高了系统的扩充性和兼容性,但依然存在数据不能实时接收、同步处理及储存等问题。2006年李新源等人基于Java语言的GPS接收机的并口通讯程序设计[3],整个系统结构似乎较为清晰gps全球定位系统软件下载,但其只是实现了GPS数据的提取,对数据的储存并未研究。

为改善已有GPS定位数据的提取与储存功能,有效提升数据的可靠性和实时性等要求,本文基于Java的跨平台性、开放性与面向对象等特征[3],运用GPS定位技术、多线程并口通讯编程技术和数据库储存技术,设计了一套GPS定位数据的提取与储存系统。该系统能实时地接收、处理和储存GPS数据。

1系统组成

图片[1]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

GPS定位数据的提取与储存系统主要包括GPS并口通讯和GPS数据储存两部份,其结布光如图1所示。图1系统构架图其中,GPS并口通讯部份主要实现多线程编程、串口的打开、串口数据的接收、提取处理与并口的关掉等操作;GPS数据储存部份实现将提取处理后的数据保存在MySQL数据库中[24]。

图片[2]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

2GPS并口通讯

传统的用Java实现并口通讯一般采用并口API,它以独立jar包的形式提供一个标准扩充[5]。此系统中,采用并口和串口通讯的开源Java泛型RXTX,其提供了多操作系统下的兼容javax.comm并口通讯包API的实现。在Windows操作系统下,包含3个文件:RXTXcomm.jar、rxtxParallel.dll和rxtxSerial.dll,其提图2并口通讯流程图供了通信用的JavaAPI及相应的驱动类插口。系统在并口通讯前,必须对并口驱动程序装载。其并口操作流程图如图2所示[6]。

图片[3]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

2.1多线程技术

对并口进行操作的过程中,为提升CPU的使用效率,系统采用了多线程处理技术,挺好地满足了多任务和实时性的需求[78]。

Java有两种实现多线程的方法:一是创建一个类承继Thread类,并重画run()方式;二是实现Runnable插口。本文采用承继Thread类的形式实现多线程gps全球定位系统软件下载,主要涉及并口数据接收线程、数据提取处理线程、数据储存线程,系统的关键是处理好线程之间的同步、安全和死锁[78]。

2.2多线程并口通讯

(1)并口数据接收

在对GPS并口数据接收之前,必须明晰GPS接收机的数据接收格式[24]。GPS接收机违背NEMA0183标准合同,该合同内容包含GPS定位的经经度、速度、日期时间、地面航向、卫星状况、磁偏角等信息。本系统中,使用NEMA0183合同中的“MYMGPRMC”帧格式进行数据的提取处理。

图片[4]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

在进行数据接收前,首先打开并口并进行参数设置。之后,调用数据接收线程中的类实例方式对并口数据进行接收。为保证数据的可靠性和实时性,系统中设置了并口风波窃听器。其部份关键代码如下,数据接收结果图如图3所示。

图片[5]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

(2)并口数据提取处理

在成功接收GPS数据串后,要对其解析,转化成相应的格式。其思路如下:首先,判定数据串中是否富含“MYMGPRMC”数据,若存在,则截取MYMGPRMC包含的70B数据;其次,对MYMGPRMC包含的GPS定位信息进行提取;最后,对数据作进一步的处理运算并保存在GpsData对象中,提升了代码的强壮性。为了简化问题,本文只提取出日期时间、经经度、状态、速度信息[9]。其部份关键代码如下所示[2],数据提取处理图如图4、图5所示。

图片[6]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

图片[7]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

3数据库储存

对GPS定位数据进行提取处理后,须要将数据保存在数据库中,便捷后期的使用。本设计将GPS定位数据储存部份作为后台数据库,除了作为定位数据的容器,同时还可以随时随地地访问数据库与进行增、删、改、查等操作[4]。

在本系统中,将灵活可靠的MySQL作为后台数据库,应用JDBC技术联接数据库。下边从数据库的配置设计、存储和互联来实现高效可靠的数据储存。

图片[8]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

3.1数据库的配置与数据表的设计

对MySQL数据库操作前,须要对其配置。配置信息封装在dbconfig.properties配置文件中,如图6所示。

本系统采用JDBC形式联接数据库,在MySQL中,须要新建一个数据库命名为mydb1,并添加一张数据表gpsdata用于储存GPS定位数据。数据表的列分别命名为日期时间datetime、定位状态status、纬度latitude、经度longitude、速度speed,并设置相应的列属性,准许为NULL。

3.2数据的储存与互联

数据的储存与互联技术是储存系统设计的核心。本设计中定义了两个核心类:JdbcUtils工具类和JdbcUtilsImpl类。其中,JdbcUtils类主要用于实现加载配置文件、加载驱动类与获取联接操作;JdbcUtilsImpl类主要用于向数据库中储存GPS数据、数据表的更新、释放等。其部份关键代码如下所示,图7为数据存入情况。

InputStreamin=JdbcUtils.class.getClassLoader().getResourceAsStream(“dbconfig.properties”);

props=newProperties();

props.load(in);

Class.forName(props.getProperty(“driverClassName”));

DriverManager.getConnection(props.getProperty(“url”),props.getProperty(“username”),props.getProperty(“password”));

Stringsql=”INSERTINTOgpsdataVALUES(?,?,?,?,?)”;

pstmt=con.prepareStatement(sql);pstmt.setString(1,gpsdata.getDatetime());

……

pstmt.setDouble(4,gpsdata.getSpeed());

pstmt.executeUpdate();

图片[9]-基于Java语言的GPS定位数据的提取与存储访问技术-唐朝资源网

4推论

本系统在Eclipse开发环境下,结合MySQL数据库技术,对GPS定位数据进行接收和提取处理,并将其存入数据库中,以供开发者后期使用。其中,系统中借助了Java中的多线程技术,将数据接收与提取处理高效地分离,有效地提升了数据的处理能力。同时,系统中加入了数据储存部份,为数据的有效性和可靠性提供了保障,愈发彰显了系统的整体性能。

参考文献

[1]张帅帅,崔红霞.GPS数据的采集提取和显示[J].科技创新导报,2013(25):2223.

[2]王缓缓,李虎.用Java实现GPS全球定位系统定位数据的提取[J].计算机与现代化,2004(11):8991.

[3]李新源,赵树法,魏宗寿,等.基于Java语言的GPS接收机的并口通讯程序设计[J].高铁计算机应用,2007,16(5):46.

[4]徐涴砯,陈光,高孟茹.GPS船舶试飞数据提取与储存系统的开发[J].微型机与应用,2013,32(23):8689.

[5]丁振凡,王小明,邓建明,等.基于Java的并口通讯应用编程[J].微型机与应用,2012,31(13):8486.

[6]牛立,王景中.GPS导航数据提取的设计与研究[J].微型机与应用,2010,29(20):13.

[7]李良,朱善安.基于Java的并口通讯[J].电子元件,2007,30(2):714716,720.

[8]吴金锋,刘伟平,黄红斌.Java并口通讯数据采控系统的设计与实现[J].微计算机信息,2010,26(10):6566.

[9]袁林,曹杰.借助VC++实现GPS全球定位系统定位数据的提取[J].现代电子技术,2004,27(24):105107.

© 版权声明
THE END
喜欢就支持一下吧
点赞251赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容