背景技术
现有移动终端的地图存储和显示技术主要有以下两种:
一、将地图图片数据全部存储在存储卡或移动终端本地的内存中,用户程序可直接读取显示,其优点是显示速度快,缺点是占用移动终端存储资源太大、地图数据不能实时更新。
二、地图数据存储在网络的服务器端,移动终端可通过无线通信网络和互联网(Internet),并根据移动终端(如:手机)的显示屏的大小,实时从网络的服务器端下载所需显示的地图图片。其优点是地图数据部署灵活并可实时更新,占用移动终端存储资源少,缺点是对网络的依赖性大,显示速度与网络拥堵状况相关。
中国专利申请案200510078987.X,公开了一种移动通信终端和地图显示***。该***具有通信网络连接的服务器和移动通信终端。移动通信终端具有存储设备,用于存储与位置数据相关联的预存地图数据;位置测量设备,用于测量当前位置并获取当前位置数据;当前地图获取设备,用于通过利用通信网络向服务器发送当前位置数据,从服务器获取当前地图数据;显示设备,用于基于当前地图数据或预存地图数据显示地图。其中,服务器存储地图数据,并根据移动通信终端所发送的位置数据搜索所存储的地图数据,并把与位置数据相对应的地图数据传送给所述的移动通信终端。
从上述专利申请揭示的地图显示***可知,其地图显示***具有以下特点:
(1)地图的显示与GPS的位置信息紧密相关。无论是存储地图数据还是搜索地图数据都需经GPS获取当前位置信息。
(2)存储及显示的是地图图片数据,地图图片数据大小有预定值限制。
(3)地图的缩小和放大操作是通过网络访问服务器,在服务器端完成的。
(4)只能显示位置周围的相对较小的区域,而无法获得整个地图。
(5)旅行线路是通过地图数据业务服务器计算并下载到移动终端的外存中。
(6)不具备移动通信终端与服务器之间形成网络间LRU和LFU算法的移动终端内存管理机制。
综上所述,现有的移动终端的地图存储和显示技术方案还不能满足广大用户的要求。
发明内容
本发明的目的在于,提供一种基于移动终端的地图数据处理方法、***及其移动终端,用于解决地图数据网络服务端和移动终端本地存储与显示相融合的问题,真正实现移动终端上的实时浏览地图、语音导航以及实时地理信息和兴趣点(POI:Point of Interest)的搜索等。
本发明的技术方案为,一种基于移动终端的地图数据处理方法,该方法包括以下步骤:对地图数据进行格式转换处理,生成地图矢量数据;对生成的地图矢量数据进行编码,并生成压缩格式的地图矢量数据;在移动终端中建立动态矢量数据库,将所述压缩格式的地图矢量数据下载到所述的动态矢量数据库中;从所述的动态矢量数据库中读取压缩格式的地图矢量数据,对该压缩格式的地图矢量数进行解码得到地图矢量数据,并根据该地图矢量数据和移动终端显示器像素数据,将所述的地图矢量数据所对应的地图绘制在移动终端的显示器上。
本发明还提供了一种移动终端,该移动终端包括:射频单元、基带电路、显示器和中央处理单元;所述移动终端还包括与所述中央处理单元相联接的:动态矢量数据存储单元,用于对压缩格式的地图矢量数据进行存储;应用层界面,用于输入地图数据服务请求;地图矢量数据读写单元,用于根据所述的地图数据服务请求,向所述的动态矢量数据存储单元中读取或写入压缩格式的地图矢量数据;地图矢量数据解码单元,用于对读取的压缩格式的地图矢量数据进行解码,生成地图矢量数据;地图绘制单元,根据生成的地图矢量数据和所述显示器的像素数据,将所述地图矢量数据所对应的地图绘制在所述的显示器上。
本发明也提供了一种基于移动终端的地图数据处理***,该***包括:服务器和移动终端,所述的服务器通过无线通信网络与所述的移动终端相联接;所述的服务器包括:地图数据压缩编码单元,用于对地图数据进行格式转换处理和压缩处理,生成压缩格式的地图矢量数据;地图矢量数据存储单元,用于将生成的压缩格式的地图矢量数据进行存储;地图矢量数据维护单元,用于对所述的移动终端中存储的压缩格式的地图矢量数据进行更新;所述移动终端包括:射频单元、基带电路、显示器、中央处理单元以及与所述中央处理单元相联接的:动态矢量数据存储单元,用于对所述射频单元从所述服务器接收的压缩格式的地图矢量数据进行存储;应用层界面,用于输入地图数据服务请求;地图矢量数据读写单元,用于根据所述的地图数据服务请求,向所述的动态矢量数据存储单元中读取或写入压缩格式的地图矢量数据;地图矢量数据解码单元,用于对读取的压缩格式的地图矢量数据进行解码处理,生成地图矢量数据;地图绘制单元,根据生成的地图矢量数据和所述显示器的像素数据,将所述地图矢量数据所对应的地图绘制在所述的显示器上。
本发明的有益效果在于:
1)实现移动终端上的重绘制地图:其优点是地图的矢量数据量比地图图片的数据量小很多,占内存少、显示灵活、缩放自如、处理速度快。
2)实现移动终端地图矢量数据的本地存储:既可以用几十K的内存范围存储压缩编码格式的地图矢量数据,也可以用几百M以上的内存范围存储压缩编码格式的地图矢量数据。同时,本地存储机制实现了地理信息和POI点的本地搜索,支持旅行线路的路径规划。使原本服务端的工作移至移动终端本地完成,加快了显示、搜索的速度。
3)地图数据的更新及恢复:移动终端内的地图矢量数据更新(包括新城市数据的下载)过程,是当用户浏览城市地图或查询地点时,应用层向本地的地图矢量数据进行应用数据请求,当数据库中查不到这些数据时,移动终端会去访问网络,从网络的服务器端下载数据,更新移动终端内的地图矢量数据。
用户在使用中难免会出现接听电话、接收信息、电池掉电等不稳定的干扰情况,这些情况有可能破坏移动终端内的地图矢量数据,这时***会自动通过网络利用数据更新机制对移动终端的数据进行恢复,确保用户使用的安全和可靠性。同时也充分体现了以本地地图数据为主,以网络服务端数据为辅的交互方式和优势互补的特点。
4)有利于网络平衡:实时、动态地监测网络状况,在网络不繁忙的情况下尽可能多地下载用户所需的数据,或更新、恢复数据。在网络繁忙时尽可能地利用本地数据,减少对网络的访问和数据下载量。形成移动终端客户端与服务器端动态的数据平衡交互机制。
5)有利于内存管理:压缩编码的矢量地图数据格式数据量占内存很少,所以,可以实现在移动终端驻留多个城市的地图矢量数据,为了在有限的移动终端内存中对地图数据进行有效管理,采用了移动终端与服务器之间形成的一种网络间的“高速缓存”机制,即采用了网络间的LRU和LFU算法。利用用户对***数据库中各城市地图数据的访问的频度和最长时间未被使用的情况进行管理,对访问次数最少的城市,优先进行地图数据的更新或内存的释放。确保了高效的使用移动终端的存储器。
6)高效显示:由于地图数据驻留在移动终端的本地内存,地图的显示不受网络的影响,使其显示速度和刷新速度相当快,也大大减少了移动终端在显示地图时网络的访问次数和下载的数据量,减少了移动终端用户的费用和功耗。
具体实施方式
以下结合附图详细说明本发明的具体实施方式。如图1所示,本发明***统由服务器、通信网络、移动终端组成。优选的实施方案是,服务器由地理信息数据库服务器和多种应用业务数据服务器组成;通信网络可包括Internet、GSM/GPRS/EDGE、CDMA、CDMA2000/WCDMA/TD-SCDMA或PHS等,以使服务器与移动终端之间进行无线通信。其中,
地理信息数据库服务器:对多个城市的地图数据(包括地图图片数据和地图坐标数据)进行格式转换处理,生成统一格式的地图矢量数据,并对该地图矢量数据进行有损或无损压缩处理后形成压缩格式的地图矢量数据,例如可采用Zip压缩编码模块或rar压缩编码模块对地图矢量数据进行压缩编码处理,并将该压缩格式的地图矢量数据存储在地理信息数据库服务器的地图矢量数据库中。
多种应用业务数据服务器:设置有地图矢量数据维护单元,用于对所述的移动终端中存储的地图矢量数据进行更新。其中,地图矢量数据维护单元具有自动更新程序模块,用于通过无线通信网络对移动终端的动态矢量数据库单元存储的地图矢量数据进行监测和分析,根据监测和分析的结果自动对移动终端动态矢量数据库单元存储的地图矢量数据进行更新;地图矢量数据维护单元还具有请求更新程序模块,用于对所述移动终端的地图矢量数据更新请求进行监测和分析,根据监测和分析的结果对所述动态矢量数据存储单元存储的地图矢量数据进行更新。一个可选的方案是可以在一个服务器中实现上述的地理信息数据库服务器和多种应用业务数据服务器的功能。其中,动态矢量数据存储单元可以设置在在是易失性存储器中,也可以设置非易失性存储器中。
移动终端中内置客户端程序的两个主要部分:(一)地图矢量数据解码并重新在移动终端上绘制地图及应用业务部分;(二)动态矢量数据库处理部分(EQS)。如图2所示,上述(一)部分包括:应用层界面模块,用于输入地图数据服务请求;地图矢量数据读写单元,用于根据所述的地图数据服务请求,向所述的动态矢量数据存储单元中读取或写入压缩格式的地图矢量数据;地图矢量数据解码单元,用于对读取的压缩格式的地图矢量数据进行解码,生成地图矢量数据;地图绘制单元,根据生成的地图矢量数据和所述显示器的像素数据,将所述地图矢量数据所对应的地图绘制在所述的显示器上。上述(二)部分主要包括:动态矢量数据库单元,用于对地图矢量数据进行存储,例如,根据移动终端内存的大小存储部分的城市地图矢量数据或一个城市的完整的地图矢量数据,也可以存储多个城市的完整的地图矢量数据。
其中,该动态矢量数据库存储本地移动终端用压缩编码格式的地图矢量数据。其工作原理是:当用户浏览城市地图或查询地理信息时,应用层界面模块向动态矢量数据库单元进行应用数据请求,动态矢量数据库单元根据浏览的城市或查询的地理信息,将该城市的地图或查询的地理信息周边区域的压缩编码格式的地图矢量数据传给地图矢量数据解码单元应用程序。地图矢量数据解码单元应用程序将压缩编码格式的地图矢量数据解码后,根据移动终端显示器的像素多少,将地图按其矢量坐标用点、线、面、各种颜色等几何图形和文字重新按原图绘制在移动终端的显示器上。并可对地图按比例进行任意大小的缩放操作。这些操作可在不依赖网络的情况下,完全独立地在移动终端本地完成。上述(一)部分与(二)部分之间的工作流程如附图8所示。
如图4所示为移动终端的一优选实施例手机,在手机中包括射频单元、基带电路、显示器和中央处理单元;所述移动终端还包括与所述中央处理单元相联接的:EQS部分的动态矢量数据库单元,用于对地图矢量数据进行存储;应用层界面,用于输入地图数据服务请求;EQS部分的地图矢量数据读写单元,用于根据所述的地图数据服务请求,向所述的动态矢量数据库单元中读取或写入地图矢量数据;EQS部分的地图矢量数据解码单元,用于对读取的地图矢量数据进行解码处理,生成地图数据;地图绘制单元,根据生成的地图数据和所述显示器的像素数据,将所述地图数据所对应的地图绘制在所述的显示器上。
手机中动态矢量数据库单元的数据来源:最初的数据来源主要有两方面,一是根据用户所选择或设置浏览的城市,通过通信网络,将地理信息数据库***服务器里的被压缩编码的地图矢量数据下载到移动终端的动态矢量数据库单元中。另一方面也可将手机与存有地图矢量数据的计算机相连接,连接方式可以是USB口、串口的线连接,也可以是红外或蓝牙的无线连接,从而使手机从计算机中下载压缩编码格式的地图矢量数据并存到手机的动态矢量数据库单元中。用户再使用这些地图数据时将与网络无关。
动态矢量数据库处理部分(EQS)的数据更新(包括新城市数据的下载)或数据恢复的功能模块如图6所示,其中EQS具体包括:服务数据请求模块(DSR)、数据使用分析模块(DA)、数据调度同步控制模块(DS)、数据读操作控制模块(DR)、数据写操作控制模块(DW)以及地图矢量数据库(MDB)。手机的应用层界面与所述的服务数据请求模块(DSR)相连接。手机应用层界面可包括多种数据应用(如图5所示),如数据应用1:地图浏览单元,用于输入地图浏览请求;数据应用2:地理信息查询单元,用于输入地理信息查询请求;数据应用3:地图矢量数据更新单元,用于输入地图矢量数据更新请求;以及语音导航单元,用于输入语音导航请求;地图缩放单元,用于输入地图缩放指令等等。
动态矢量数据库(EQS)处理部分的数据更新(包括新城市数据的下载)或数据恢复的过程如图7所示。当用户浏览城市地图或查询地点时,应用层界面模块向EQS进行应用数据请求,只有在数据库中查不到这些数据时,EQS才会去访问网络,从网络的服务器端下载数据,恢复和更新EQS内MDB的数据(如图9所示的流程)。应用层发出数据应用请求后,服务数据请求模块(DSR)将数据应用请求传送给数据使用分析模块(DA)判断应用类别、确定读写操作请求,根据判断发出数据读或写请求,如果为读请求则从MDB数据库中取出地图矢量数据并锁定数据;如果为写请求则发出数据写请求并锁定请求,同步从网络服务器端请求更新或恢复的数据,并写入MDB数据库,完成后返回数据并释放锁定。将所需的压缩编码格式的地图矢量数据返回到应用层,完成本次访问。
EQS的版本的更新过程:当用户使用该项业务时,服务器端将会在对用户进行认证鉴权的同时对用户EQS内部的MDB数据版本进行核实,也会在用户更新数据或与网络联系时对MDB版本进行核实。应用服务器将会根据移动终端的版本情况,自动选择是全部数据更新还是部分数据更新,实现对移动终端EQS的MDB数据库中的版本更新工作。
本发明的具体实施方式还可以在上述的动态矢量数据库中存放经常被请求应用的城市地图矢量数据,而剩余的不经常使用的城市地图数据则可存放在网络服务器端,形成了地图矢量数据存放的服务器和移动终端的混合模式。其中,上述移动终端的服务请求计数单元对存放在动态矢量数据库中的压缩格式的地图矢量数据的服务请求次数进行统计,并把服务请求次数多的压缩格式的地图矢量数据存储在移动终端的非易失性存储器,把服务请求次数少的压缩格式的地图矢量数据存储在网络服务器的存储器中。如果搜索到所述的被请求的地图矢量数据在网络服务端,则通过无线通信网络及互联网络从所述的网络服务器中下载被请求的地图矢量数据,并写入所述的动态矢量数据库中,形成本地的地图矢量数据,然后读取、使用、显示地图数据。该混合模式的极限方式是:移动终端可不预存地图矢量数据,使用时临时从网络实时下载要应用、显示的地图数据,并进行应用和显示,需更新显示数据时再从网络端请求数据,使用完成后移动终端不保留任何地图矢量数据,或者也可将网络服务端的地图矢量数据全部下载到移动终端中,再使用和显示地图数据时无需网络的支持,除非整个城市地图数据需要进行更新。
由于压缩编码的矢量地图数据格式数据量占内存很少,所以,可以实现在移动终端内存驻留多个城市的压缩格式的地图矢量数据,为了适应有限的移动终端内存,EQS对地图数据进行有效的管理,采用了移动终端与服务器之间形成的一种网络间的“高速缓存”的管理机制,即采用了网络间的LRU和LFU算法,利用用户对MDB数据库中各城市地图数据的访问的频度和最长时间未被使用的情况进行管理,对访问次数最少的城市,优先进行地图矢量数据的更新或内存的释放。确保了高效的使用移动终端内存。
本发明的又一实施方式是:
在服务器端采用一台服务器(如图3所示),该服务器包括:地图数据压缩编码单元,用于对地图数据进行压缩和编码处理,生成压缩格式的地图矢量数据;地图矢量数据库单元,用于将生成的压缩格式的地图矢量数据进行存储;地图矢量数据应用单元,用于对所述的移动终端中存储的压缩格式的地图矢量数据进行更新。所述的地图矢量数据应用单元包括:自动更新模块,用于对所述移动终端动态矢量数据库单元存储的压缩格式的地图矢量数据进行监测和分析,根据监测和分析的结果自动对所述动态矢量数据库单元存储的压缩格式的地图矢量数据进行更新;请求更新模块,用于对所述移动终端的地图矢量数据更新请求进行监测和分析,根据监测和分析的结果对所述动态矢量数据库单元存储的压缩格式的地图矢量数据进行更新。
移动终端为一手机(如图4所示),其包括:射频单元、基带电路、显示器、中央处理单元以及与所述中央处理单元相联接的:动态矢量数据库单元,用于对所述射频单元从所述服务器接收的地图矢量数据进行存储;应用层界面,用于输入地图数据服务请求;地图矢量数据读写单元,用于根据所述的地图数据服务请求,向所述的动态矢量数据存储单元中读取或写入压缩格式的地图矢量数据;地图矢量数据解码单元,用于对读取的压缩格式的地图矢量数据进行解码,生成地图矢量数据;地图绘制单元,根据生成的地图矢量数据和所述显示器的像素数据,将所述地图矢量数据所对应的地图绘制在所述的显示器上。
在移动终端中内置有绘制地图程序及应用业务程序,例如可采用Java、C或C++等计算机语言编制地图绘制程序,地图绘制单元的程序将会根据用户地理信息的需求从本地的动态矢量数据库中取出压缩格式的地图矢量数据,按其矢量坐标,用点、线、面、各种颜色等几何图形和文字重新按原图绘制在移动终端的显示器上。其优点是地图的矢量数据量比地图图片的数据量小很多,占内存少、显示灵活、缩放自如、速度快。
在移动终端中内置EQS***,EQS的MDB可存储多个城市的经编码、压缩专有格式的地图矢量数据。其“动态”的含义是指其EQS***与网络的服务器形成数据更新或恢复的互动机制,也指对移动终端实际可用内存情况的动态利用和管理,既可以用几十K的内存范围存储专有格式的地图矢量数据,也可以用几百M以上的内存范围存储压缩编码格式的地图矢量数据。同时,EQS实现了地理信息和POI点的本地搜索,支持旅行线路的路径规划。使原本服务端的工作移至移动终端本地完成,加快了显示、搜索的速度。
图9是本发明移动终端内的EQS的数据更新(包括新城市数据的下载)流程图,是当用户浏览城市地图或查询地点时,应用程序模块向本地的EQS进行应用数据请求和EQS数据库查询,当数据库中查不到这些数据时,EQS会去访问网络,从网络的服务器端下载数据,更新EQS内的数据;而在数据库中查到这些数据时,直接取出地图矢量数据,并返回应用程序模块。
移动终端实时、动态地监测网络状况,在网络不繁忙的情况下尽可能多地下载用户所需的数据,或更新、恢复数据。在网络繁忙时尽可能地利用本地数据,减少对网络的访问和数据下载量。形成手机客户端与服务端动态的数据平衡交互机制。
用户在使用手机的地图矢量数据时难免会出现接听电话、接收信息、电池掉电等不稳定的干扰情况,这些情况有可能破坏EQS内的数据,这时手机EQS会自动通过网络利用数据更新机制对移动终端的数据进行恢复,确保用户使用的安全和可靠性。同时也充分体现了以本地地图数据为主,以网络服务端数据为辅的交互方式和优势互补的特点。
由于压缩编码的矢量地图数据格式数据量占内存很少,所以,可以实现在移动终端驻留多个城市的地图矢量数据,为了在有限的手机内存中对地图数据进行有效管理,采用移动终端与服务器之间形成的一种网络间的“高速缓存”机制,即采用网络间的LRU和LFU算法。利用用户对EQS***数据库中各城市地图数据的访问的频度最长时间未被使用的情况进行管理,对访问次数最少的城市,优先进行地图数据的更新或内存的释放。确保了高效的使用移动终端的存储器。
由于地图数据驻留在移动终端的本地内存,地图的显示不受网络的影响,使其显示速度和刷新速度相当快,也大大减少了移动终端在显示地图时网络的访问次数和下载的数据量,减少了移动终端用户的费用和功耗。
手机的应用层界面包括:地图浏览单元,用于输入地图浏览请求;地理信息查询单元,用于输入地理信息查询请求;地图矢量数据更新单元,用于输入地图矢量数据更新请求;语音导航单元,用于输入语音导航请求;地图缩放单元,用于输入地图缩放指令。如图10a所示,为输入语音导航请求后在手机显示器上显示多语音导航的界面。如图10b所示,为输入地图浏览请求后在手机显示器上显示请求浏览的地图。如图10c所示,为输入地图放大指令后在手机显示器上显示放大的地图。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。