背景技术
电子地图即数字地图,是利用计算机技术,以数字方式存储和查阅的地图。电子地图可以非常方便地对普通地图的内容进行任意形式的要素组合、拼接,形成新的地图。
电子地图的构成要素包括路网、路段和道路等要素数据。其中的路网可以看作是由路段和节点组成的有向图,路段是路网中的一个基本单位,相当于图中的边。每个路段都有长度、道路等级、路线坐标点串、通行状况等属性。路段是某条道路的一部分,为了和实际道路区分开来,也称其为子路段。电子地图中的道路表示用户概念中的实际道路,在路网中,一条实际道路被分成了许多个子路段。比如北京的路网中会有若干名字叫做“机场高速”的路段,它们组合起来成为用户概念中“机场高速”这条道路。目前的电子地图除了查找目标地点等基本功能外,还可以查看路况信息。
图1为现有技术在电子地图上显示路况信息的一种界面示意图,如图1所示,目前的在电子地图上查看路况信息的技术方案一般是:设置查看路况的触发按钮或链接,当该按钮或链接被触发后向服务器发起路况请求,其中包括当前地图的显示区域信息。路况信息都存储在服务器上,且以路段为基本单位,每一路段对应存储有该路段的路况信息,如“畅通”、“缓行”、“拥堵”等信息,并且所述路段的路况信息会定时更新。当服务器收到路况请求后,查询在当前请求区域中的所有路段的坐标点串等矢量数据和对应的路况信息,并根据这些矢量数据和路况信息渲染出一张该区域所有路段的路况图,该图片是一张静态图片,然后将该静态图片发送给发起路况请求的客户端,客户端将该静态图片作为一个图层覆盖到电子地图上,得到如图1所示的路况地图效果,其中在该图层中使用不同的颜色或者其他方式区分“畅通”、“缓行”、“拥堵”等不同的路况信息。用户需要查看某条特定道路的路况时,需要采用缩放、移动地图等方式,找到感兴趣的位置,再查看该道路的路况。
在另外一些现有技术方案中,服务器收到路况请求并查询到当前请求区域中的所有路段的矢量数据和对应的路况信息之后,也可以将查询出的这些信息发送给发起路况请求的客户端,由客户端在本地利用这些数据渲染成图片,将该图片作为一个图层覆盖到电子地图上,从而展示出如图1所示的路况来。
但是,现有的技术方案尽管可以查看路况,现有技术有着如下缺陷:
现有技术无法直接查看某条用户指定道路的路况信息,相反服务器返回并由客户端展示的路况信息却是整个地图显示区域内的所有路况信息,在客户端展示的路况数据量大,占用客户端的大量计算资源;所有的路况信息中的大部分路况是用户不关心的路况信息,用户只关心其关注的特定一条或几条道路的路况,为了从该区域中找到其关注的道路,用户不得不在地图上进行移动、缩放等多次人机交互,每一次人机交互都要占用机器的计算资源;而且,从服务器返回的数据量过大使得网络通信延时也相应增大,严重影响用户使用体验,尤其在通用分组无线服务技术(GPRS,General Packet RadioService)等网络通信速率较低的移动网络环境下,网络通信延时的影响更加显著。
总之,现有技术在查看路况信息时,无法直接展现用户关注的指定道路的路况,机器侧需要进行大量额外的计算,计算资源浪费严重,并且会导致额外的网络通信延时,这种缺陷对计算能力较弱或网络通信速率较低的手持移动终端的影响尤为明显。
发明内容
有鉴于此,本发明的主要目的在于提供一种电子地图路况信息的展示方法和***,以节省机器侧的计算资源,降低网络通信的延时。
本发明的技术方案是这样实现的:
一种电子地图路况信息的展示方法,该方法预先设置道路路段索引,以及各路段的地理信息索引和路况索引;
在接收到检索词和路况查询指令后,包括:
A、根据所述道路路段索引,查询与所述检索词匹配的道路,并查询匹配道路所包含的路段;
B、根据路段的地理信息索引,查询所述匹配道路所包含路段的地理信息;
C、根据路段的路况索引,查询所述匹配道路所包含路段的路况信息;
D、根据所述匹配道路所包含路段的地理信息和路况信息,在电子地图上对应路段的位置上展示路况标记。
一种电子地图路况信息的展示***,包括:
道路路段索引模块,用于设置存储道路路段索引;
路段地理信息索引模块,用于设置各路段的地理信息索引;
路段路况索引模块,用于设置各路段的路况索引;
道路路段查询模块,用于接收检索词和路况查询指令,根据所述道路路段索引,查询与所述检索词匹配的道路,并查询匹配出的道路所包含的路段;
路段地理信息查询模块,用于根据路段的地理信息索引,查询所述匹配道路所包含路段的地理信息;
路况查询模块,用于根据路段的路况索引,查询所述匹配道路所包含路段的路况信息;
展示模块,用于根据所述匹配道路所包含路段的地理信息和路况信息,在电子地图上对应路段的位置上展示路况标记。
与现有技术相比,本发明将道路搜索功能和路况信息展示相结合,在接收到用户输入的检索词和路况查询指令后,只展示与用户输入的检索词匹配的道路的路况信息,从而可以直接展现用户关注的指定道路的路况,使用户不必进行过多的移动和缩放地图的操作就能够非常方便地查看某条指定道路的路况信息,由于展示的路况信息量相对现有技术大幅减少且可以减少用户和机器的交互次数,因此可以节省机器侧(不论网络侧还是客户端侧)的计算资源,同时由于网络传输的数据量也大幅减少,因此可以降低网络的通信延时。
本发明尤其适用于计算能力较弱或网络通信速率较低的手持移动终端进行道路路况的查询。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的核心技术方案是:一种电子地图路况信息的展示方法,该方法预先设置道路路段索引,以及各路段的地理信息索引和路况索引;在接收到检索词和路况查询指令后,包括以下步骤:
A、根据所述道路路段索引,查询与所述检索词匹配的道路,并查询匹配出的道路所包含的路段;
B、根据路段的地理信息索引,查询所述匹配道路所包含路段的地理信息;
C、根据路段的路况索引,查询所述匹配道路所包含路段的路况信息;
D、根据所述匹配道路所包含路段的地理信息和路况信息,在电子地图上对应路段的位置上展示路况标记。所述路况标记例如为采用不同的颜色标记“畅通”、“缓行”、“拥堵”等路况信息。
本发明在设置上述索引时,首先基于道路名称、区域、连接信息等将路网路段合并成实际道路;对实际道路对应的所有子路段设置快速查询索引,即设置道路及其包含路段的映射索引,本发明简称为道路路段索引;并设置各路段的地理信息索引和路况索引。上述设置索引的目的在于提高查询的速度,实现快速查询。
下面具体介绍上述各个索引的内容。
图2为本发明所述道路路段索引的一种结构内容示意图。参见图2,本发明基于道路名称、区域、连接信息等现有的路网路段信息合并成实际的道路,每条道路都具有道路名,如图2中的road1、road2、road3、“海淀大街”等,这些道路名是用于匹配用户所输入的检索词的,当接收到用户输入的检索词后,则从这些道路名中查询与所述检索词匹配的道路名。每个道路名都映射有该道路所包含的路段ID的索引,每一个路段都具有基本信息,该基本信息包含道路名称、等级、地理信息即经纬度坐标点串等信息,这些基本信息可以从现有电子地图***中获取。在设置图2所述的道路路段索引时,属于同一道路的路段需要同时满足两个条件:一是道路名相同;二是两条相邻路段的坐标点串的最短距离小于指定的阈值(如50米)。其中所述条件一可进一步放宽成为道路名等价,比如“北四环西路”、“北四环南路”等路名可以认为和“北四环”、“四环”等价;所述条件二的目的是避免将不同地区间名字相同的道路错误地合并到一起。使用如图2所示的索引,可以快速获得指定道路,并获取其所有包含的路段(即子路段)。
图3为各路段地理信息索引的一种结构示意图。从现有电子地图***的数据可以获得每一条路段的基本信息,包含道路名称、等级、地理信息等。本发明展示路况主要使用其中的地理信息即经纬度坐标点串信息,对路段的地理信息设置如图3所示的索引,其中包括各路段的ID,各路段ID对应的地理信息即经纬度坐标点串信息的索引。通过每一路段的地理信息,可以得知该路段处于电子地图中的具***置,并对应绘制出相应的路况。
图4为各路段路况信息索引的一种结构示意图。参见图4,路况信息分为实时路况和预测路况,本发明中对实时路况和预测路况都设置了查询索引。其中实时路况信息根据路况监测的结果直接更新实时路况索引;预测路况是根据历史路况数据统计预测得到,可以在积累一定时间后,定期更新。使用如图4所示的索引,可以根据路段ID快速获得该路段对应的路况信息。
本发明的技术方案是将道路搜索功能和路况信息展示相结合,提供了一种可以直接查询目标道路路况信息的服务。图5为本发明所述的电子地图道路路况查询服务的一种界面示意图。参见图5,在电子地图界面上提供检索词输入框501和路况查询指令的触发机构,如图5中的路况查询指令触发机构为是一个“路况查询”按钮502。
图6为本发明所述查询目标道路路况信息的一种具体流程图,参见图5和图6,当用户在图5所述输入框501输入检索词(该检索词通常为目标道路的道路名,如检索词“海淀大街”),并且点击了所述“路况查询”按钮502后,则触发执行后续步骤:
步骤601、服务器端根据所述道路路段索引,查询与所述检索词匹配的道路,并查询匹配出的道路所包含的路段。例如首先从类似图2所示的索引中查询与所述检索词“海淀大街”匹配的道路名称,假设此时匹配到了“海淀大街”201这条道路,则再查询出该条道路所包含的各个路段即具体为路段ID,如图5所示假设“海淀大街”这条道路包含的路段ID为10、11、和12。
步骤602、根据路段的地理信息索引,查询所述匹配道路所包含路段的地理信息。例如“海淀大街”这条道路包含的路段ID为10、11、和12,则分别从图3所示的索引中查询路段ID为10、11、和12对应的地理信息即经纬度坐标点串信息。
步骤603、根据路段的路况索引,查询所述匹配道路所包含路段的路况信息。例如“海淀大街”这条道路包含的路段ID为10、11、和12,则分别从图4所示的索引中查询路段ID为10、11、和12对应的路况信息。
在另一种实施例中,在图5所示的界面中可以进一步分别提供查询实时路况的按钮和查询预测路况的按钮,用户点击哪个按钮则触发相应的查询指令。在本步骤603中,如果所述路况查询指令为查询实时路况的指令,则从图4所示的索引中查询所述匹配道路所包含路段(例如此处为路段ID为10、11、和12的路段)的实时路况信息;如果所述路况查询指令为查询预测路况的指令,则从图4所示的索引中查询所述匹配道路所包含路段的预测路况信息。
步骤604、服务器端将上述查询出的所述匹配道路所包含路段的地理信息和路况信息传输给客户端进行展示。
步骤605、客户端根据所述匹配道路所包含路段的地理信息和路况信息,在电子地图上对应路段的位置上展示路况标记。图7为本发明所展示的目标道路路况信息的一种界面示意图。参见图7,客户端具体可以使用不同颜色区分不同的路况信息,在电子地图上叠加一条和目标道路位置相同的线路来展示路况标记。例如图7为用户查询“海淀大街”的路况时所展示的效果。对于不同路况信息的区分方式,可以使用不同颜色区分,也可以有其他区分方式,例如采用动画效果来区分。
在一种实施例中,为了在电子地图上以最佳的比例和位置区域向用户展示目标道路的路况,在步骤605中,还可以进一步包括:根据所述路段(如路段10、11、12)的地理信息,按照预设的定位和缩放设置移动和缩放电子地图,使所述各路段全部展示在电子地图的当前显示区域内,且所述路段区域与当前显示区域之间的比值符合指定的比例范围,从而将电子地图的显示区域调整为查看所述路段路况的最佳状态。所述预设的定位设置一般是以待显示的路段的地理坐标为中心定位显示电子地图,所述预定的缩放设置一般是以待显示的路段区域与当前显示区域之间的比值符合一个较佳的查看比例范围,使得当前显示区域即可以显示目标道路的全部路段的路况,又不至于使目标道路在显示区域中的比例过小。该查看比例可以预先设置,从而可以使得用户不必通过手动移动、缩放地图就可以直观方便地查看到所述路段的路况,如图7所示就是经过定位和缩放处理后展现给用户的目标道路路况的最终界面图。
但是,如果检索框内没有检索词的情况下,所述路况查询触发机构也被触发了,则需要在电子地图上展示所有路段的路况标记。即:如果只接收到了路况查询指令而没有接收到检索词,则查询电子地图当前显示区域的所有路段的地理信息以及路况信息,并根据所述所有路段的地理信息和路况信息,在电子地图上展示所有路段的路况标记,这种情况下跟现有技术的处理方式一样。
上述图6所示的只是本发明中提及的客户端和服务器一种分工模式,也可以根据实际情况进行调整,例如可以将道路路段索引、各路段地理信息索引直接在客户端本地离线保存,步骤601和602也可以在客户端本地执行,但是所述各路段的路况索引由于需要实时或定时更新,需保存在服务器上,因此步骤603需要由服务器端执行。所述步骤605也可以由服务器执行一部分,即服务器也可以在查询到所述目标道路保护路段的地理信息和路况信息后,先在服务器端渲染出含有目标道路各路段路况信息的电子地图图片,将该图片传输给客户端,客户端直接展示该图片即可。
与上述方法对应,本发明还公开了一种电子地图路况信息的展示***,用于执行上述方法。图8为本发明所述电子地图路况信息的展示***的一种组成示意图。参见图8,该***包括:
道路路段索引模块801,用于设置存储如图2所示的道路路段索引。
路段地理信息索引模块802,用于设置和存储如图3所示的各路段的地理信息索引。
路段路况索引模块803,用于设置和存储如图4所示的各路段的路况索引。
道路路段查询模块804,用于接收客户端的检索词和路况查询指令,根据所述道路路段索引,查询与所述检索词匹配的道路,并查询匹配出的道路所包含的路段,将查询到的属于匹配道路的各路段ID发送给路段地理信息查询模块805和路况查询模块806。
路段地理信息查询模块805,用于根据路段的地理信息索引,查询所述匹配道路所包含路段的地理信息,将查询结果反馈给展示模块807。
路况查询模块806,用于根据路段的路况索引,查询所述匹配道路所包含路段的路况信息,将查询结果反馈给展示模块807。另外,所述路段的路况索引中可以具体包括实时路况索引和预测路况索引;如果所述路况查询指令为查询实时路况的指令,则所述路况查询模块查询所述匹配道路所包含路段的实时路况信息;如果所述路况查询指令为查询预测路况的指令,则所述路况查询模块查询所述匹配道路所包含路段的预测路况信息。
展示模块807,用于根据所述匹配道路所包含路段的地理信息和路况信息,在电子地图上对应路段的位置上展示路况标记。
上述***中,所述道路路段索引模块801、路段地理信息索引模块802、和路段路况索引模块803属于离线数据处理部分,可以基于现有地图的路网路段和路况数据进行处理,从路网路段信息中提取出实际道路信息,同时将每个道路ID和多个路段ID关联起来,并将路况信息与路段ID进行关联,生成对应的索引。所述道路路段查询模块804、路段地理信息查询模块805、路况查询模块806属于路况服务部分,所述展示模块807属于展示部分。
图8所示的实施例只是本发明所述***的一种组成方式,在另外的实施例中,所述道路路段索引模块801、路段地理信息索引模块802,以及道路路段查询模块804、路段地理信息查询模块805也可以设置在客户端本地。所述展示模块807的部分处理也可以由服务器来执行,即服务器也可以在查询到所述目标道路保护路段的地理信息和路况信息后,先在服务器端渲染出含有目标道路各路段路况信息的电子地图图片,将该图片传输给客户端,客户端的展示模块直接展示该图片即可。
如上述方法所述,所述道路路段索引模块存储的道路路段索引中,属于同一道路的路段所满足的条件为:路段的道路名相同或等价,且路段坐标点串的最短距离小于指定的阈值。
在一种实施例中,所述展示模块进一步用于:根据所述路段的地理信息,按照预设的定位和缩放设置移动和缩放电子地图,使所述路段全部展示在电子地图的当前显示区域内,且所述路段区域与当前显示区域之间的比值符合指定的比例范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。