专利名称:一种基于gis的动态交通信息发布的方法及系统的制作方法
技术领域:
本发明涉及城市道路交通路况信息的处理应用领域,特别是涉及一种基于GIS的动态交通信息发布方法及系统。
背景技术:
地理信息系统(Geographic Information System,GIS)是以采集、存储、管理、描述、分析和显示与应用地理信息的计算机系统。地理信息是描述地球表面的空间位置和空间关系的信息。空间数据包括带有空间位置特征的图像、图形数据和与此有关的文本数据,例如,交通数据就是一种空间数据。具体地说,GIS是以地理空间数据库为基础,在计算机硬、软件环境的支持下,对空间相关数据进行采集、管理、操作、分析、模拟和显示,并采用地理模型分析方法,适时提供多种空间和动态的地理信息,为地理研究、综合评价、管理、定量分析和决策服务而建立起来的一类计算机应用系统。
在现代交通领域,将GIS、全球移动通信系统(GSM)、全球定位系统(GPS)与计算机网络技术融合在一起形成智能运输系统(ITS),ITS利用最先进的信息通讯技术实现交通的高度信息化,通过高科技手段对公众提供各种交通信息服务。ITS通过将人、车辆和道路综合起来,智能化地收集、分析交通数据,并反馈给系统的操作者或驾驶员,为车辆出行、交通运输提供有效的交通诱导和出行规划信息,系统地解决交通运输问题。
从GIS开发的角度来看,空间数据显示(或可视化)要经过这样的四个处理过程(1)从空间数据源中选择出要显示的地理实体的数据;(2)把选择出来的地理实体数据组合生成一个显示元素的序列;(3)将显示元素系列生成最终要显示的地图结果;(4)将准备好地图送往显示设备进行最终显示。
上述过程都是由服务器执行,从空间数据源中得到需要的空间数据,然后把数据发送到客户端。
现有的ITS的网络发布也是基于此原理,首先,实时采集交通信息,交通信息都是通过控制平台发布,以地图的形式在终端上显示,用户可以通过Internet、PDA、手机或车载终端等多种渠道获取,获取到交通信息后,在服务器端将所述空间数据中加载动态交通信息,即在服务器端将动态交通数据直接绘制成地图,形成一张完整的图片发送至客户端。采用这种方法的所有加载处理都必须在服务器端完成,服务器的负载大,并且所述动态交通数据是实时生成的,服务器需要基于实时数据进行大量加载,容易导致服务器崩溃,延迟数据发布的时间,网络传输效率较低。
总之,如何在更大的范围内使用户非常方便地获得交通信息,使交通信息可以高质量并且快速地发布,是本领域技术人员迫切需要解决的技术问题。
发明内容
本发明所要解决的技术问题是提供一种基于GIS的动态交通信息发布方法,以解决现有技术条件下服务器负载大、系统资源占用大、网络传输速率较慢等问题。
本发明的另一个目的是提供一种基于GIS的动态交通信息发布系统,从而保证上述方法的应用与实施。
为解决上述技术问题,本发明提供了一种基于GIS的动态交通信息发布方法,包括服务器根据地图数据生成多个背景图文件和多个前景图文件;确定所需的背景图文件和前景图文件;获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
优选的是,所述多个前景图文件的生成为按照预设的时间周期重复生成所述多个前景图文件。
优选的是,通过以下步骤生成背景图文件
根据地图数据绘制多个级别的背景图文件;设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;将所述多个背景图文件基于所述级别分别存储至服务器。
优选的是,通过以下步骤生成前景图文件接收实时交通数据,绘制多个级别的前景图文件;设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
优选的是,通过以下步骤进行存储以所述时间戳值命名创建文件夹;在所述文件夹中分级别存储所述多个前景图文件。
优选的是,由客户端通过以下步骤确定所需的背景图文件和前景图文件以地图文件中的任一点为原点,建立坐标系;选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
优选的是,所述获取为服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
优选的是,通过以下步骤确定所需的背景图文件和前景图文件客户端发送视窗参数至服务器,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;服务器根据所述视窗参数确定所需的背景图文件和前景图文件。
优选的是,所述的方法,还包括判断客户端是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;如果不是,则将所述背景图文件从服务器下载至客户端。
优选的是,所述的方法,还包括判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,则请求下载服务器端存储的所述前景图文件。
本发明还公开了一种基于GIS的动态交通信息发布系统,包括生成模块位于服务器端,用于根据地图数据生成多个背景图文件和多个前景图文件;确定模块用于确定所需的背景图文件和前景图文件;叠加模块用于获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
优选的是,所述生成模块包括背景图生成单元和前景图生成单元,所述背景图生成单元包括以下子单元背景图绘制子单元用于根据地图数据绘制多个级别的背景图文件;背景图切分子单元用于设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;背景图存储子单元用于将所述多个背景图文件基于所述级别分别存储至服务器;所述前景图生成单元包括以下子单元,前景图绘制子单元用于接收实时交通数据,绘制多个级别的前景图文件;前景图切分子单元用于设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;前景图存储子单元用于记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
优选的是,所述确定模块位于客户端,包括以下单元坐标系建立单元用于以地图文件中的任一点为原点,建立坐标系;选定单元用于选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;计算单元用于根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取单元用于选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
优选的是,所述获取为服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
优选的是,所述确定模块位于服务器端,包括以下单元参数接收单元用于接收客户端发送的视窗参数,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;确定单元用于根据所述视窗参数确定所需的背景图文件和前景图文件。
优选的是,所述确定模块和叠加模块位于客户端,所述客户端还包括第一判断模块用于判断是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;如果不是,则将所述背景图文件从服务器下载至客户端。
第二判断模块用于判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,则请求下载服务器端存储的所述前景图文件。
与现有技术相比,本发明具有以下优点1、本发明通过客户端选取所需的图片文件并在客户端匹配叠加,使服务器不用执行大量加载,提高了服务器的处理效率,从而提高了网络的传输效率;2、客户端可以定时获取动态交通信息,从而保证得到交通数据的实时性;3、根据预置规则选取显示的背景图文件和前景图文件,只显示必要的背景图文件和前景图文件,提高了客户端的处理效率,减少了系统资源占用。
4、背景图文件经首次调用后存储于客户端缓存中,在以后的调用中,服务器向客户端只需传输数据量较小的前景图文件,避免了重复传输数据量较大的背景图文件,有效地减轻网络传输负载,提高发布的效率。
图1是本发明一种基于GIS的动态交通信息发布方法的流程图;图2是通过坐标系确定所需背景图文件或前景图文件的示意图;图3是本发明一种基于GIS的动态交通信息发布系统的结构框图;图4a-图4b是本发明针对基于GIS的动态交通信息发布系统的实施例结构框图;图5是本发明一种实施例中对第2级背景图文件进行切分后的示意图;图6是本发明一种实施例中选取到所需背景图文件的示意图;图7是本发明一种实施例中选取到所需前景图文件的示意图;图8是本发明一种实施例中背景图文件和前景图文件在客户端叠加的示意图。
具体实施例方式
参照图1,是本发明一种基于GIS的动态交通信息发布方法的流程图,包括以下步骤步骤101、服务器根据地图数据生成多个背景图文件和多个前景图文件;步骤102、确定所需的背景图文件和前景图文件;步骤103、获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
需要说明的是,生成背景图文件的核心构思是根据视窗大小或显示需求对地图数据进行分割,并将分割后的多个图片进行存储。优选的是,本发明采用下述方法生成背景图文件根据地图数据绘制多个级别的背景图文件;
设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;将所述多个背景图文件基于所述级别分别存储至服务器。
下面对生成背景图文件的过程进行详述根据地图文件,利用GIS服务器绘制出n(n>0)个级别的背景图文件,例如,第1级、第2级、......、第i级......、第n级,级别越高,背景图文件内容越丰富,文件也越大。记第i级的背景图文件为BgPici,则BgPici的尺寸大小为Size(BgPici)(图片的宽度和高度信息包含于Size(BgPici)中),并且每个级别的背景图文件的尺寸大小成等比数列,即Size(BgPici-1)/Size(BgPici)=Size(BgPici)/Size(BgPici+1),其中(1<i<n)。
然后,根据显示需要或视窗大小设置一个适当的背景图单位图片尺寸,所述单位图片尺寸可以根据需要任意设置,记为Size(UnitPic),使得对任意第i级别,都有Size(BgPici)是Size(UnitPic)的整数倍。根据所述单位图片尺寸,将每个级别原始的背景图文件BgPici(i=1,2,......,n)分成pi行、qi列,即基于坐标系在X轴方向上qi等分,在Y轴方向上pi等分,则pi×qi=Size(BgPici)/Size(UnitPic),分割后的图片文件组成集合ComSet(BgPici),第h行第k列的图片文件则记为ComSet(BgPici)[h,k],并且Size(ComSet(BgPici)[h,k])=Size(UnitPic),其中,h=1,2,......,pi;k=1,2,......,qi。
最后,将不同级别的背景图文件分割后的集合中的图片文件分别存储在服务器端不同的文件夹中,例如,将ComSet(BgPici)中的图片存于文件BgPic/Li/下。
当然,所述方法仅仅是本发明优选的一种方式,本领域技术人员可以基于本发明生成背景图文件的核心构思采用其它方式生成所述背景图文件,本发明对此不加以限制。
此外,本发明生成前景图文件的核心构思也是根据视窗大小或显示需求对交通数据进行分割,并将分割后的多个图片进行存储。优选的是,本发明采用下述方法生成前景图文件接收实时交通数据,绘制多个级别的前景图文件;设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
下面对生成前景图文件的过程进行详述根据最新的实时交通数据,结合地图文件的道路图层数据,利用GIS服务器绘制出和背景图文件对应的n个级别的前景图文件。记第i级的前景图文件为ForePici,则ForePici的尺寸大小为Size(ForePici),并且同一级别的前景图文件尺寸大小等于背景图文件尺寸大小,即Size(ForePici)=Size(BgPici),因此,每个级别的前景图文件的尺寸大小也成等比数列Size(ForePici-1)/Size(ForePici)=Size(ForePici)/Size(ForePici+1),其中(1<i<n)。
同样地,根据视窗或显示需求任意设置前景图单位图片尺寸,基于所述尺寸把前景图文件ForePici(i=1,2,......,n)分成pi行qi列,分割后的图片文件组成集合ComSet(ForePici),第h行第k列的图片记为ComSet(ForePici)[h,k],并且Size(ComSet(ForePici)[h,k])=Size(UnitPic)(h=1,2,......,pi;k=1,2,......,qi)。
为了方便客户端读取最新的前景图文件,在服务器端建立时间戳文件用以记录前景图文件的时间戳值TimestampV,所述时间戳值是动态生成的,形如200608041538,即表示前景图文件显示的是2006年8月4日15点38分的交通数据。优选的是,以所述时间戳值命名创建文件夹,在所述文件夹中分级别存储所述多个前景图文件。即在此文件夹中,将不同级别的前景图文件分割后的集合中的图片文件存储在不同的文件夹中,例如,将ComSet(ForePici)中的图片存于文件TimestampV/Li/下。
为了保证接收交通数据的实时性,所述多个前景图文件的生成为按照预设的时间周期重复生成所述多个前景图文件。
同样地,本领域技术人员也可以基于本发明生成前景图文件的核心构思采用其它方式生成所述前景图文件,本发明对此不加以限制。
优选的是,所述背景图文件和前景图文件的级别对应地图的缩放等级,其分辨率以2*2倍增长,例如,第2级别的背景图文件和前景图文件的长、宽均是第1级别的背景图文件和前景图文件的2倍,如果第1级别的背景图文件和前景图文件大小为640*640,则第2级别的背景图文件和前景图文件大小为1280*1280,以此类推,每一级别的背景图文件和前景图文件都对应于相应的地图文件。
在实际应用中,由于视窗的限制,对于图片集合中的背景图文件和前景图文件往往不需要全部显示,可以根据视窗的大小对背景图文件和前景图文件进行选取,选取的基本原则是视窗涉及到的图片都必须选择,也就是说,选择最少图片进行显示。
本发明中,对于确定所需的背景图文件和前景图文件,可以由客户端完成也可以由服务器完成。由客户端通确定所需的背景图文件和前景图文件时,包括以下步骤以地图文件中的任一点为原点,建立坐标系;选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
例如,以原始地图文件的左上角为坐标原点,如图2所示,建立坐标系设视窗S的左上角V坐标为(vx,vy),宽度为vw,高度为vh。按照上述方法,将背景图文件或前景图文件切分成m行n列,即X方向n等分,Y方向m等分,切分后的背景图文件或前景图文件宽度为pw,高度为ph,第i行第j列的图片的左上角Pi,j的坐标为(pw*(j-1),ph*(i-1))。
首先,确定视窗S的左上角V(vx,xy)点落入某张切分后的图片中,即,如果Pw*j>vx>Pw*(j-1)Ph*i>vy>Ph*(i-1),]]>则说明V(vx,xy)落在第i行第j列图片中。
在此,假设计算结果为,视窗S的左上角V(vx,xy)落在第i行第j列的图片中。
然后,计算视窗S在X方向上跨越的列数;计算视窗S在X方向上跨越的图片列数为 ,将得到的结果向上取整,即取比结果数大的最小整数。
以及,计算视窗S在Y方向视窗跨越的行数;计算Y方向跨越的图片行数为 ,将得到的结果向上取整。
最后,选取第i行至第i+lines行,第j列至j+cols列的所有图片文件为在客户端叠加所需的背景图文件或前景图文件。
客户端获得所需的背景图文件和前景图文件后,将所述获取的背景图文件和前景图文件在客户端叠加。需要说明的是,所述获取是指服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
例如,将切分后的图片以行列号(左上角为第1行第1列)进行命名,先行后列,中间以“-”分割,目录.../BgPic/L3/下的名为2-2.gif的图片表示第3级背景图切分后第2行第2列的图片;目录.../200608051326/L3/下的名为2-2.gif的图片表示2006年8月5日13点26分时生成的第3级前景图切分后的第2行第2列图片。在客户端的叠加是基于行列号的,假设当前时间(最新图片的生成时间)为2006年8月5日13点26分,如果需要叠加第3级别的第2行第2列的背景图文件和前景图文件,则首先在目录.../BgPic/L3/下获取名为2-2.gif的图片,然后在目录.../200608051326/L3/下获取名为2-2.gif的图片,在客户端叠加显示。
作为本发明的另一实施例,由服务器端确定所需的背景图文件和前景图文件时,包括以下步骤客户端发送视窗参数至服务器,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;服务器根据所述视窗参数确定所需的背景图文件和前景图文件。
服务器获得所需的背景图文件和前景图文件后,将所述获取的背景图文件和前景图文件在客户端叠加。在这种情况下,所述获取是指服务器根据视窗参数匹配获取所需的背景图文件和前景图文件。
通过对背景图文件和前景图文件的确定,选取适合显示的背景图文件和前景图文件,大大减少了系统资源占用,有效提高了系统处理效率,并不影响最终的显示效果。
将获取的背景图文件和前景图文件在客户端叠加时,所述前景图文件需要具有透明或半透明底色,使其在叠加于背景图文件上时,可以透视到背景图文件的内容。优选的是,上述叠加过程在客户端完成,使服务器不用执行大量加载过程,减轻了服务器的负载,提高了服务器的处理效率,从而提高了网络的传输效率。
并且,本发明通过分别生成前景图文件和背景图文件,然后在客户端滞后叠加,使得客户端可以缓存背景图文件,优选的是,本发明还包括步骤105、判断客户端是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;这样服务器向客户端只需要传输数据量较小的前景图文件,避免重复传输数据量较大的背景图,有效地减轻网络传输负载,提高发布的效率。如果不是,则将所述背景图文件从服务器下载至客户端,在下一次使用时则无需下载。
为了保证在客户端显示的交通信息是最新的交通信息,本发明还可以包括步骤106、判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,即说明在服务器端有新的交通信息,则请求下载服务器端存储的所述前景图文件。
参考图3,是本发明一种基于GIS的动态交通信息发布系统的结构框图,包括生成模块201位于服务器端,用于根据地图数据生成多个背景图文件和多个前景图文件;确定模块202用于确定所需的背景图文件和前景图文件;叠加模块203用于获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
优选的是,所述生成模块201包括背景图生成单元和前景图生成单元,所述背景图生成单元包括以下子单元
背景图绘制子单元用于根据地图数据绘制多个级别的背景图文件;背景图切分子单元用于设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;背景图存储子单元用于将所述多个背景图文件基于所述级别分别存储至服务器;所述前景图生成单元包括以下子单元,前景图绘制子单元用于接收实时交通数据,绘制多个级别的前景图文件;前景图切分子单元用于设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;前景图存储子单元用于记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
参考图4a,是本发明针对基于GIS的动态交通信息发布系统的实施例结构框图,所述确定模块202位于客户端,包括以下单元坐标系建立单元用于以地图文件中的任一点为原点,建立坐标系;选定单元用于选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;计算单元用于根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取单元用于选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
客户端获得所需的背景图文件和前景图文件后,将所述获取的背景图文件和前景图文件在客户端叠加。需要说明的是,所述获取为服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
在这种情况下,所述确定模块202和叠加模块203都位于客户端,所述客户端还包括第一判断模块205用于判断是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;如果不是,则将所述背景图文件从服务器下载至客户端。
第二判断模块206用于判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,则请求下载服务器端存储的所述前景图文件。
参考图4b,是本发明针对基于GIS的动态交通信息发布系统的另一实施例结构框图,所述确定模块202位于服务器端,包括以下单元参数接收单元用于接收客户端发送的视窗参数,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;确定单元用于根据所述视窗参数确定所需的背景图文件和前景图文件。
为使本领域技术人员更好地理解本发明,以下将以发布北京市2006年8月5日13:26时的实时路况,客户端请求第3级实时路况图为例,对基于图3所示的系统实现动态交通信息发布的一种实施方式进行详细说明。具体包括以下步骤一、在服务器端实施的具体步骤1、背景图文件生成步骤1)利用GIS服务器导入北京市地图文件,绘制出4个级别的背景图文件,分别记为BgPic1、BgPic2、BgPic3、BgPic4,由于所述级别对应地图的缩放等级,其分辨率以2*2倍增长,所以Size(BgPici)/Size(BgPici+1)=1/4(i=1,2,3,4)。
2)假设视窗大小恰好与单位背景图尺寸相等,单位背景图尺寸Size(UnitPic)=Size(BgPic1),对每个级别原始的背景图BgPici(i=1,2,3,4)按单位背景图尺寸将各个级别的背景图文件切分成若干行、若干列后,得到对应的背景图文件集合ComSet(BgPici)(i=1,2,3,4),例如,对第2级背景图文件进行切分后的效果如图5所示。可以得知,每个级别的集合中包含的背景图文件个数分别为1,4,16,64。具体为ComSet(BgPic1)={ComSet(BgPic1)[1,1]};ComSet(BgPic2)={ComSet(BgPic2)[1,1],ComSet(BgPic1)[1,2],ComSet(BgPic2)[2,1],ComSet(BgPic2)[2,2]};
ComSet(BgPic3)={ComSet(BgPic3)[1,1],ComSet(BgPic3)[1,2],...,ComSet(BgPic3)[4,4]};ComSet(BgPic4)={ComSet(BgPic4)[1,1],ComSet(BgPic4)[1,2],...,ComSet(BgPic4)[8,8]}。
3)在服务器端建立文件目录.../BgPic/,设置级别目录.../BgPic/Li,将ComSet(BgPici)(i=1,2,3,4)中的背景图文件存于文件目录.../BgPic/Li/下。对于切分后的背景图文件以其行列号(左上角为第1行第1列)作为文件名,先行后列,中间以“-”分割,例如,目录.../BgPic/L3/下文件名为2-2.gif的背景图文件表示第3级背景图文件切分后第2行第2列的背景图文件。
2、前景图文件生成步骤4)接收最新的实时交通数据,结合北京市地图文件,转换成能被GIS服务器识别的数据格式,再通过GIS服务器绘制出和背景图文件对应的4个级别的前景图文件,分别记为ForePic1,ForePic2,ForePic3,ForePic4,则Size(ForePici)=Size(BgPici),并且Size(ForePici)/Size(ForePici+1)=1/4(i=1,2,3,4)。
5)同第(2)步,任意设置与单位背景图尺寸对应的单位前景图尺寸,即Size(UnitPic)=Size(ForePic1)=Size(BgPic1)。将ForePici(i=1,2,3,4)切分成若干行、若干列,得到对应的图片文件集合为ComSet(ForePici)(i=1,2,3,4),每个级别的集合中包含前景图文件个数分别为1,4,16,64。具体为ComSet(ForePic1)={ComSet(ForePic1)[1,1]};ComSet(ForePic2)={ComSet(ForePic2)[1,1],ComSet(ForePic1)[1,2],ComSet(ForePic2)[2,1],ComSet(ForePic2)[2,2]};ComSet(ForePic3)={ComSet(ForePic3)[1,1],ComSet(ForePic3)[1,2],...,ComSet(ForePic3)[4,4]};ComSet(ForePic4)={ComSet(ForePic4)[1,1],ComSet(ForePic4)[1,2],...,ComSet(ForePic4)[8,8]}。
6)在时间戳文件中记录当前最新前景图文件的时间戳值200608051326(2006年8月5日13:26时),覆盖时间戳文件中的原始记录,建立文件目录.../200608051326/,设置级别目录/BgPic/Li,将ComSet(BgPici)(i=1,2,3,4)中的前景图文件存于文件目录。。/200608051326/Li/下。同第3)步,切分后的前景图文件也以行列号(左上角为第1行第1列)进行命名,先行后列,中间以“-”分割,例如,目录.../200608051326/L3/下的名为2-2.gif的图片表示2006年8月5日13点26分时生成的第3级前景图文件切分后的第2行第2列的前景图文件。
7)每隔5分钟,重复执行第4)步至第6)步,用以保证交通数据的实时性。
二、在客户端实施的具体步骤8a)确定所需的背景图文件定位所需背景图文件在服务器端的文件目录.../BgPic/L3/下,即所需图片均在ComSet(BgPic3)中。由于视窗的大小Size(View)=Size(UnitPic),且默认居中显示,为了减少系统资源占用,按照上文相关部分所述的选取规则选取ComSet(BgPic3)[2,2]、ComSet(BgPic3)[2,3]、ComSet(BgPic3)[3,2]、ComSet(BgPic3)[3,3]四张背景图文件即可,选取的四张背景图文件如图6所示。
如果客户端曾经向服务器端请求过上述四张图片,则它们将已存在于客户端缓存中,便无需从服务器端获取,这样服务器向客户端只需传输数据量较小的前景图文件,避免重复传输数据量较大的背景图文件,有效地减轻了网络传输负载,提高了发布的效率。当首次请求上述四张图片时,则需要将背景图文件从服务器端下载至客户端。
8b)确定所需的前景图文件读取时间戳文件得到最新前景图的时间戳值200608051326,定位所需前景图文件在服务器端的文件目录.../200608051326/L3/下。同第8a)步,选取ComSet(ForePic3)中的ComSet(ForePic3)[2,2]、ComSet(ForePic3)[2,3]、ComSet(ForePic3)[3,2]、ComSet(ForePic3)[3,3]四张前景图文件,选取的前景图文件如图7所示,然后将所述图片从服务器端下载至客户端。
作为另一实施例,所述确定所需的前景图文件和背景图文件也可在服务器端完成,相关内容和详细的实施过程已经在前述部分进行了详细描述,在此就不再赘述。
9)背景图文件和前景图文件匹配叠加步骤如果当前时间(最新前景图文件的生成时间)为2006年8月5日13点26分,如果需要加载第3级别的第2行第2列图,则首先在目录.../BgPic/L3/下获取文件名为2-2.gif的背景图文件,然后在目录.../200608051326/L3/下获取文件名为2-2.gif的前景图文件,按照上述规则匹配另外三张背景图文件和前景图文件后,在显示窗口中按如下次序叠加ComSet(BgPic3)[2,2]、ComSet(BgPic3)[2,3]、ComSet(BgPic3)[3,2]、ComSet(BgPic3)[3,3]、ComSet(ForePic3)[2,2]、ComSet(ForePic3)[2,3]、ComSet(ForePic3)[3,21、ComSet(ForePic3)[3,3]。所述前景图文件为透明或半透明状态,叠加后的效果图如图8所示。
10)客户端每隔1分钟,读取服务器端的时间戳文件,假设获得时间戳值200608051326,则直接调用客户端存储的所述前景图文件;如果小于所述时间戳值200608051326,则重复执行第9)步。
上述关于图3-图8的相关描述中未详尽之处,可以参见本说明书前述图1的相关部分。
以上对本发明所提供的一种基于GIS的动态交通信息发布方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于GIS的动态交通信息发布方法,其特征在于,包括服务器根据地图数据生成多个背景图文件和多个前景图文件;确定所需的背景图文件和前景图文件;获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
2.根据权利要求1所述的方法,其特征在于,所述多个前景图文件的生成为按照预设的时间周期重复生成所述多个前景图文件。
3.根据权利要求1或2所述的方法,其特征在于,通过以下步骤生成背景图文件根据地图数据绘制多个级别的背景图文件;设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;将所述多个背景图文件基于所述级别分别存储至服务器。
4.根据权利要求1或2所述的方法,其特征在于,通过以下步骤生成前景图文件接收实时交通数据,绘制多个级别的前景图文件;设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
5.根据权利要求4所述的方法,其特征在于,通过以下步骤进行存储以所述时间戳值命名创建文件夹;在所述文件夹中分级别存储所述多个前景图文件。
6.根据权利要求1或2所述的方法,其特征在于,由客户端通过以下步骤确定所需的背景图文件和前景图文件以地图文件中的任一点为原点,建立坐标系;选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
7.根据权利要求6所述的方法,其特征在于,所述获取为服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
8.根据权利要求1或2所述的方法,其特征在于,通过以下步骤确定所需的背景图文件和前景图文件客户端发送视窗参数至服务器,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;服务器根据所述视窗参数确定所需的背景图文件和前景图文件。
9.根据权利要求1所述的方法,其特征在于,还包括判断客户端是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;如果不是,则将所述背景图文件从服务器下载至客户端。
10.根据权利要求1所述的方法,其特征在于,还包括判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,则请求下载服务器端存储的所述前景图文件。
11.一种基于GIS的动态交通信息发布系统,其特征在于,包括生成模块位于服务器端,用于根据地图数据生成多个背景图文件和多个前景图文件;确定模块用于确定所需的背景图文件和前景图文件;叠加模块用于获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。
12.根据权利要求11所述的系统,其特征在于,所述生成模块包括背景图生成单元和前景图生成单元,所述背景图生成单元包括以下子单元背景图绘制子单元用于根据地图数据绘制多个级别的背景图文件;背景图切分子单元用于设置单位背景图尺寸,并根据所述尺寸切分所述背景图文件,得到多个背景图文件;背景图存储子单元用于将所述多个背景图文件基于所述级别分别存储至服务器;所述前景图生成单元包括以下子单元,前景图绘制子单元用于接收实时交通数据,绘制多个级别的前景图文件;前景图切分子单元用于设置单位前景图尺寸,并根据所述尺寸切分所述前景图文件,得到多个前景图文件;前景图存储子单元用于记录所述前景图文件的当前时间戳值,将具有同一时间戳值的多个前景图文件基于所述级别分别存储至服务器。
13.根据权利要求11所述的系统,其特征在于,所述确定模块位于客户端,包括以下单元坐标系建立单元用于以地图文件中的任一点为原点,建立坐标系;选定单元用于选定视窗的某一点,该点落入某个切分后的背景图文件或前景图文件中;计算单元用于根据该点的坐标值分别计算视窗在X轴方向和Y轴方向上跨越的行列数;选取单元用于选取所述行列数对应的所有背景图文件或前景图文件为所需的背景图文件或前景图文件。
14.根据权利要求13所述的系统,其特征在于,所述获取为服务器根据客户端发送的文件名匹配获取所需的背景图文件和前景图文件;所述文件名为行列号。
15.根据权利要求11所述的系统,其特征在于,所述确定模块位于服务器端,包括以下单元参数接收单元用于接收客户端发送的视窗参数,所述视窗参数包括视窗中某一点的地理坐标、视窗依据该点在X轴方向和Y轴方向上跨越的行列数;确定单元用于根据所述视窗参数确定所需的背景图文件和前景图文件。
16.根据权利要求11所述的系统,其特征在于,所述确定模块和叠加模块位于客户端,所述客户端还包括第一判断模块用于判断是否下载过所述背景图文件,如果是,则直接从客户端获取所述背景图文件;如果不是,则将所述背景图文件从服务器下载至客户端。第二判断模块用于判断客户端存储的前景图文件的时间戳值是否大于服务器端存储的前景图文件的时间戳值;如果大于或等于,则直接调用客户端存储的所述前景图文件;如果小于,则请求下载服务器端存储的所述前景图文件。
全文摘要
本发明提供了一种基于GIS的动态交通信息发布方法,其特征在于,包括服务器根据地图数据生成多个背景图文件和多个前景图文件;确定所需的背景图文件和前景图文件;获得所需的背景图文件和前景图文件,并将所述获取的背景图文件和前景图文件在客户端叠加。本发明使服务器不用执行大量加载,提高了系统的处理效率,有效地减轻网络传输负载,同时保证了交通数据的实时性。
文档编号G06F17/30GK1972309SQ200610162149
公开日2007年5月30日 申请日期2006年12月6日 优先权日2006年12月6日
发明者刘敏, 马殿富, 吕卫锋, 诸彤宇 申请人:北京航空航天大学