一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

底部菜单栏自定义方法、装置、设备及存储介质与流程

2022-05-26 23:34:02 来源:中国专利 TAG:


1.本技术属于人工智能技术领域,尤其涉及一种底部菜单栏自定义方法、装置、设备及存储介质。


背景技术:

2.目前,智能终端app产品的ui界面,是与用户交互最多的页面之一。而目前的ui交互界面的导航一般为底部固定导航栏,这种方式使得固定导航栏占用显示屏幕的空间,使得导航功能展现数量有限。
3.为解决上述问题,现有技术中可通过将底部固定导航栏以底部抽屉的形式,在用户操作满足触发条件时,触发底部抽屉显示,但当前的底部抽屉在待显示的数量较少时,会在界面中出现空白区域,使得界面资源没有得到有效利用。


技术实现要素:

4.鉴于以上内容,本发明提供一种底部菜单栏自定义方法、装置、设备及存储介质,其目的在于解决现有技术中界面资源没有得到有效利用的技术问题。
5.为实现上述目的,本发明提供一种底部菜单栏自定义方法,该方法包括:
6.监听前端显示界面的用户操作;其中,所述前端界面包括初始隐藏在所述前端显示界面外的虚拟控件;
7.当所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量;
8.当所述数据量小于预设阈值,根据所述数据量以及子视图高度,调整所述虚拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在所述虚拟控件中的预设显示高度;
9.基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件。
10.优选的,所述基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件之后,包括:
11.监听前端显示界面的用户操作;
12.判断所述用户操作是否满足事件拦截条件;
13.当不满足所述事件拦截条件时,禁止父容器拦截所述用户操作事件,以将所述用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作。
14.优选的,所述判断所述用户操作是否满足事件拦截条件之后,还包括:
15.当满足所述事件拦截条件时,控制所述父容器拦截所述用户操作,以使所述父容器响应所述用户操作。
16.优选的,所述父容器用于显示虚拟地图;所述待显示数据项包括多个待选用户id;在所述当不满足所述事件拦截条件时,禁止所述父容器拦截所述用户操作事件,以将所述
用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作之后,还包括;
17.获取用户基于所述虚拟控件中的多个用户id所选择的目标用户id;
18.根据所述目标用户id,获取所述目标用户id对应的原始轨迹数组;其中,所述原始轨迹数组包括多个携带时间标签的历史轨迹点;
19.对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组;
20.将所述目标轨迹数组传递给所述父容器中,以在所述虚拟地图中根据所述目标轨迹数组,按照时间顺序绘制所述目标用户id对应的运动轨迹。
21.优选的,所述对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组,包括:
22.按照时间顺序遍历所述原始轨迹数组,读取每一待检测轨迹点;
23.统计所述待检测轨迹点在预设距离范围内的多个历史轨迹点的第一轨迹点数量;
24.统计所述原始轨迹数组中除所述待检测轨迹点外的每一历史轨迹点在所述预设距离范围内的第二轨迹点数量;
25.统计多个历史轨迹点的第二轨迹点数量的最小值或均值作为轨迹点数量阈值;
26.若所述第一轨迹点数量小于所述轨迹点数量阈值,则将所述待检测轨迹点作为候选轨迹噪点;
27.获取所述候选轨迹噪点的待检测速度;
28.若所述待检测速度不在预设正常速度范围内,则将所述候选轨迹噪点作为目标轨迹噪点去除,得到所述目标轨迹数组。
29.优选的,所述对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组,还包括:
30.对所述历史轨迹点进行聚类分析,得到多个聚类簇;
31.若所述历史轨迹点不在任一所述聚类簇中,则将所述历史轨迹点作为轨迹噪点去除,得到所述目标轨迹数组。
32.优选的,所述在所述对所述轨迹数组的多个历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组之后,还包括:
33.将所述目标轨迹数组作为所述目标用户id的历史轨迹数组存储至缓存。
34.为实现上述目的,本发明还提供一种底部菜单栏自定义装置,所述装置包括:
35.监听模块,用于监听前端显示界面的用户操作;其中,所述前端界面包括初始隐藏在所述前端显示界面外的虚拟控件;
36.判断模块,用于当所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量;
37.调整模块,用于当所述数据量小于预设阈值,根据所述数据量以及子视图高度,调整所述虚拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在所述虚拟控件中的预设显示高度;
38.绘制模块,用于基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件。
39.为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
40.至少一个处理器;以及,
41.与所述至少一个处理器通信连接的存储器;其中,
42.所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述底部菜单栏自定义方法。
43.为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有底部菜单栏自定义程序,所述底部菜单栏自定义程序被处理器执行时,实现所述底部菜单栏自定义方法的步骤。
44.本发明在判断虚拟控件如底部抽屉控件的触发条件时,进一步判断待显示数据项的数据量,以在待显示数量项的数据量较少的情况下,通过动态调整控件高度,以有效解决传统固定控件高度导致在显示界面中出现空白区域,使得界面资源没有得到有效利用的问题。此外,本案中,通过在监听到用户操作时,通过主动检测该用户操作是否满足事件拦截条件,以判定是否控制父容器拦截用户操作,有效解决事件监听冲突的问题,实现在虚拟控件弹出时,可同时操作父容器中的控件。
附图说明
45.为了更清楚地说明本技术的实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本发明电子设备较佳实施例的示意图;
47.图2为图1中底部菜单栏自定义装置较佳实施例的模块示意图;
48.图3为本发明底部菜单栏自定义方法较佳实施例的流程图;
49.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
50.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.参照图1所示,为本发明电子设备1较佳实施例的示意图。
52.该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobilecommunication,gsm)、宽带码分多址(wideband code division multiple access,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi通话网络等无线或有线网络。
53.其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设
备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
54.当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如底部菜单栏自定义程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
55.处理器12在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行底部菜单栏自定义程序10的程序代码等。
56.显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emittingdiode,oled)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
57.网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
58.图1仅示出了具有组件11-14以及底部菜单栏自定义程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
59.可选地,所述电子设备1还可以包括目标用户接口,目标用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的目标用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的目标用户界面。
60.该电子设备1还可以包括射频(radio frequency,rf)电路、传感器和音频电路等等,在此不再赘述。
61.在上述实施例中,处理器12执行存储器11中存储的底部菜单栏自定义程序10时可以实现如下步骤:
62.监听前端显示界面的用户操作;其中,所述前端界面包括初始隐藏在所述前端显示界面外的虚拟控件;
63.当所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量;
64.当所述数据量小于预设阈值,根据所述数据量以及子视图高度,调整所述虚拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在所述虚拟控件中的预设显示高度;
65.基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件。
66.关于上述步骤的详细介绍,请参照下述图2关于底部菜单栏自定义装置100实施例的功能模块图以及图3关于底部菜单栏自定义方法实施例的流程图的说明。
67.参照图2所示,为本发明底部菜单栏自定义装置100的功能模块图。
68.本发明所述底部菜单栏自定义装置100可以安装于电子设备中。根据实现的功能,所述底部菜单栏自定义装置100可以包括:监听模块110、判断模块120、调整模块130及绘制模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
69.在本实施例中,关于各模块/单元的功能如下:
70.监听模块110,用于监听前端显示界面的用户操作;其中,所述前端界面包括初始隐藏在所述前端显示界面外的虚拟控件;
71.判断模块120,用于当所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量;
72.调整模块130,用于当所述数据量小于预设阈值,根据所述数据量以及子视图高度,调整所述虚拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在所述虚拟控件中的预设显示高度;
73.绘制模块140,用于基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件。
74.此外,本发明还提供一种底部菜单栏自定义方法。参照图3所示,为本发明底部菜单栏自定义方法的实施例的方法流程示意图。电子设备1的处理器12执行存储器11中存储的底部菜单栏自定义程序10时,实现底部菜单栏自定义方法,包括步骤s101-s104。以下对各个步骤进行具体说明。
75.s101:监听前端显示界面的用户操作;其中,所述前端界面包括初始隐藏在所述前端显示界面外的虚拟控件;
76.其中,本方案可应用在任意一种智能终端app产品中,以在底部抽屉控件对应的显示数据量较少的情况下,通过动态调整控件高度,以有效解决传统固定控件高度导致在显示界面中出现空白区域,使得界面资源没有得到有效利用的问题。
77.其中,虚拟控件为触发显示的控件,即需要在满足触发条件时在界面中触发的弹窗控件,例如底部抽屉控件。为扩展前端显示界面中的显示数据量,通过前端显示界面中设置一可收缩或扩展的虚拟控件,以在节省前端显示界面的占有率的同时可有效扩宽前端显示界面中的显示数据量。
78.s102:当所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量;
79.具体地,通过监听显示界面中的用户操作,以在所述用户操作满足所述虚拟控件的触发条件时,判断所述虚拟控件对应的待显示数据项的数据量。其中,用户操作包括但不限于滑动或点击。该虚拟控件的触发条件包括但不限于两种,一种是通过满足滑动方向和滑动距离这两个判定维度触发;一种是通过点击前端显示界面中的触发区域触发。
80.可以理解地是,该虚拟控件中设置有滚动列表子控件,该滚动列表控件用于显示多个列表数据项(item),即待显示数据项。
81.s103:当所述数据量小于预设阈值,根据所述数据量以及子视图高度,调整所述虚
拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在所述虚拟控件中的预设显示高度;
82.具体地,当用户操作满足虚拟控件的触发条件时,通过进一步判断后端返回的可供该虚拟控件显示的待显示数据项的数据量,以在数据量小于预设阈值时,认为该虚拟子子控件在显示后端返回的待显示数据项时,会出现空白区域,故通过动态调整虚拟控件的控件高度,以便后续按照调整后的控件高度绘制虚拟控件。
83.可以理解地是,每一待显示列表项占居一行,每一行对应的横向布局相同即显示项高度相同,根据所述数据量以及显示项高度,调整所述虚拟控件的控件高度;其中,显示项高度用于描述每一待显示数据项的在虚拟控件中的预设显示高度;
84.示例性地,假设数据量为5项,每一待显示数据项在虚拟控件中的预设显示高度,即显示项高度为10px,若当前虚拟控件的控件高度为60px,则认为此时的数据量无法将虚拟控件填充满,故可根据显示项高度10px以及数据量5的乘积即50px,调整虚拟控件的控件高度,以解决前端显示界面留白的问题。
85.s104:基于所述调整后的所述控件高度,绘制所述扩展控件,以在所述述前端显示界面上显示所述虚拟控件。
86.具体地,可通过不断监听用户在前端显示界面中的x轴或y轴的变化,通过调用ondraw()方法不断重绘虚拟子控件,以触发虚拟控件在前端显示界面中显示。
87.示例性地,本案中通过监听虚拟子控件在y轴有滑动操作时,通过调用ondraw()方法绘制虚拟子控件,直到监听到虚拟子控件在y轴的滑动距离达到控件高度时,此时终止监听y轴滑动的状态,并且停止重绘虚拟子控件,以在前端显示界面上直接按照调整后的控件高度显示或根据用户滑动操作,以扩展状态显示所述虚拟控件。
88.进一步地,所述前端显示界面还包括父容器;所述父容器用于承载所述虚拟控件;在步骤s104之后,还包括:
89.a1,监听前端显示界面的用户操作;
90.a2,判断所述用户操作是否满足事件拦截条件;
91.a3,当不满足所述事件拦截条件时,禁止所述父容器拦截所述用户操作事件,以将所述用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作。
92.其中,事件拦截条件可为虚拟控件的不可操作条件,例如判断本次用户操作的滑动方向和滑动距离是否不满足虚拟控件的滑动条件或者判断点击事件的点击触发点是否不在虚拟控件的点击触发范围内。可以理解地是,由于父容器会在用户操作时率先获得焦点,当父容器与虚拟控件均可实现点击或滑动事件时,当前监听到滑动或点击事件时,父容器会直接拦截该用户操作事件,使该用户操作事件无法传递至虚拟控件响应,导致事件监听冲突的问题。故本案中,需要在父容器接收到用户操作后,进一步判断用户操作是否满足事件拦截条件,例如判断本次用户操作的滑动方向和滑动距离是否满足虚拟控件的滑动条件或者判断点击事件的点击触发点是否满足虚拟控件的点击触发范围,若满足,则认为此时用户操作满足虚拟控件的操作条件,即不满足事件拦截条件,则禁止所述父容器拦截所述用户操作事件,以将所述用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作。
93.具体地,在前端显示界面显示虚拟控件之后,通过监听对所述虚拟控件的用户操
作,以进一步判断用户操作是否满足事件拦截条件当不满足所述事件拦截条件时,禁止所述父容器拦截所述用户操作事件,以将所述用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作,以有效解决事件监听冲突的问题。
94.进一步地,判断方式如下:
95.通过计算横纵坐标轴之差或用户操作轨迹点与坐标轴之间的夹角,确定滑动方向,然后根据滑动方向,判断父容器和虚拟控件的可滑动性;
96.当滑动方向在父容器和虚拟控件上均可实现滑动时,判断此时的滑动距离和滑动时间,由于若虚拟控件和父容器均设置滑动距离阈值时,当父容器滑动阈值(如20)大于虚拟控件滑动阈值(10)时,会造成当滑动距离为30时,父容器直接拦截,虚拟控件无法判别滑动操作,当父容器滑动阈值(如10)小于虚拟控件滑动阈值(30)时,虚拟控件拿到事件后,由于虚拟控件处理时,由于其包容性低,父容器是无法拿到事件去判断滑动的,因此本案是在父容器拿到事件后,主动并同时检测父容器和虚拟控件的可滑动性,该可滑动性的判断可在该滑动距离更接近于哪一滑动距离阈值以及滑动时间是否满足可滑动操作进行综合判断。
97.更进一步地,还可通过多个滑动轨迹坐标点判断可滑动性,即多个滑动轨迹坐标点的组成的滑动轨迹整体更偏向于父容器还是虚拟控件的方式分析确定。
98.进一步地,所述判断所述用户操作是否满足事件拦截条件之后,还包括:
99.当满足所述事件拦截条件时,控制所述父容器拦截所述用户操作,以使所述父容器响应所述用户操作。
100.具体地,当满足事件拦截条件,即不满足虚拟控件的操作条件,则拦截所述用户操作,以使所述父容器响应所述用户操作,以通过主动检测用户操作是否满足事件拦截条件,以判定是否控制父容器拦截用户操作,有效解决事件监听冲突的问题,实现在虚拟控件弹出时,可同时操作父容器中的控件。
101.进一步地,所述父容器用于显示虚拟地图;所述待显示数据项包括多个待选用户id;在所述当不满足所述事件拦截条件时,禁止所述父容器拦截所述用户操作事件,以将所述用户操作事件传递给所述虚拟控件,使所述虚拟控件响应所述用户操作之后,还包括;
102.b1,获取用户基于所述虚拟控件中的多个用户id所选择的目标用户id;
103.其中,本案中父容器可用于显示虚拟地图,用户可通过点击虚拟控件中的待显示数据项,即待选用户id,即可在父容器中显示该目标用户id对应的用户轨迹,以实现操作虚拟控件控制父容器中虚拟地图变化的目的。
104.b2,根据所述目标用户id,获取所述目标用户id对应的原始轨迹数组;其中,所述原始轨迹数组包括多个携带时间标签的历史轨迹点;
105.具体地,当用户选择所需显示用户轨迹的目标id后,可请求后台实时或按照一定是时间间隔采集的该目标用户id对应的历史轨迹,后端在接收到数据请求时,将采集的历史轨迹点按照时间顺序进行排序,得到原始轨迹数组。
106.b3,对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组;
107.b4,将所述目标轨迹数组传递给所述父容器中,以在所述虚拟地图中根据所述目标轨迹数组,按照时间顺序绘制所述目标用户id对应的运动轨迹。
108.具体地,由于gps定位精度的影响,使得后端采集到的gps数据有可能会出现轨迹偏移的异常点,即飘点的情况。故本案中,为去除轨迹噪点,排除干扰,通过预先对历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组,并将去噪后的该目标轨迹数组返回至前端,以保证前端绘制的有效性。
109.具体地,在获取目标轨迹数组后,将目标轨迹数组传递给所述父容器中,以调用在所述虚拟地图中根据所述目标轨迹数组,按照时间顺序绘制所述目标用户id对应的运动轨迹,方便用户查看该运动轨迹。
110.进一步地,所述对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组,包括:
111.c1,按照时间顺序遍历所述原始轨迹数组,读取每一待检测轨迹点;
112.c2,统计所述待检测轨迹点在预设距离范围内的多个历史轨迹点的第一轨迹点数量;
113.c3,统计所述原始轨迹数组中除所述待检测轨迹点外的每一历史轨迹点在所述预设距离范围内的第二轨迹点数量;
114.c4,统计多个历史轨迹点的第二轨迹点数量的最小值或均值作为轨迹点数量阈值;
115.c5,若所述第一轨迹点数量小于所述轨迹点数量阈值,则将所述待检测轨迹点作为候选轨迹噪点;
116.c6,获取所述候选轨迹噪点的待检测速度;
117.c7,若所述待检测速度不在预设正常速度范围内,则将所述候选轨迹噪点作为目标轨迹噪点去除,得到所述目标轨迹数组。
118.其中,第一轨迹点数量为待检测轨迹点在预设距离范围内所包含的历史轨迹点的个数。第二轨迹点数量为除待检测轨迹点之外的每一历史轨迹点在预设距离范围内所包含的历史轨迹点的个数。轨迹点数量阈值用于判断第一轨迹点数量是否满足轨迹噪点条件的阈值。
119.具体地,通过按照时进顺序遍历原始轨迹数组中的每一待检测轨迹点a,并统计a点在预设距离范围内的多个历史轨迹点的第一轨迹点数量,同时统计该条轨迹中每一历史轨迹点在预设距离范围内所包含的多个历史轨迹点的第二轨迹点数量,并取多个历史轨迹点的第二轨迹点数量中的最小值或平均值,作为轨迹点数量阈值,若所述第一轨迹点数量小于所述轨迹点数量阈值,则认为第一轨迹点数量较少,该待检测轨迹点可能为轨迹噪点,然而由于存在用户可能换乘交通工具造成轨迹突变的情况,故本案中通过进一步判断该候选轨迹噪点对应的速度,若待检测速度不在预设正常速度范围内,则将所述候选轨迹噪点作为目标轨迹噪点去除,得到所述目标轨迹数组,反之,则将待检测轨迹点标记为正常轨迹点。其中,预设正常速度范围可根据经验设置步行到其他交通工具(如汽车)等不同出行方式的均值进行描述,此处不做限定。
120.进一步地,对所述原始轨迹数组的历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组,包括:
121.d1,对所述历史轨迹点进行聚类分析,得到多个聚类簇;
122.d2,若所述历史轨迹点不在任一所述聚类簇中,则将所述历史轨迹点作为轨迹噪
点去除,得到所述目标轨迹数组。
123.其中,可通过采用包括但不限于基于密度的聚类方法(dbscan)、用高斯混合模型(gmm)的最大期望(em)聚类以及凝聚层次聚类等聚类算法实现对所述历史轨迹点进行聚类分析的目的。
124.本案中,以采用dbscan为例进行说明,首先确定半径r和minpoints.从任意一个没有被访问过的历史轨迹点开始,以这个点为中心,r为半径的圆内包含的点的数量是否大于或等于minpoints,如果大于或等于minpoints则该点被标记为核心点反之则会被标记为轨迹噪点。重复上述步骤,若被标记的轨迹噪点存在于某个核心点为半径的圆内,则将该点被标记为边缘点,反之仍为轨迹噪点;重复执行上述步骤,直至所有历史轨迹点均被访问过,以得到多个聚类簇,若历史轨迹点不在任一所述聚类簇中,即最终标记为轨迹噪点的历史轨迹点,则将该轨迹噪点去除,得到所述目标轨迹数组。
125.进一步地,在所述对所述轨迹数组的多个历史轨迹点进行轨迹纠偏处理,以去除所述原始轨迹数组中的轨迹噪点,得到目标轨迹数组之后,还包括:
126.将所述目标轨迹数组作为所述目标用户id的历史轨迹数组存储至缓存;
127.在所述将所述目标轨迹数组传递给所述父容器中,以在所述虚拟地图中根据所述目标轨迹数组,按照时间顺序绘制所述目标用户id对应的运动轨迹之后,还包括:
128.e1,根据所述目标用户id,获取所述目标用户id对应的增量轨迹数组;
129.e2,从所述缓存读取所述历史轨迹数组;
130.e3,根据历史轨迹数组和所述增量轨迹,得到待绘制数组;
131.e4,将所述待绘制数组传递给所述父容器中,以在所述虚拟地图中根据所述待绘制数组,绘制所述目标用户id对应的运动轨迹。
132.具体地,本案中在获取目标轨迹数组后,可将所述目标轨迹数组作为所述目标用户id的历史轨迹数组存储至缓存中,以便在下次发起轨迹绘制请求时,可直接请求后端的增量轨迹数据即可,无需请求全量数据,提高数据读取效率。并且,在绘制用户轨迹时,直接读取缓存中的数据与增量数据拼接,即可获取待绘制数组,将所述待绘制数组传递给所述父容器中,以在所述虚拟地图中根据所述待绘制数组,绘制所述目标用户id对应的运动轨迹,提高用户轨迹的绘制效率。
133.在判断虚拟控件如底部抽屉控件的触发条件时,进一步判断待显示数据项的数据量,以在待显示数量项的数据量较少的情况下,通过动态调整控件高度,以有效解决传统固定控件高度导致在显示界面中出现空白区域,使得界面资源没有得到有效利用的问题。此外,本案中,通过在监听到用户操作时,通过主动检测该用户操作是否满足事件拦截条件,以判定是否控制父容器拦截用户操作,有效解决事件监听冲突的问题,实现在虚拟控件弹出时,可同时操作父容器中的控件。并且,本案中通过获取在用户基于所述虚拟控件中显示的多个用户id所选择的目标用户id,以使父容器响应该虚拟控件的操作事件,在虚拟地图中显示对应的用户轨迹,同时,由于轨迹飘点的情况,故还可对轨迹飘点进行轨迹纠偏处理,去除轨迹噪点,排除干扰,以保证前端绘制的有效性。
134.此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任意一种或者几种的任
意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有底部菜单栏自定义程序10,所述底部菜单栏自定义程序10被处理器执行时,实现底部菜单栏自定义方法的操作。
135.在另一个实施例中,本发明所提供的底部菜单栏自定义方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。
136.需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
137.本发明之计算机可读存储介质的具体实施方式与上述底部菜单栏自定义方法的具体实施方式大致相同,在此不再赘述。
138.需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句"包括一个
……
"限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
139.需要说明的是,上述本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
140.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用于使得一台电子设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
142.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献