地图的绘制方法和装置、存储介质及电子装置与流程

专利2022-06-28  70


本发明涉及通信领域,具体而言,涉及一种地图的绘制方法和装置、存储介质及电子装置。



背景技术:

随着业务的不断发展,需求多业务监控地图的要求也越来越多,相关技术中的地图无法满足的要求。

在相关技术中,地图上的路径是由点位的连通性计算得出的,然而每个点位有多个连通性,每个连通性都能产生路径,因此绘制的地图中路径多,而且存在重复。轮询路径绘制地图,通过网络请求的地图数据多,加载速度慢,地图中还会存在性能问题。

针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种地图的绘制方法和装置、存储介质及电子装置,以至少解决相关技术中地图中的路径多且存在重复的问题。

根据本发明的一个实施例,提供了一种地图的绘制方法,包括:确定初始化后的地图上包括的各点位的路径信息;基于各点位的路径信息确定重叠的路径;将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

根据本发明的另一个实施例,提供了一种地图的绘制装置,包括:第一确定模块,用于确定初始化后的地图上包括的各点位的路径信息;第二确定模块,用于基于各点位的路径信息确定重叠的路径;绘制模块,用于将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,在确定了初始化后的地图上的各点位的路径信息后,确定重叠的路径,再将重叠的路径合并为一条路径,最后在地图的静态图层上绘制出合并后的路径。由于合并了地图中的重复路径,解决了地图中的路径多且存在重复的问题,有效减少了地图中的路径,提高了绘制地图的速度和通过网络请求地图数据时的加载速度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种地图的绘制方法的移动终端的硬件结构框图;

图2是根据本发明实施例的地图的绘制方法的流程图;

图3是根据本发明具体实施例的地图的静态图层绘制流程图;

图4是根据本发明具体实施例的地图的动态图层绘制流程图;

图5是根据本发明实施例的地图的绘制装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种地图的绘制方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的地图的绘制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于地图的绘制方法,图2是根据本发明实施例的地图的绘制方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,确定初始化后的地图上包括的各点位的路径信息;

步骤s204,基于各点位的路径信息确定重叠的路径;

步骤s206,将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

可选地,上述步骤的执行主体可以是地图绘制设备,或者是后台处理器,或者其他的具备类似处理能力的设备,但不限于此。

在上述实施例中,地图上是会包括有多个点位的,并且通过点位之间的连通性可以产生地图上的线段(即,路径),其中,每一个点位都可以与多个其他点位进行连通,由此会产生重复的路径,例如,通过a点和b点之间的连通性产生的路径以及通过b点和a点之间的连通性产生的路径实际上是相同的。在此,可以对重复的路径进行合并。从而降低路径绘制的重复率。

通过本发明,在确定了初始化后的地图上的各点位的路径信息后,确定重叠的路径,再将重叠的路径合并为一条路径,最后在地图的静态图层上绘制出合并后的路径。由于合并了地图中的重复路径,解决了地图中的路径多且存在重复的问题,有效减少了地图中的路径,提高了绘制地图的速度和通过网络请求地图数据时的加载速度。

在一个可选的实施例中,在确定初始化后的地图上包括的各点位的路径信息之前,所述方法还包括:通过如下方式初始化所述地图:确定所述地图的比例尺;基于所述比例尺计算所述地图中包括的预定元素的大小;初始化所述地图的边界。在本实施例中,可以预先设置地图的比例尺,例如,可以设置地图的比例尺为1:100(即,地图上的元素的长度与对应实物的长度的比例为1:100,后续类似),或者1:300,或者1:1000等,在设置了上述比例尺之后,可以基于实物的尺寸以及上述比例尺来确定各元素的尺寸,其中实物可以包括货架、箱体、充电桩、盆栽、灭火器等。

在一个可选的实施例中,所述方法还包括以下至少之一:在所述地图的静态图层上绘制合并后的路径之前,所述方法还包括:在所述地图的静态图层上绘制背景图;在所述地图的静态图层上绘制合并后的路径之后,所述方法还包括:在所述地图的静态图层上绘制预定元素。在本实施例中,背景图可以是纯色的背景,如白色(黑色、灰色或其他颜色,白色仅是示意性说明,后续类似),还可以是根据实际环境绘制的背景(例如,根据光线的不同绘制渐变色的背景图)。其中,地图中的各元素的具体形状可以自由设置,可以包括长方形、圆形、长方体、球体或其他图案等,但不限于此。预定元素的颜色可以是实物的实际颜色,也可以是纯色。在本实施例中,在地图中展示各元素时,可以通过如下方式展示,例如,可以用一般标识物进行抽象展示(例如,让红色的方块表示充电桩、绿色的长条表示盆栽等),也可用较为形象的标识形象展示(例如,可以用方块加火苗表示灭火器,用小草标识盆栽,或者直接用实物的缩小图在地图中进行形象表示等),具体表示方式在本发明中不做限定。在本实施例中,为了避免绘制的路径遮挡住绘制的路径,可以先绘制路径,再绘制各元素;当然,若二者不存在明显遮挡关系的话,也可以先绘制各元素再绘制路径,或者在地图上同时绘制路径和各元素。

在一个可选的实施例中,在所述地图的静态图层上绘制预定元素之后,所述方法还包括以下至少之一:接收到第一点击指令,在显示区域显示与所述第一点击指令所对应的第一目标元素的元素信息,其中,所述第一目标元素包括静态目标元素和/或具备移动能力的动态目标元素;接收到第一拖动指令,在显示区域显示与所述第一拖动指令所对应的目标地图区域;接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位。在本实施例中,第一点击指令可以是通过鼠标在界面上单击左键、双击左键(或者是单击右键、双击右键)等所触发的,或者是通过直接在支持触控操作的界面上执行点击操作(例如,手指在界面上的点击操作,或者触控笔在界面上的点击操作,或者其他的具备点击界面能力的工具在界面上的点击操作)所触发的,第二点击指令可以是通过鼠标在界面上单击右键、双击右键(或者是单击左键、双击左键),同样地,该第二点击还可以是通过直接在支持触控操作的界面上执行点击操作(例如,手指在界面上的点击操作,或者触控笔在界面上的点击操作,或者其他的具备点击界面能力的工具在界面上的点击操作)所触发的等。第一拖动指令可以通过鼠标在界面上单击左键后拖动鼠标、双击左键后拖动鼠标、单击右键后拖动鼠标、双击右键后拖动鼠标等所触发的,同样地,该第一拖动指令还可以是通过直接在支持触控操作的界面上执行拖动操作(例如,手指在界面上的拖动操作,或者触控笔在界面上的拖动操作,或者其他的具备点击界面能力的工具在界面上的拖动操作)所触发的。其中,静态目标元素可以包括静态放置的实物或者是不具备自主移动能力的实物,如货架、充电桩等,具有移动能力的动态目标元素可以包括agv(automaticguidedvehicle,自动导引车)、移动式货架等。如果目标元素是移动式货架,元素信息可以包括货架的编号、货架摆放货物的信息等;如果目标元素是充电桩,元素信息可以包括充电桩是否可以正常工作、是否正在工作等;如果目标元素是agv,元素信息可以包括agv的编号、任务、剩余电量等。

在一个可选的实施例中,接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位包括:确定接收到所述第二点击指令的目标点位的坐标;在预先划分的多个点位组中确定出与所述目标点位的横坐标对应的目标点位组,其中,所述多个点位组为预先对所述地图中的点位按照横坐标划分后得到的组,一个点位组中包括的点位的横坐标相同;在所述目标点位组中确定出所述目标点位;在所述地图上显示所述目标点位。在本实施例中,可以预先对地图中的各个点位进行分组,例如,可以按照横坐标进行分组,即,将横坐标相同的点位划分成一个组,在查找某个具体点位时,可以先找到对应横坐标的组,然后再在该组中查找对应纵坐标的点,即,分别以x和y作为索引建立二维数组,匹配的时候先以x(y)作为匹配对象找到对应的相同x(y)的数组,再查找对应匹配的y(x)就能确定唯一点位。其中索引的坐标都是排序的,所以在匹配x(y)的时候用二分法。这样相较遍历大大加快了元素点的匹配速度。还需要说明的是,上述分组方式仅是一种可选实施例,在实际应用中还可以按照纵坐标进行分组,即,将纵坐标相同的点位划分成一个组,在查找某个具体点位时,可以先找到对应纵坐标的组,然后再在该组中查找对应横坐标的点。

在一个可选的实施例中,基于各点位的路径信息确定重叠的路径包括:确定第一点位到包括第二点位的其他点位的多个第一路径线段,以及,确定第二点位到包括第一点位的其他点位的多个第二路径线段;基于所述多个第一路径线段的线段信息与所述多个第二路径线段的线段信息判断是否存在重叠的第一路径线段和第二路径线段,其中,线段信息中包括有线段的类型,以及,在线段的类型为斜线时,线段信息中还包括有线段的斜率以及偏移量;将线段信息相同的第一路径线段和第二路径线段确定为重叠的路径。在本实施例中,线段可以包括横线段(水平线段)、纵线段(竖直线段)和斜线段,可以在每一类线段中找一个key(钥匙)将线段按照key继续分类。例如,横线段按照其y(点位的纵坐标)分类,将y相同的线段分为一类;纵线段按照其x(点位的横坐标)分类,将x相同的线段分为一类;斜线按照斜率k和偏移量b分类,将斜率k和偏移量b相同的线段分为一类。在将线段分类后,线段变成了一维中的点(如同一条线上的线段合并成了一个点),然后将一维中的点进行排序,轮询判断点的另一个坐标是否相同,合并相同的点,再通过key将轮询合并后的点还原成二维坐标点,完成线段合并。需要说明的是,合并重复路径不仅适用于直线路径(a点到b点有连通性,并且a点、b点之间没有控制点时为正常的直线连通性,即直线路径),也适用于曲线路径(a点到b点有连通性,并且a点、b点之间有2个控制点时为曲线连通性,即曲线路径(贝塞尔曲线)),当路径为曲线路径时,曲线合并方式为对比4个控制点信息。其中,控制点在绘制地图时可由用户自定义。

在一个可选的实施例中,在所述地图的静态图层上绘制合并后的路径之后,所述方法还包括:获取当前上报的第一设备数据,其中,所述第一设备数据包括所述地图中的具备移动能力的设备元素的第一运动数据;确定在前一次上报时间点上接收到的第二设备数据,其中,所述第二设备数据包括所述设备元素的第二运动数据;在确定所述第一运动数据与所述第二运动数据存在差异的情况下,基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹。在本实施例中,具有移动能力的设备元素可以包括agv、移动式货架等,设备数据可以包括设备的编号、位置信息、设备拍摄到的路况信息等。在本实施例中,在绘制完地图的静态图层之后,可以对运动物体(例如,上述的具备移动能力的设备元素)的运动轨迹进行绘制,在进行具体绘制时,可以执行周期性刷新绘制,例如,可以每隔50微秒(或者其他时间间隔,例如40微秒、100微秒、1毫秒等)刷新一次,若在刷新时,发现当前的设备元素的运动数据与前一次刷新时的设备元素的运动数据不同时,则依据两次运动数据的差异绘制该设备元素的移动轨迹。此外,需要说明的是,上述上报设备数据的周期一般会明显大于刷新周期的,由此可能会存在在某个刷新周期上并未发生运动数据的变化的情况,在该情况下,则无须绘制移动轨迹。

在一个可选的实施例中,确定在前一次上报时间点上接收到的第二设备数据包括:确定所述设备元素的标识信息;获取预先缓存的与所述标识信息匹配的设备数据;从获取的设备数据中确定出在前一次上报时间点上接收到的所述第二设备数据。在本实施例中,设备元素的标识信息可以包括设备元素的编号、颜色等。获取预先缓存的与所述标识信息匹配的设备数据可以采用指针匹配方式,首先对每个设备编号,使其获得独立且唯一的索引号(同数据库主键),然后在客户端建立以设备索引号为序号的设备数组,这样,在设备上报设备数据时,就能迅速匹配本地预先缓存的设备数据。其中,指针匹配比正常轮询匹配速度快百倍以上,而且数据量越大越有优势。

在一个可选的实施例中,在获取预先缓存的与所述标识信息匹配的设备数据之前,所述方法还包括:按照各设备的标识信息分组缓存预先获取的与各设备元素对应的设备数据。在本实施例中,可以按照设备的编号对设备预先获取的与各设备元素对应的设备数据进行对应缓存。

在一个可选的实施例中,基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹包括:确定绘制所述第二运动数据时的时间戳;基于当前时间戳与绘制所述第二运动数据时的时间戳之间的差值确定移动时间;基于所述第一运动数据中包括的位置数据与所述第二运动中包括的位置数据之间的差值确定移动距离;将所述移动距离与所述移动时间的比值确定为移动速度;按照所述移动速度在所述地图上绘制所述设备元素的移动轨迹。在本实施例中,在地图上绘制设备元素的移动轨迹,即快速的帧切换(切换每一帧时,设备元素的位置移动一部分),实现设备元素在地图中平滑移动,可选地,可以利用requestanimationframe(请求动画帧)切换帧,设备在上报设备数据的过程中,设备元素的状态和位置都有可能发生变化,但是,位置变化不能直接覆盖,需要匹配原来缓存的设备元素信息,然后把新的位置设定为target(目标),在设备上报下一次设备数据之前,地图中每一帧都改变设备元素的位置,即从原来的位置向target位置变化一点,实现了平滑移动,为客户端提供了更加友好的交互体验和更清新的展示界面,并且刷新频率可以随着客户端性能动态调整,地图中设备元素的移动不会受刷新频率影响,可以保证设备的实际移动情况与设备元素在地图中的移动情况保持一致。在上报的设备数据不变或者当前地图不在可视或者切换页面时,地图会停止刷新以节省性能。

下面结合具体实施例对如何绘制地图进行说明:

图3是根据本发明具体实施例的地图的静态图层绘制流程图,如图3所示,本发明具体实施例中的地图的静态图层绘制流程包括如下步骤:

步骤s302,开始绘制地图的静态图层。

步骤s304,初始化地图包括计算比例尺,计算元素大小,初始化容器宽高(即,该步骤包括s306-310)。

步骤s306,设置实物尺寸与地图上的物品尺寸的比值,以确定比例尺。可选地,比例尺默认由地图生成,同时支持配置,在高分辨率显示器下,支持显示图标放大以达到更好的展示效果。

步骤s308,基于确定的比例尺计算地图上各个元素的大小,其中,元素的具体形状可以自由设置。

步骤s310,初始化容器宽高(即,确定显示的地图的边界,或称为确定地图外围的宽高)。

步骤s312,绘制静态图层,包括绘制背景图,计算合并路径线段、绘制路径,绘制图例(即,该步骤包括s314-318)。

步骤s314,绘制背景图,其中,背景图可以是纯色的背景,如白色(或其他颜色,白色仅是示意性说明),还可以是根据实际环境绘制的背景。

步骤s316,计算合并路径线段、绘制路径,在本步骤中计算设备元素可达的路径线段,地图中的每个点会对应多个路径线段,将相同的路径线段合并,将合并后的所有路径线段在地图中绘制出来。例如,包含a点的有路径线段ab,路径线段ba,而路径线段ab和ba实际上是重复的,所以可以合并路径线段ab和ba,将合并后的路径线段绘制在地图中。

步骤s318,在地图中将实物图绘制成代表实物图的元素(或称为绘制图例)。绘制的地图可以应用svg(scalablevectorgraphics,可缩放矢量图形)图例,更加形象生动表示地图元素,并且,在放大地图时,地图不会失真。同时,也支持随时替换地图图例。

步骤s320,初始化地图事件,包括初始化点击事件,初始化地图拖动事件,鼠标移动匹配元素事件(即,该步骤包括s322-326)。

步骤s322,初始化点击事件,在本步骤中,可以在显示区域点击鼠标,可以获取目标元素的相关信息。例如,如果目标元素是货架,元素信息可以包括货架的编号、货架摆放货物的信息等;如果目标元素是充电桩,元素信息可以包括充电桩是否可以正常工作、是否正在工作等;如果目标元素是agv,元素信息可以包括agv的编号、任务、剩余电量等。

步骤s324,初始化地图拖动事件,在本步骤中,可以在显示区域拖动鼠标,可以显示与拖动指令所对应的目标地图区域。

步骤s326,鼠标移动匹配元素事件,在本步骤中,预先会对地图中的各个点位按照x(横坐标)的不同进行分组,即可以分别以各个点位的x和y(纵坐标)作为索引建立二维数组,匹配(即在地图上匹配鼠标点击到的点位)时,先找到与点击的点位的x相同的数组,然后在该数组中去找与点击的点位的y相同或最相近的具体的点,确定出唯一点位。其中,索引的坐标都是按顺序排列的,所以在匹配时可以采用二分法,这样相较遍历大大加快了点位的匹配速度。

步骤s328,结束静态图层绘制程序。

图4是根据本发明具体实施例的地图的动态图层绘制流程图,如图4所示,本发明具体实施例中的地图的动态图层绘制流程包括如下步骤:

步骤s402,推送的设备数据(对应于前述的运动数据),其中,该设备数据中包括具有移动能力的设备的相关数据。例如,设备的编号、位置信息、设备拍摄到的路况信息等。其中,推送设备数据的一般是几秒推送一次,推送方式可以采用websocket(一种网络通信协议),同时支持加密推送(websocketsecure,简称wss),推送中支持断线自动重连。

步骤s404,基于推送的设备数据确定地图中的实例的信息,其中,地图实例指的是激活的东西,或者称为地图本体/本身;地图中可以包括锁格区域,即算法规划设备即将行进的区域,将此区域提前锁定,不允许其他设备进入。其中,锁格区域并不是固定的,会随时调整。

步骤s406,对当前获取的设备数据与预先缓存的对应的设备数据进行对比,获取预先缓存的当前设备之前推送的设备数据可以采用指针匹配方式,首先对每个设备编号,使其获得独立且唯一的索引号(同数据库主键),然后在客户端建立以设备索引号为序号的设备数组,这样,在设备上报设备数据时,就能迅速匹配本地预先缓存的设备数据。其中,指针匹配比正常轮询匹配速度快百倍以上,而且数据量越大越有优势。

步骤s408,判断当前设备推送的设备数据与之前推送的该设备的设备数据之间是否发生变更。如果发生变更,执行步骤s410;如果没有发生变更,执行步骤s414。

步骤s410,触发刷新小车事件(在本实施例中,以设备是小车为例进行说明的,但不仅限于此),即在地图上实时动态显示小车的移动轨迹(带动画效果),实现平滑移动。平滑移动每一帧的移动距离的计算方式在不同终端、不同设备上都是不同的,其计算方式可以是:在每一次绘制时,记录当前的时间戳,在推送新的设备位置时,对比两次的位置,计算出每一毫秒的移动距离,如果1s内移动的距离为dx,根据两次地图动态图层刷新间隔可以计算出每次刷新需要移动的距离,设刷新间隔为t毫秒,则本次刷新移动的距离即为t*dx。刷新频率fps(framepersecond,简称fps),即每秒钟地图刷新的次数,由设备性能决定。此方法不会因为不同终端fps不同造成显示移动距离不一致或者移动后回退的情况,实际过程中存在小车长期不动停在某处不动的情况,这种情况实际上不需要刷新以节省客户端开销,所以需要额外判断来确定是否需要再次刷新设备,所以设置了两道关卡,其一为新推送数据与原数据进行对比,如果所有字段均一致,则不刷新;其二为停止刷新的判断依据,判断小车位置是否有变更,如果有,则刷新,如果没有,则停止下一次刷新,而在每次推送数据的时候都会触发一次刷新。需要说明的是,推送数据过程中的对比计算是在另外线程中完成的,不影响主线程计算小车的实时位置和刷新。其中,刷新小车时间一般是几十微秒刷新一次。

步骤s412,判断是否到达目标点位和状态,目标点位和状态指的是最近一次推送过来的设备数据中包括的设备的位置信息和状态信息。如果到达目标点位和状态,执行步骤s414,如果没有到达目标点位和状态,执行步骤s410。

步骤s414,结束地图的动态图层绘制。

在前述实施例中,采用算法计算重复路径,采用数据结构优化匹配目标点位,采用编号索引、指针匹配确定预先缓存数据,解决了在大规模地图场景下展示地图各个点位和移动设备的实时位置的问题;解决了无法满足自定义地图路径、地图中的元素、设备,无法流畅地显示地图中设备的移动,无法区分点击鼠标的左右键,无法满足多、分屏展示的问题;解决了无法良好地支持多点位的大地图以及实时刷新大量的数据信息的问题;解决了从解析数据到刷新地图所用的时间长,当数据量大时,加载速度慢的问题。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种地图的绘制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的地图的绘制装置的结构框图,如图5所示,该装置包括:

第一确定模块52,用于确定初始化后的地图上包括的各点位的路径信息;第二确定模块54,用于基于各点位的路径信息确定重叠的路径;绘制模块56,用于将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

在一个可选的实施例中,所述装置还用于在确定初始化后的地图上包括的各点位的路径信息之前,通过如下方式初始化所述地图:确定所述地图的比例尺;基于所述比例尺计算所述地图中包括的预定元素的大小;初始化所述地图的边界。

在一个可选的实施例中,所述装置还可以用于执行以下操作至少之一:在所述地图的静态图层上绘制合并后的路径之前,在所述地图的静态图层上绘制背景图;在所述地图的静态图层上绘制合并后的路径之后,在所述地图的静态图层上绘制预定元素。

在一个可选的实施例中,所述装置还用于在所述地图的静态图层上绘制预定元素之后,执行以下操作至少之一:接收到第一点击指令,在显示区域显示与所述第一点击指令所对应的第一目标元素的元素信息,其中,所述第一目标元素包括静态目标元素和/或具备移动能力的动态目标元素;接收到第一拖动指令,在显示区域显示与所述第一拖动指令所对应的目标地图区域。接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位。

在一个可选的实施例中,所述装置可以通过以下方式接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位:确定接收到所述第二点击指令的目标点位的坐标;在预先划分的多个点位组中确定出与所述目标点位的横坐标对应的目标点位组,其中,所述多个点位组为预先对所述地图中的点位按照横坐标划分后得到的组,一个点位组中包括的点位的横坐标相同;在所述目标点位组中确定出所述目标点位;在所述地图上显示所述目标点位。

在一个可选的实施例中,所述第二确定模块54可以通过以下方式基于各点位的路径信息确定重叠的路径:确定第一点位到包括第二点位的其他点位的多个第一路径线段,以及,确定第二点位到包括第一点位的其他点位的多个第二路径线段;基于所述多个第一路径线段的线段信息与所述多个第二路径线段的线段信息判断是否存在重叠的第一路径线段和第二路径线段,其中,线段信息中包括有线段的类型,以及,在线段的类型为斜线时,线段信息中还包括有线段的斜率以及偏移量;将线段信息相同的第一路径线段和第二路径线段确定为重叠的路径。

在一个可选的实施例中,所述装置还可以用于在所述地图的静态图层上绘制合并后的路径之后,获取当前上报的第一设备数据,其中,所述第一设备数据包括所述地图中的具备移动能力的设备元素的第一运动数据;确定在前一次上报时间点上接收到的第二设备数据,其中,所述第二设备数据包括所述设备元素的第二运动数据;在确定所述第一运动数据与所述第二运动数据存在差异的情况下,基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹。

在一个可选的实施例中,所述装置通过以下方式确定在前一次上报时间点上接收到的第二设备数据:确定所述设备元素的标识信息;获取预先缓存的与所述标识信息匹配的设备数据;从获取的设备数据中确定出在前一次上报时间点上接收到的所述第二设备数据。

在一个可选的实施例中,所述装置还可以用于在获取预先缓存的与所述标识信息匹配的设备数据之前,按照各设备的标识信息分组缓存预先获取的与各设备元素对应的设备数据。

在一个可选的实施例中,所述装置还可以通过以下方式基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹:确定绘制所述第二运动数据时的时间戳;基于当前时间戳与绘制所述第二运动数据时的时间戳之间的差值确定移动时间;基于所述第一运动数据中包括的位置数据与所述第二运动中包括的位置数据之间的差值确定移动距离;将所述移动距离与所述移动时间的比值确定为移动速度;按照所述移动速度在所述地图上绘制所述设备元素的移动轨迹。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,确定初始化后的地图上包括的各点位的路径信息;

s2,基于各点位的路径信息确定重叠的路径;

s3,将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,确定初始化后的地图上包括的各点位的路径信息;

s2,基于各点位的路径信息确定重叠的路径;

s3,将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种地图的绘制方法,其特征在于,包括:

确定初始化后的地图上包括的各点位的路径信息;

基于各点位的路径信息确定重叠的路径;

将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

2.根据权利要求1所述的方法,其特征在于,在确定初始化后的地图上包括的各点位的路径信息之前,所述方法还包括:通过如下方式初始化所述地图:

确定所述地图的比例尺;

基于所述比例尺计算所述地图中包括的预定元素的大小;

初始化所述地图的边界。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括以下至少之一:

在所述地图的静态图层上绘制合并后的路径之前,所述方法还包括:在所述地图的静态图层上绘制背景图;

在所述地图的静态图层上绘制合并后的路径之后,所述方法还包括:在所述地图的静态图层上绘制预定元素。

4.根据权利要求3所述的方法,其特征在于,在所述地图的静态图层上绘制预定元素之后,所述方法还包括以下至少之一:

接收到第一点击指令,在显示区域显示与所述第一点击指令所对应的第一目标元素的元素信息,其中,所述第一目标元素包括静态目标元素和/或具备移动能力的动态目标元素;

接收到第一拖动指令,在显示区域显示与所述第一拖动指令所对应的目标地图区域;

接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位。

5.根据权利要求4所述的方法,其特征在于,接收到第二点击指令,显示与所述第二点击指令对应的所述地图上的目标点位包括:

确定接收到所述第二点击指令的目标点位的坐标;

在预先划分的多个点位组中确定出与所述目标点位的横坐标对应的目标点位组,其中,所述多个点位组为预先对所述地图中的点位按照横坐标划分后得到的组,一个点位组中包括的点位的横坐标相同;

在所述目标点位组中确定出所述目标点位;

在所述地图上显示所述目标点位。

6.根据权利要求1所述的方法,其特征在于,基于各点位的路径信息确定重叠的路径包括:

确定第一点位到包括第二点位的其他点位的多个第一路径线段,以及,确定第二点位到包括第一点位的其他点位的多个第二路径线段;

基于所述多个第一路径线段的线段信息与所述多个第二路径线段的线段信息判断是否存在重叠的第一路径线段和第二路径线段,其中,线段信息中包括有线段的类型,以及,在线段的类型为斜线时,线段信息中还包括有线段的斜率以及偏移量;

将线段信息相同的第一路径线段和第二路径线段确定为重叠的路径。

7.根据权利要求1所述的方法,其特征在于,在所述地图的静态图层上绘制合并后的路径之后,所述方法还包括:

获取当前上报的第一设备数据,其中,所述第一设备数据包括所述地图中的具备移动能力的设备元素的第一运动数据;

确定在前一次上报时间点上接收到的第二设备数据,其中,所述第二设备数据包括所述设备元素的第二运动数据;

在确定所述第一运动数据与所述第二运动数据存在差异的情况下,基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹。

8.根据权利要求7所述的方法,其特征在于,确定在前一次上报时间点上接收到的第二设备数据包括:

确定所述设备元素的标识信息;

获取预先缓存的与所述标识信息匹配的设备数据;

从获取的设备数据中确定出在前一次上报时间点上接收到的所述第二设备数据。

9.根据权利要求8所述的方法,其特征在于,在获取预先缓存的与所述标识信息匹配的设备数据之前,所述方法还包括:

按照各设备的标识信息分组缓存预先获取的与各设备元素对应的设备数据。

10.根据权利要求7所述的方法,其特征在于,基于所述第一运动数据与所述第二运动数据之间的差异在所述地图上绘制所述设备元素的移动轨迹包括:

确定绘制所述第二运动数据时的时间戳;

基于当前时间戳与绘制所述第二运动数据时的时间戳之间的差值确定移动时间;

基于所述第一运动数据中包括的位置数据与所述第二运动中包括的位置数据之间的差值确定移动距离;

将所述移动距离与所述移动时间的比值确定为移动速度;

按照所述移动速度在所述地图上绘制所述设备元素的移动轨迹。

11.一种地图的绘制装置,其特征在于,包括:

第一确定模块,用于确定初始化后的地图上包括的各点位的路径信息;

第二确定模块,用于基于各点位的路径信息确定重叠的路径;

绘制模块,用于将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。

13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至10任一项中所述的方法。

技术总结
本发明提供了一种地图的绘制方法和装置、存储介质及电子装置,其中,该方法包括:确定初始化后的地图上包括的各点位的路径信息;基于各点位的路径信息确定重叠的路径;将重叠的路径合并为一条路径,并在所述地图的静态图层上绘制合并后的路径。通过本发明,解决了地图中的路径多且存在重复的问题,有效减少了地图中的路径,提高了绘制地图的速度和通过网络请求地图数据时的加载速度。

技术研发人员:蒋骏
受保护的技术使用者:浙江大华机器人技术有限公司
技术研发日:2020.02.13
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-9372.html

最新回复(0)