一种基于gprs的实时路况车载导航终端的制作方法

文档序号:6248404阅读:235来源:国知局
一种基于gprs的实时路况车载导航终端的制作方法
【专利摘要】本发明公开了一种基于GPRS的实时路况车载导航终端,包括:串口模块、GPRS模块、GPS模块、电子地图模块、VG库模块、电子地图引擎模块、MiniGUI图形用户接口;实现了基于图元文件的多属性文件索引方法,在TAB格式电子地图的基础上,额外增加实时路况属性,存放在另一个独立的属性文件中,包括FeatureId、位置、事件、名称等字段,FeatureId字段指电子地图中图元的标识符,位置字段指实时路况发生的地理位置,基于线性参考模型用起点和终点描述,事件字段指道路的实时路况状态,包括拥堵、拥挤和通畅三种,名称字段指电子地图图元所描述的地理要素名称。
【专利说明】—种基于GPRS的实时路况车载导航终端

【技术领域】
[0001]本发明属于车载导航【技术领域】,尤其涉及一种基于GPRS的实时路况车载导航终端。

【背景技术】
[0002]随着城镇居民汽车保有量的急剧增长,城市交通拥堵成为需要解决的社会热点问题。
[0003]交通限行可以有效降低城市道路的负载,道路拓宽、下穿隧道等道路基础条件的改善可以有效提高道路的承载力、解决单点瓶颈问题,但这些方法都没有从道路综合利用率方面考虑问题。实时路况信息的有效发布则可以提醒公众合理地规划出行路径,躲避通行能力差的路段,间接提高道路的综合利用率,避免交通拥堵的发生。
[0004]实时路况信息目前缺乏统一的标准,实践中大多以交通拥堵、拥挤、流畅等概括性的词语描述,并用不同颜色在电子地图上标注。实时路况信息的发布主要基于无线电台、万维网、智能终端等平台,如城市交通广播电台、百度地图、新浪实时路况、图吧导航等,与嵌入式系统应用开发存在较大的差异性,无法满足工业产品集成度提高的需求。改良升级后的GPS导航设备虽也具备了实时路况信息接收功能,但其主要以Windows CE嵌入式操作系统为平台,与嵌入式Linux操作系统相比,存在着价格昂贵、技术屏蔽等问题。以嵌入式Linux操作系统的实时路况信息发布应用相对缺乏,并且存在图形用户接口不够丰富、需要包罗来自多方的软件、对这些软件进行改进集成等问题。


【发明内容】

[0005]本发明实施例的目的在于提供一种基于GPRS的实时路况车载导航终端,旨在解决实时路况信息发布问题,利用GPRS移动通信技术采集实时路况信息,在GPS路径导航的基础上增加实时路况信息,更好地满足分布式位置服务电子地图数据存储和人们出行信息需求。
[0006]本发明实施例是这样实现的,一种基于GPRS的实时路况车载导航终端,该基于GPRS的实时路况车载导航终端包括:串口模块、GPRS模块、GPS模块、电子地图模块、VG库模块、电子地图引擎模块;
[0007]串口模块,用以实现S3C2410与SM908模块的硬件连接,并据此实现通信程序;
[0008]GPRS模块,采用SM 908模块实现GPRS通信,接收实时路况信息;
[0009]GPS模块,采用SM 908模块实现GPS定位,解析NMEA数据,获取移动目标的地理位置,即经度和纬度数据;
[0010]电子地图模块,用于实现基于图元文件的多属性文件索引方法;
[0011]VG库模块,用于定义DCInterface基类,封装Mini⑶I图形用户接口函数,实现矢量图形的绘制;
[0012]电子地图引擎模块,用于实现图形界面应用程序,显示电子地图和实时路况信息。
[0013]进一步,串口模块,S3C2410与SM908通过RS232串口连接,即S3C2410端的TXD、RXD引脚分别与SM908端的RXD、TXD引脚连接;串口通信采用文本行读写模式,在S3C2410UARTl与SM908 GSM_DEBUG连接上定义文本行读函数,在S3C2410 UART2与SM908 GSM_MAIN连接上定义文本行读和文本行写函数。
[0014]进一步,GPRS模块,S3C2410 UART2与SM908 GSM_MAIN与连接,文本行大小定义为512字节。
[0015]进一步,GPS模块,S3C2410 UART2与SM908 GSM_MAIN与连接,文本行大小定义为512字节;S3C2410 UARTl与SM908 GSM_DEBUG连接,文本行大小定义为128字节。
[0016]进一步,电子地图模块,在Mitab库的基础上实现了基于图元文件的多属性文件索引方法,包括两个方面:
[0017]移植Mitab库,具体内容有修改mi tab/mi tab_tabfi le.cpp文件中TABFile类的Open方法,增加“r+”文件打开模式,修改“w”文件打开模式操作;在TABFile类中增加WriteRecord和DeleteRecord方法,实现向DAT文件中增加一条记录和从DAT文件中删除一条记录;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 类的 ReadDouble方法,对换double型数据的高4字节和低4字节;
[0018]使用Mitab移植库C++接口,实现电子地图实时路况信息的更新函数RefreshEvent0
[0019]进一步,VG库模块,采用C++语言编写的矢量图形绘制类库,定义DCInterface基类,封装Mini⑶I图形用户接口函数,然后依次派生CVGLPoint、CVGLLine, CVGLPolyline,CVGLReg1n, CVGLSymbol 类,即 CVGLPoint 继承 DCInterface、CVGLLine 继承 CVGLPoint、CVGLPolyline继承CVGLLine,类之间采用保护继承,CVGLine类采用布雷森汉姆算法实现直线绘制,CVGLPolyline类采用相邻平行线交叉点求解实现平行折线绘制,CVGLReg1n类采用边相关扫描线填充算法实现多边形区域绘制。
[0020]进一步,电子地图引擎模块,创建主窗口、状态栏IDC_STATUSBAR和工具栏IDC_TOOLBAR(包括放大、缩小、漫游、GPS导航、GPRS实时路况按钮);主窗口过程函数响应MSG_PAINT消息,若打开GPRS实时路况功能,在用VG库显示查询区域内电子地图图元及其属性的同时根据线性参考模型显示实时路况信息;工具栏通知回调函数定义为toolbar_notif—proc0。
[0021]进一步,该基于GPRS的实时路况车载导航终端还包括=Min1TI图形用户接口,使用Mini⑶1-L 3.3移植版。
[0022]本发明提供的基于GPRS的实时路况车载导航终端,实现了基于图元文件(MAP文件)的多属性文件(DAT文件)索引方法。在TAB格式电子地图的基础上,额外增加实时路况属性,存放在另一个独立的属性文件中,包括Featureld、位置、事件、名称等字段,FeatureId字段指电子地图中图元的标识符,位置字段指实时路况发生的地理位置,基于线性参考模型用起点和终点描述,事件字段指道路的实时路况状态,包括拥堵、拥挤和通畅三种,名称字段指电子地图图元所描述的地理要素名称。
[0023]本发明存在以下有益技术效果:
[0024]1.地图比例尺小于1:100000,显示图元个数在200左右,终端界面运行流畅,可以满足电子地图分辨率为118.llpixel/cm时地图刷新要求。
[0025]2.实现图元文件(MAP文件)与属性数据文件(DAT文件)一对多关系,允许在终端存储多种信息,具有较强的可扩展性,有利于采用分布式模式构建位置服务。
[0026]3.系统软件嵌入式Linux,图形用户接口软件Mini⑶I,TAB文件读写库Mitab库均为源码开放软件,使用成本低廉,为产品提供了广阔的发展前景。

【专利附图】

【附图说明】
[0027]图1是本发明实施例提供的基于GPRS的实时路况车载导航终端结构示意图;
[0028]图中:1、串口模块;2、GPRS模块;3、GPS模块;4、电子地图模块;5、VG库模块;6、电子地图引擎模块;7、Mini⑶I图形用户接口 ;
[0029]图2是本发明实施例提供的多属性文件索引方法的原理图。

【具体实施方式】
[0030]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0031]下面结合附图及具体实施例对本发明的应用原理作进一步描述。
[0032]如图1所示,本发明实施例的基于GPRS的实时路况车载导航终端主要由:串口模块1、GPRS模块2、GPS模块3、电子地图模块4、VG库模块5、电子地图引擎模块6、MinWUI图形用户接口 7 ;
[0033]串口模块1,S3C2410与SM908使用RS232串口连接,采用文本行读写模式,在S3C2410 UARTl 与 SM908 GSM_DEBUG 连接上定义文本行读(ReadBlockFromDebug)函数,在 S3C2410 UART2 与 SM908 GSM_MAIN 连接上定义文本行读(ReadLineFromMain)和文本行写(WriteLineToMain)函数。
[0034]GPRS模块2,使用串口模块I S3C2410 UART2与SM908GSM_MAIN连接,文本行大小定义为512字节,调用WriteLineToMain函数,向GSM_MAIN发送AT命令,完成TCP/IP连接、关闭功能;调用ReadLineFromMain,从GSM_MAIN接收实时路况信息。
[0035]GPS模块3,使用串口模块I S3C2410 UART2与SM908 GSM_MAIN连接,文本行大小定义为512字节,调用WriteLineToMain函数,向GSM_MAIN发送AT命令,完成GPS设备的打开、关闭功能;使用串口模块I S3C2410UART1与SM908 GSM_DEBUG连接,文本行大小定义为128字节,调用ReadBlockFromDebug,从GSM_DEBUG接收NMEA标准的GPS数据,解析得到GPS定位信息(包含地理位置的经度和纬度)。
[0036]电子地图模块4,包含两个方面的内容,(一)修改mitab/mitab_tabfile.cpp文件中TABFile类的Open方法,增加“r+”文件打开模式,修改“w”文件打开模式操作,允许在缺少MAP和IND文件时可以对电子地图写操作;在TABFile类中增加WriteRecord和DeleteRecord方法,实现向DAT文件中增加一条记录和从DAT文件中删除一条记录;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 类的 ReadDouble 方法,对换double型数据的高4字节和低4字节。(二)在Mi tab库移植的基础上,使用其C++接口,实现电子地图实时路况信息的更新函数RefreshEvent。
[0037]VG库模块5,是米用C++语目编写的矢量图形绘制类库,DCInterface是基类,封装Mini⑶I图形用户接口 7函数,然后依次派生CVGLPoint、CVGLLine、CVGLPolyline、CVGLReg1n、CVGLSymbol 类,即 CVGLPoint 继承 DCInterface、CVGLLine 继承 CVGLPoint、CVGLPolyline继承CVGLLine、等等,类之间采用保护继承。
[0038]电子地图引擎模块6,基于Mini⑶I图形用户接口 7,使用C语言开发了一个图形界面应用程序,定义主窗口函数Min1TMain及主窗口过程函数RTNTWinProc,创建状态栏IDC_STATUSBAR和工具栏IDC_T00LBAR(包括放大、缩小、漫游、GPS导航、GPRS实时路况等按钮),编写工具栏通知回调函数toolbar_notif_proc,响应处理工具栏消息。主窗口过程函数响应MSG_PAINT消息,使用VG库模块5显示查询区域内电子地图图元及其属性;若打开GPRS实时路况功能,则根据线性参考模型显示实时路况信息;
[0039]Mini⑶I图形用户接口 7,图形用户接口采用移植版Mini⑶I,工作于多线程运行模式。
[0040]本发明的工作原理:研究并实现基于图元文件(MAP文件)的多属性文件(DAT文件)索引方法,即一个图元文件可以被多个属性文件参照,可以在不改变电子地图基本文件结构(TAB结构)的基础上,实现多源信息融合,为分布式模式的位置服务提供数据存储基础。
[0041]如图2所示,本发明实施例的多属性文件索引方法的原理图包括以下步骤:
[0042]对于TAB格式电子地图,利用MapInfo软件为需要增加实时路况属性的图层创建属性文件,包括TAB文件和DAT文件;根据实时路况相关的图元名查找MAP文件相应图元的ID,再用Mitab移植库往实时路况属性文件中增加记录和删除记录;根据实时路况属性文件中每条记录的FeatureId字段,可以查找MAP文件得到图元矢量数据,结合矢量数据和属性绘完成实时路况信息的显示。
[0043]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于GPRS的实时路况车载导航终端,其特征在于,该基于GPRS的实时路况车载导航终端包括:串口模块、GPRS模块、GPS模块、电子地图模块、VG库模块、电子地图引擎模块; 串口模块,用以实现S3C2410与SM908模块的硬件连接,并据此实现通信程序; GPRS模块,采用SIM 908模块实现GPRS通信,接收实时路况信息; GPS模块,采用SM 908模块实现GPS定位,解析NMEA数据,获取移动目标的地理位置,即经度和纬度数据; 电子地图模块,用于实现基于图元文件的多属性文件索引方法; VG库模块,用于定义DCInterface基类,封装Mini⑶I图形用户接口函数,实现矢量图形的绘制; 电子地图引擎模块,用于实现图形界面应用程序,显示电子地图和实时路况信息。
2.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,串口模块,S3C2410与SM908通过RS232串口连接,即S3C2410端的TXD、RXD引脚分别与SM908端的RXD、TXD引脚连接;串口通信采用文本行读写模式,在S3C2410UART1与SM908GSM_DEBUG连接上定义文本行读函数,在S3C2410UART2与SM908GSM_MAIN连接上定义文本行读和文本行写函数。
3.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,GPRS模块,S3C2410UART2与SM908GSM_MAIN与连接,文本行大小定义为512字节。
4.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,GPS模块,S3C2410UART2与SM908GSM_MAIN与连接,文本行大小定义为512字节;S3C2410UART1与SM908GSM_DEBUG连接,文本行大小定义为128字节。
5.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,电子地图模块,在Mitab库的基础上实现了基于图元文件的多属性文件索引方法,包括两个方面: 移植Mitab库,具体内容有修改mitab/mitab_tabfile.cpp文件中TABFile类的Open方法,增加r+文件打开模式,修改w文件打开模式操作;在TABFile类中增加WriteRecord和DeleteRecord方法,实现向DAT文件中增加一条记录和从DAT文件中删除一条记录;修改 mitab/mitab_rawbinblock.cpp 文件中 TABRawBinBlock 类的 ReadDouble 方法,对换double型数据的高4字节和低4字节; 使用Mitab移植库C++接口,实现电子地图实时路况信息的更新函数RefreshEvent。
6.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,VG库模块,采用C++语言编写的矢量图形绘制类库,定义DCInterface基类,封装MiniGUI图形用户接口函数,然后依次派生 CVGLPoint、CVGLLine, CVGLPolyline, CVGLReg1n, CVGLSymbol 类,即 CVGLPoint 继承 DCInterface、CVGLLine 继承 CVGLPoint、CVGLPolyline 继承 CVGLLine,类之间采用保护继承,CVGLine类采用布雷森汉姆算法实现直线绘制,CVGLPolyline类采用相邻平行线交叉点求解实现平行折线绘制,CVGLReg1n类采用边相关扫描线填充算法实现多边形区域绘制。
7.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,电子地图引擎模块,创建主窗口、状态栏IDC_STATUSBAR和工具栏IDC_T00LBAR,包括放大、缩小、漫游、GPS导航、GPRS实时路况按钮;主窗口过程函数响应MSG_PAINT消息,若打开GPRS实时路况功能,在用VG库显示查询区域内电子地图图元及其属性的同时根据线性参考模型显示实时路况信息;工具栏通知回调函数定义为toolbar_notif_proc,响应处理工具栏消息。
8.如权利要求1所述的基于GPRS的实时路况车载导航终端,其特征在于,该基于GPRS的实时路况车载导航终端还包括=Mini⑶I图形用户接口,使用Mini⑶1-1.3.3移植版。
【文档编号】G01C21/26GK104359485SQ201410647106
【公开日】2015年2月18日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】史军勇, 李玲玲, 苏芳荔, 高晓锋 申请人:郑州航空工业管理学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1