CN116880949B - 运行图自适应显示方法、控制器和介质 - Google Patents
运行图自适应显示方法、控制器和介质 Download PDFInfo
- Publication number
- CN116880949B CN116880949B CN202311151280.1A CN202311151280A CN116880949B CN 116880949 B CN116880949 B CN 116880949B CN 202311151280 A CN202311151280 A CN 202311151280A CN 116880949 B CN116880949 B CN 116880949B
- Authority
- CN
- China
- Prior art keywords
- display
- traffic
- running
- width
- diagram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000010586 diagram Methods 0.000 claims abstract description 135
- 230000003044 adaptive effect Effects 0.000 claims abstract description 33
- 238000005096 rolling process Methods 0.000 claims description 57
- 238000013519 translation Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 13
- 230000006978 adaptation Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 3
- 230000008859 change Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种运行图自适应显示方法、控制器和介质,该方法包括:接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端中的显示窗口的宽高尺寸;根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图。本发明的交通运行图可自适应匹配不同显示窗口进行兼容显示,提升了用户体验,满足了交通运行图显示的自适应需求。
Description
技术领域
本发明涉及轨道交通技术领域,尤其涉及一种运行图自适应显示方法、控制器和介质。
背景技术
轨道交通运行图是指根据运营的计划内容编制指定时间范围内各车站区间列车运行安排的图表,是轨道交通组织列车运行的基础。目前,随着物联网、云计算、大数据、数字孪生等前沿技术与城市轨道交通的深度融合,运行图的应用范围在不断扩大,运行图的显示范围包括PC(Personal Computer,个人计算机)的显示器、大屏看板或手机、平板电脑等,而运行图在不同的系统平台(对应不同尺寸的显示界面)中显示时,存在兼容性较差的问题,大大降低了用户体验。
发明内容
本发明实施例提供一种运行图自适应显示方法、控制器和介质,以解决现有技术中运行图显示兼容性较差等问题。
一种运行图自适应显示方法,包括:
接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端中的显示窗口的宽高尺寸;
根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;
将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图。
一种控制器,所述控制器包括处理器和存储器,所述存储器存储有可执行程序,所述处理器用于执行所述可执行程序以实现上述运行图自适应显示方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述运行图自适应显示方法。
上述运行图自适应显示方法、控制器和介质,所述方法包括:接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端中的显示窗口的宽高尺寸;根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图。
本发明可以根据用户终端中运行图需要显示的显示窗口的宽高尺寸,自动适配画布的基准高度(实现了交通运行图自适应匹配显示窗口高度),进而根据上述基准高度和预设交通运行数据进行绘制处理得到交通运行图并在显示窗口中进行显示,如此,本发明的交通运行图将会自动适应匹配不同用户终端的显示窗口,进而使得交通运行图在不同用户终端(比如各类系统平台和不同智能终端等)中运行时均可以被兼容,从而提升了用户体验,满足了交通运行图显示的自适应需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中运行图自适应显示方法的流程图;
图2是本发明一实施例中以运行图自适应显示方法在用户终端的显示屏幕中显示交通运行图的示意图;
图3是本发明一实施例中运行图自适应显示方法的步骤S20的流程图;
图4是本发明一实施例中运行图自适应显示方法的步骤S202的流程图;
图5是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1所示,提供一种运行图自适应显示方法,包括如下步骤:
S10:接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端中的显示窗口的宽高尺寸;其中,上述运行图自适应显示方法可以由控制器执行,而该控制器包括但不限定于界面自适应控制组件、界面渲染绘图组件、界面移动控制组件等,控制器中的每个组件均独立封装,且各个组件之间以接口形式相互调用。
具体地,上述步骤S10由界面自适应控制组件执行。可理解地,用户终端包括不同平台中的智能终端和PC端等具有显示屏幕的终端设备,显示屏幕中可以通过显示窗口对交通运行图进行显示。进而,显示窗口可以是智能终端(比如手机应用程序端)的WebView(是指网页视图,可以内嵌在移动端,实现前端的混合式开发)窗口或PC端的浏览器等窗口。在本实施例中,需要监听是否接收到用户终端发送的运行图显示请求,可理解地,当需要在用户终端上显示交通运行图时,将会接收到包含该用户终端的显示屏幕的运行图显示请求(运行图显示请求中包含用户终端中用于显示交通运行图的显示窗口的宽高尺寸,其中,宽高尺寸即为显示窗口的高度尺寸和宽度尺寸),其中,显示窗口是指在该显示屏幕中用于展示交通运行图的窗口,显示窗口的宽高尺寸并不一定等于用户终端的显示屏幕尺寸,比如,在同一个智能终端以横屏状态摆放以及竖屏状态摆放时,其对应的显示屏幕尺寸一样,但是显示窗口的宽高尺寸并不一致。
S20:根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;在本实施例中,所述画布显示在显示窗口中,交通运行图需要在画布上完成绘制。进一步地,所述画布为(计算机)Canvas画布。其中,Canvas可以在网页实时生成图像,并且可以操作图像内容,是一个可以用JavaScript操作的位图,且其定义了一个API支持脚本化客户端绘图操作,利用Canvas进行绘制处理更为快捷和轻量化,减少了延迟和卡顿。具体地,上述步骤S20由界面渲染绘制组件执行,以将预设交通运行数据转化成可视化的交通运行图。
在该实施例中,获取显示窗口的宽高尺寸之后,为使得绘制处理之后得到的交通运行图能自适应显示窗口大小,需根据显示窗口的宽高尺寸,对交通运行图的基准高度和基准宽度进行初始化。具体地,在该实施例中,首先将宽高尺寸中的高度尺寸直接确定为所述显示窗口中的画布的基准高度,也即,画布的基准高度将自适应设定为显示窗口的高度尺寸。并且,所述画布中的显示坐标系(预设交通数据将基于该显示坐标系进行绘制)的纵坐标高度将根据该基准高度进行确定;而显示坐标系的初始设定的横坐标宽度将需要根据预设交通运行数据中用户终端默认设定的初始显示时间间隔和总显示时长以及所述宽高尺寸中的宽度尺寸等进行确定。在纵显示时长以及宽度尺寸均确定的情况下,初始显示时间间隔若并不相同,上述横坐标宽度也将随之不同,因此,在绘制处理得到初始化的显示坐标系之后,其高度方向上将不存在垂直滚动条(基准高度将自适应设定为与显示窗口的高度尺寸相等,此时无需滚动即可在高度方向上全部显示交通运行图),而横坐标上将会有可能存在(亦可能不存在)水平滚动条。只有在将交通运行图放大之后,才会在显示坐标系中生成并显示垂直滚动条。如此,可以确保在用户终端(比如大屏看板)需要显示交通运行图时,若显示窗口当前无人操作,交通运行图的在高度上的显示不会有所缺失。
在根据显示窗口的宽高尺寸,对交通运行图的基准高度和基准宽度(也即显示窗口中的画布的高度和宽度尺寸)进行初始化之后,控制器调用Rest Api(前后端分离开发的一套标准)接口,获取预设交通运行数据,其中,预设交通运行数据包括但不限定于为离站时间、离站站台、进补时间、进站站台、所有站台之间的上下行关系、各站台之间的实际距离等信息,如此,如图2所示,根据上述预设交通运行数据即可确定运行线(包括计划运行线和实际运行线)中各站台对应于显示坐标系中的坐标;其中,纵坐标上不同站台之间的显示距离表征各站台之间的实际距离;横坐标上的时间表征该运行线对应的列车行驶到具体某个站台的时间点。根据上述坐标,可以在画布的显示坐标系中绘制运行线(比如图2中所示的在显示坐标系中从左下方向右上方倾斜的线条即为运行线)、折返线和列车识别号(比如图2中所示的001)等,进而生成交通运行图。
S30:将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图。可理解地,在生成交通运行图之后,需要将该交通运行图发送到用户终端,进而在其显示屏幕的显示窗口中进行展示。可理解地,本发明控制器可以同时对接多个用户终端,进而接收不同用户终端同时(或不同时)发送的多个运行图显示请求,进而为不同用户终端对应的不同宽高尺寸的显示窗口一一对应自适应生成不同尺寸的交通运行图,最终在不同用户终端上匹配显示不同尺寸的交通运行图。进一步地,控制器中的每个组件均独立封装,且各个组件之间以接口形式相互调用,且使用JavaScript(JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言)和HTML(HTML是指超文本标记语言,包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体)原生语言实现,如此,在跨平台与不同用户终端对接使用以在不同用户终端的显示窗口中显示交通运行图时,只需将代码引入源码中即可解决交通运行图在各类系统平台(也即不同用户终端)中运行时兼容性问题。本发明兼容性强,满足了交通运行图在不同用户终端上进行显示的自适应需求。
可理解地,在本发明中,预设交通运行数据将会随时发生变化,因此,控制器可以使用WebSocket(是一种在单个TCP连接上进行全双工通信的协议)进行消息订阅,以及时获取更新之后的预设交通运行数据,并根据更新的预设交通运行数据触发调用界面渲染绘图组件重新执行步骤S20及其后续步骤,也即根据预设交通运行数据和所述基准高度在所述画布中重新进行绘制处理,得到更新后的交通运行图,进而将针对不同用户终端重新更新的交通运行图分别对应发送到各用户终端,确保多用户终端同时更新交通运行图(包括具有计划运行线和/或实际运行线的交通运行图),相比于使用计时器定时访问服务器(计时器定时访问是通过Http协议接收数据,不支持持久连接,轮询服务端接口,服务器被动发送数据;计时器是单线程的,一次只能执行一个任务,要等前面的代码执行完再执行,易造成请求延迟)进行更新的方案来说,通过WebSocket进行消息订阅(WebSocket支持持久连接,服务器主动发送数据,WebSocket协议是全双工的,所以服务器可以随时主动给客户端下发数据,具有更强的实时性)可以避免服务器堵塞和页面卡顿。
本发明上述实施例中,根据用户终端中运行图需要显示的显示窗口的宽高尺寸,自动适配画布的基准高度(实现了交通运行图自适应匹配显示窗口高度),进而根据上述基准高度和预设交通运行数据进行绘制处理得到交通运行图并在显示窗口中进行显示,其中,控制器中的每个组件均独立封装,且各个组件之间以接口形式相互调用,且使用JavaScript和HTML原生语言实现,如此,在跨平台与不同用户终端对接使用以在不同用户终端的显示窗口中显示交通运行图时,只需将代码引入源码中即可解决交通运行图在各类系统平台中运行时兼容性问题,如此,本发明的交通运行图将可以实现自动适应匹配不同用户终端的显示窗口,进而使得交通运行图在不同用户终端(比如各类系统平台和不同智能终端等)中运行时均可以被兼容,从而提升了用户体验,满足了交通运行图显示的自适应需求。
在一实施例中,所述步骤S30之后,也即所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
监听是否接收到窗口尺寸适应请求;所述窗口尺寸适应请求在所述显示窗口的宽高尺寸发生变化时生成;可理解地,由于交通运行图在部分用户终端(比如可手持的智能终端等)中的显示窗口窄小,而交通运行图由大量密集的运行线、折返线、网格线(包括站台线和时间线)等构成,若显示窗口窄小则无法清晰显示,因此,为了给用户更好的交互体验,本实施例中可以在接收到窗口尺寸适应请求之后,实现对交通运行图的缩放处理等。可理解地,用户终端也会在显示屏幕中的显示窗口发生尺寸变化(用户最大化、最小化或拖拽显示屏幕中的浏览器窗口的四边),或者显示屏幕本身发生横竖屏切换时自动生成窗口尺寸适应请求并发送至控制器,进而实现用户终端中用于显示交通运行图的显示窗口(包括显示窗口中的交通运行图)的自适应缩放。
在接收到所述窗口尺寸适应请求时,根据所述显示窗口变化后的宽高尺寸更新所述基准高度,根据所述交通运行数据和更新后的所述基准高度在所述画布中进行绘制处理,得到更新后的所述交通运行图;也即,在该实施例中,由于显示窗口的宽高尺寸已经变化,因此,需要参照上述步骤S20,重新根据变化后的宽高尺寸确定画布的基准高度的基准宽度即可,具体地,首先将变化后的宽高尺寸中的高度尺寸直接确定为所述显示窗口中的画布的基准高度,也即,画布的基准高度将自适应设定为显示窗口的高度尺寸。并且,所述画布中的显示坐标系(预设交通数据将基于该显示坐标系进行绘制)的纵坐标高度也将根据该基准高度进行确定;而显示坐标系的横坐标宽度(也即基准宽度)将重新根据预设交通运行数据中用户当前设定的初始显示时间间隔和总显示时长以及变化后的所述宽高尺寸中的宽度尺寸等进行确定;在确定新的显示坐标系之后,根据当前最新的交通运行数据在更新之后的显示坐标系中绘制运行线、折返线和列车识别号等,进而生成交通运行图。
将更新后的所述交通运行图发送至所述用户终端,以在所述显示窗口中显示更新后的所述交通运行图。也即,在生成更新的交通运行图之后,需要将重新生成的该交通运行图发送到用户终端,进而在宽高尺寸发生变化的显示窗口中对更新后的交通运行图进行展示。
在一实施例中,所述步骤S30之后,也即所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收运行图尺寸缩放请求,获取中心坐标;所述中心坐标是指所述交通运行图中与所述显示窗口中心点对应的坐标;具体地,在该实施例中,显示窗口的宽高尺寸并不会发生变化,显示窗口中的交通运行图需要进行缩放。在一实施例中,用户可以在显示窗口中通过触发缩放按钮生成运行图尺寸缩放请求并发送至控制器;在另一实施例中,在用户终端的显示窗口中显示交通运行图之后,若鼠标已经移动至该交通运行图上方,此时,通过触发鼠标上与缩放功能对应的缩放键,亦可以生成运行图尺寸缩放请求并发送至控制器。可理解地,为了保证用户查看交通运行图的连续性,在对交通运行图进行缩放时,需要保持所述交通运行图中与所述显示窗口中心点对应的中心坐标不变,使得缩放之后的交通运行图依旧被定位在缩放之前用户当前正在查看的区域,以提升用户体验;因此需要获取中心坐标,并在下一步根据中心坐标对交通运行图进行缩放。
获取所述运行图尺寸缩放请求中的缩放比例,保持所述交通运行图的所述中心坐标位置不变,根据所述交通运行数据和所述缩放比例在所述画布中对所述交通运行图进行绘制处理,得到更新后的所述交通运行图;具体地,在确定缩放比例之后,保存中心坐标位置不变,并首先根据所述缩放比例对所述画布以及其中的所述交通运行图进行缩放,之后可以调用界面渲染绘图组件,根据所述交通运行数据在缩放后的所述画布中对所述交通运行图进行绘制处理,得到更新后的所述交通运行图;具体绘制处理过程参照步骤S20,在此不再赘述。可理解地,若缩放之后的交通运行图中如后文中实施例中所述生成了水平滚动条或/和垂直滚动条,那么此时还需要调用界面移动控制组件对上述生成的滚动条进行初始化定位(参照后文中提及的对所述水平滚动条进行初始化定位,而垂直滚动条可以以与水平滚动条的初始化定位相同的方式进行定位)。
将更新后的所述交通运行图发送至所述用户终端,以在所述显示窗口中显示更新后的所述交通运行图。也即,在生成更新的交通运行图之后,需要将重新生成的该交通运行图发送到用户终端,进而在显示窗口中对更新后的交通运行图进行展示。
可理解地,在本实施例中,需要设定一个最小缩放比例,在上述缩放比例小于该最小缩放比例时,将仅以该最小缩放比例进行缩放;如此,当交通运行图在全部显示(交通运行图中不出现水平滚动条和垂直滚动条)之后,不再允许被继续缩小,如此,可以始终保证交通运行图以一个最适于查看的状态被显示。
在一实施例中,如图3所示,所述步骤S20,也即所述根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图,包括:
S201,将所述宽高尺寸中的高度尺寸确定为所述基准高度;在该实施例中,获取显示窗口的宽高尺寸之后,为使得绘制处理之后得到的交通运行图能自适应显示窗口大小,需根据显示窗口的宽高尺寸,对交通运行图的基准高度和基准宽度进行初始化。具体地,在该实施例中,首先将宽高尺寸中的高度尺寸直接确定为所述显示窗口中的画布的基准高度,也即,画布的基准高度将自适应设定为显示窗口的高度尺寸。
S202,根据预设交通运行数据和所述基准高度在所述画布中绘制显示坐标系;可理解地,如图2所示的交通运行图的总高度即为基准高度,所述画布中的显示坐标系的纵坐标总高度将小于或等于上述基准高度(以便于完全显示该显示坐标系的同时还可以便于设置各类按钮、文字或交通运行图所需的其他图形参数)。而显示坐标系的初始设定的横坐标宽度(也即基准宽度)将需要根据预设交通运行数据中用户终端默认设定的初始显示时间间隔和总显示时长以及所述宽高尺寸中的宽度尺寸等进行确定。
S203,在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图。具体地,可以在画布的显示坐标系中绘制网格线、当前时间标线、运行线、折返线和列车识别号等,进而生成交通运行图。
在一实施例中,如图4所示,所述步骤S202,也即所述根据预设交通运行数据和所述基准高度在所述画布中绘制显示坐标系,包括:
S2021,获取预设交通运行数据,所述预设交通运行数据包括与所述运行图显示请求对应的所有站台的上下行关系,以及按照所述上下行关系排列之后的相邻站台之间的实际距离;也即,控制器调用Rest Api(前后端分离开发的一套标准)接口,获取预设交通运行数据。其中,预设交通运行数据包括但不限定于为离站时间、离站站台、进补时间、进站站台、所有站台之间的上下行关系、各站台之间的实际距离等信息。
S2022,根据所述实际距离和所述基准高度确定按照所述上下行关系排列之后的相邻站台之间的显示距离;可理解地,根据上述预设交通运行数据即可确定运行线(包括计划运行线和实际运行线)中各站台对应于显示坐标系中的坐标(也即站台刻度);其中,纵坐标上不同站台之间的显示距离表征各站台之间的实际距离。具体地,纵坐标上各站台对应的站台刻度(对应于各站台与起始站台之间的显示距离)根据上述预设交通运行数据中的所有站台之间的实际距离以及显示坐标系的纵坐标总高度(该纵坐标总高度又需要根据基准高度进行确定,纵坐标总高度将小于或等于上述基准高度,可以设定为基准高度减去预设高度等于纵坐标总高度),而每一个站台在显示坐标系中的纵坐标上对应的纵坐标高度(也即站台刻度)等于预设比值与纵坐标总高度之间的乘积,其中,预设比值为该站台到起始站台之间的实际距离除以终点站台到起始站台之间的实际距离。
S2023,在所述画布中绘制显示坐标系,其中,所述显示坐标系的纵坐标根据所有所述显示距离以及与所有所述站台对应的所述上下行关系绘制;所述显示坐标系的横坐标根据初始显示时间间隔(在初次生成交通运行图时或接收到窗口尺寸适应请求之后重新生成交通运行图时,系统所默认设定的显示时间间隔)、总显示时长以及所述宽高尺寸中的宽度尺寸绘制。具体地,在上述步骤S2023中确定纵坐标上的显示距离之后,根据每一条运行线的所有站台对应的所述上下行关系绘制可以绘制纵坐标上的站台刻度及其对应的站台名称等;而横坐标上的时间表征该运行线对应的列车行驶到具体某个站台的时间点,其可以根据初始显示时间间隔、总显示时长以及所述宽高尺寸中的宽度尺寸绘制。具体地,横坐标的总显示时长可以为24小时(根据需求设定为12小时等其他周期显示时长均可)为周期,之后以初始显示时间间隔为单位,将横坐标上对应于所述初始显示时间间隔(比如,初始显示时间间隔为1分钟)所有时间刻度在已经确定的横坐标总宽度上(横坐标总宽度小于或等于基准宽度,可以设定为基准宽度减去预设宽度等于横坐标总宽度;并且,基准宽度可以等于上述宽度尺寸,亦可以为上述宽度尺寸的预设倍数,所述预设倍数可以根据需求设定)等间隔排列,进而在横坐标上绘制时间刻度并显示与时间刻度对应的具体时间数据等。
在一实施例中,所述步骤S2023之后,也即所述在所述画布中绘制显示坐标系之后,包括:
接收显示时间间隔切换指令,获取所述显示时间间隔切换指令中包含的更新显示时间间隔;也即,在操作员重新选择新的显示时间间隔(也即更新显示时间间隔)作为显示交通运行图的依据时,将会生成包含该更新显示时间间隔的显示时间间隔切换指令。可理解地,在该实施例中,接收到显示时间间隔切换指令之后,交通运行图的显示坐标系的纵坐标不会发生变化,而仅对横坐标及其相关数据进行更新。
根据所述更新显示时间间隔、总显示时长以及所述宽高尺寸中的宽度尺寸更新所述显示坐标系的横坐标。也即,在接收显示时间间隔切换指令之后,交通运行图的横坐标的长度将需要跟随上述更新显示时间间隔变化,具体地,由于横坐标总宽度可以根据基准宽度确定,横坐标总宽度小于或等于基准宽度,可以设定为基准宽度减去预设宽度等于横坐标总宽度;并且,基准宽度可以等于上述宽度尺寸,亦可以为上述宽度尺寸的预设倍数,所述预设倍数可以根据需求设定。因此,此时需要以更新显示时间间隔为单位,对横坐标总宽度进行缩放,缩放比例等于所述更新显示时间间隔除以此前设定的初始显示时间间隔之间的比值(若在该更新显示时间之后再次更新了显示时间间隔,则缩放比例等于再次更新的显示时间间隔与更新时间间隔之间的比值),也即,将横坐标总宽度除以所述缩放比例,即可得到缩放之后的显示坐标系的横坐标总宽度(也即新的基准宽度),进而,将横坐标的所有对应于更新显示时间间隔(比如,初始显示时间间隔为1小时)的时间刻度在已经确定的新的横坐标总宽度上等间隔排列,进而在横坐标上绘制时间刻度并显示与时间刻度对应的具体时间数据等。
在一实施例中,所述预设交通运行数据还包括运行时间数据;进一步地,所述步骤S203,也即所述在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图,包括:
在所述显示坐标系中根据所有所述站台的上下行关系以及所述运行时间数据绘制运行线,所述运行线包括计划运行线或/和实际运行线;可理解地,计划运行线和实际运行线可以同时显示在交通运行图中,亦可以仅显示其中一个;可以设定默认同时显示计划运行线和实际运行线;具体地,显示窗口中可以设置计划运行线以及实际运行线的显示或隐藏按钮,显示隐藏开关和颜色配置功能将在显示窗口中基于HTML(超文本标记语言)和CSS(层叠样式表)建立的页面中实现,以分别对计划运行线以及实际运行线进行隐藏或显示,进而达到选择性显示不同运行线的目的。具体地,如图2所示,运行线在其中呈斜线显示,运行线与穿过车站刻度的水平网格线的交点就是列车在该车站的到达、出发或通过时刻。在交通运行图中,可以设定下行列车的运行线由左上方向右下方倾斜,上行列车的运行线由左下方向右上方倾斜(如图2所示的运行线),亦可以根据需求设定为其他倾斜方向均可。进一步地,计划运行线和实际运行线的显示颜色需要设置为不同,比如,可以设定红色为实际运行线,浅蓝色为计划运行线。可理解地,当列车严格按计划运行线进行行驶,此时,实际运行线将和计划运行线重合。据所述运行线的斜率,在所述显示坐标系中与所述运行线间隔预设距离的位置绘制列车识别号;每一条所述运行线均对应一个所述列车识别号;如图2所示,列车识别号即为图2中接近运行线的位置显示的文本001;列车识别号用于标识不同车次,可以设定为统一显示在运行线的同一侧(比如图2中显示在其左侧)。可理解地,交通运行图中,运行线可能非常密集,因此根据运行线的斜率绘制列车识别号,是指将列车识别号以与运行线相同的斜率倾斜绘制,如此可减少该列车识别号被其它运行线遮挡的可能性,且列车识别号以相同斜率尽量紧贴运行线绘制也更易于识别该运行线。也即,运行线的斜率与该列车识别号的倾斜角度设置为一致。可理解地,同一个车次对应的实际运行线将和计划运行线分别对应生成有相同的列车识别号,但是其显示位置将不同,图2中所示的列车标识号有上下两组,但运行线仅为一条,此时可以明确当前的交通运行图与实际运行线覆盖在计划运行线上方的情况对应的交通运行图,说明当前车次列车严格按计划运行线行驶,此时,实际运行线和计划运行线重合。
在所述显示坐标系中绘制折返线;所述折返线连接在同类型且相邻两条所述运行线之间。其中,折返线是指连接相邻车次的折线的组合。其中折返线的起点为上行或下行车次对应的运行线与穿过终点车站的车站刻度的水平网格线的交点,终点为下行或者上行车次对应的运行线与穿过起始车站的车站刻度的水平网格线的交点。折返线出现在有车次折返的地方,如果是上行折下行则折返线位于运行线的上方,如果是下行折上行则折返线位于运行线的下方。
在一实施例中,所述步骤S203,所述在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图,包括:
根据所述显示距离和所述显示时间间隔在所述显示坐标系中绘制网格线;具体地,在画布中绘制网格线,网格线由穿过纵坐标刻度(比如车站刻度)的水平网格线,与穿过横坐标刻度(比如时间刻度)的垂直网格线延伸交织在一起的网格状图形,可理解地,可以通过显示时间间隔来设定不同网格线的颜色,进而对其进行区分,比如,从0时刻开始,每间隔1分钟对应的垂直网格线以浅色细实线表示;每间隔10分钟对应的垂直网格线在1分钟线的基础上加粗加深;而1小时对应的垂直网格线以在10分钟线的基础上继续加粗加深;水平网格线同理设置。进一步地,可以根据需求设定显示或隐藏网格线,显示隐藏开关在显示窗口中基于HTML和CSS建立的页面中实现。具体地,可以在显示窗口中增加隐藏网格按钮,通过控制网格线的显示隐藏按钮对网格线进行显示或隐藏。
根据当前时间点与所述总显示时长的对应关系在所述显示坐标系中绘制当前时间标线。其中,当前时间标线为是图2中与运行线的最右端连接的竖线,用于提示当前时间。显示窗口中可以设置时间线按钮,点击时间线按钮可以对当前时间线进行显示或隐藏,当前时间标线可以精确到分钟(或设定为其他精度亦可),当前时间标线的颜色可根据需求配置,配置功能将在显示窗口中基于HTML和CSS建立的页面中实现,画布可根据横坐标上与当前时间点对应的时间刻度坐标及其配置颜色(比如,通过鼠标在色板上点击选中一种颜色,再点击“确定”按钮即可设置或更换当前时间线的颜色)绘制当前时间标线。
进一步地,所述根据当前时间点与所述总显示时长的对应关系在所述显示坐标系中绘制当前时间标线之后,还包括:
在所述显示坐标系的横坐标总宽度大于所述显示窗口中的坐标显示区域(也即用于以显示坐标系的纵横坐标为界限,对显示坐标系内的所有运行线、折返线、列车标识号、网格线、当前时间标线等进行显示的区域)的区域宽度时,在所述交通运行图中生成水平滚动条,并对所述水平滚动条进行初始化定位。
可理解地,上述初始化定位过程,仅需要在显示窗口中初次生成交通运行图或在接收到到窗口尺寸适应请求之后需要重新对交通运行图进行初始化等情况时才需要进行(比如,接收到运行图尺寸缩放请求时,并不需要对其重新进行初始化定位)。在该实施例中,由于在绘制处理得到初始化的显示坐标系之后,其高度方向上将不存在垂直滚动条(基准高度将自适应设定为与显示窗口的高度尺寸相等,此时可在坐标显示区域的垂直方向上全部显示交通运行图),而横坐标上,若所述显示坐标系的横坐标总宽度小于或等于所述显示窗口中的坐标显示区域的区域宽度,则在坐标显示区域的水平方向可全部显示交通运行图,此时,不会生成水平滚动条;仅有在所述显示坐标系的横坐标总宽度大于所述显示窗口中的坐标显示区域的区域宽度时,此时坐标显示区域中将无法在坐标显示区域的水平方向上完全显示整个交通运行图,因此,此时将会在所述交通运行图中生成水平滚动条并对其进行初始化定位。
在一实施例中,所述当前时间标线与所述坐标显示区域的中心点对齐;进一步地,所述对所述水平滚动条进行初始化定位,包括:
将所述当前时间标线的横坐标值与预设宽度值之差确定为水平滚动坐标值;所述预设宽度值为所述坐标显示区域的区域宽度的一半。
将总滚动宽度与所述水平滚动坐标值之差确定为横向剩余空间,所述总滚动宽度是指所述显示坐标系的横坐标总宽度;所述总滚动宽度为所述水平滚动条在水平方向上可滚动的最大长度。
在所述横向剩余空间大于或等于所述预设宽度值时,将所述水平滚动条定位至与所述当前时间标线对应的坐标位置。在所述横向剩余空间大于或等于所述预设宽度值时,说明水平滚动条还有可以滚动的空间,此时,可以直接将水平滚动条自动定位到当前时间点(也即当前时间标线)。
进一步地,在所述横向剩余空间小于所述预设宽度值时,确定极限横坐标值,并将所述水平滚动条定位至与所述极限横坐标值对应的坐标位置;所述极限横坐标值等于所述总滚动宽度。也即,在所述横向剩余空间小于所述预设宽度值时,说明横坐标上的最后一个时间刻度已移至显示窗口的坐标显示区域内,此时无法将水平滚动条自动定位到与当前时间点对应的位置(当前时间标线对应的坐标位置已经超出了当前显示坐标系的横坐标总宽度对应的时间刻度范围),因此,需要首先确定极限横坐标,进而将水平滚动条滚动到极限横坐标值对应的坐标位置(也即总滚动宽度所对应的横坐标最边缘的极限位置),并在定位到该位置之后停止滚动定位。
本实施例中,由于当前时间标线默认与所述坐标显示区域的中心点对齐,将当前时间标线放在坐标显示区域的中心点对应位置,是为了增强用户体验,更好地展示当前时间点对应的运行线位置。因此,将水平滚动条定位到当前时间标线对应的中心点位置,也将便于查看。在该实施例中,仅以对水平滚动条进行初始化定位为例进行说明,垂直滚动条只有在将交通运行图放大之后,才会在显示坐标系中生成并显示,且其垂直滚动条的初始化过程参照水平滚动条的初始化过程即可,无需再次赘述。
进一步地,所述步骤S30之后,也即所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收滚动条的滚动请求,并将所述滚动请求按照接收时间先后插入请求队列中;所述滚动请求在拖拽位于所述显示窗口中的滚动条之后生成,或抵达预设定时滚动时间点时生成;所述滚动条包括水平滚动条或垂直滚动条。也即,本实施例中,滚动请求在拖拽位于所述显示窗口中的水平滚动条或垂直滚动条之后生成,或在预先设定了定时发送滚动请求的定时滚动时间点之后,当前时间点抵达预设定时滚动时间点时也会自动生成;比如,设定交通运行图具有自动左移功能,此时,每经过一分钟,交通运行图以当前显示交通运行图为基准,沿与横坐标平行的方向自动左移一小格(显示坐标系的纵横坐标位置并不会移动,仅有其内部的交通运行数据对应的运行线、当前时间标线等随之移动),也即左移一分钟对应的时间刻度间隔,此时,水平滚动条也即对应具有自动左移功能,每隔一分钟机会设定一个预设定时滚动时间点,以实现滚动条跟随交通运行图的自动左移功能。可理解地,界面移动控制组件用于负责显示窗口中所有滚动请求的对应滚动事件处理,滚动事件是交通运行图在单方向(水平或垂直方向)上的移动(对应于滚动条在单方向的滚动)。
可理解地,由于滚动请求具有通过上述拖拽位于所述显示窗口中的滚动条生成,以及定时滚动时间点自动生成两种生成方式;因此,不可避免会存在前一个滚动请求对应的滚动事件尚未执行完毕即接收到下一个滚动请求的情况发生,此时,为避免滚动条出现位置上的错位和程序上的冲突,可以设置请求队列,进而,将所有滚动请求按照接收时间的先后插入请求队列中,进而按照先后顺序依次执行,且在上一个滚动请求对应的滚动事件尚未执行完毕(执行完毕是指得到已执行成功或执行失败的反馈信息)之前,并不会执行下一个滚动请求,且请求队列中的滚动请求仅在被插入的预设时段内生效,在被插入预设时段之后尚未被执行,即会被从请求队列中删除,避免滚动请求堆积或执行时间过于滞引发的位置错位和程序冲突。
获取所述滚动条的当前位置坐标;当前位置坐标是指滚动条当前所处的位置坐标。具体地,可以直接利用计时器进行计时,将接收滚动请求之前,上一个接收滚动请求并成功执行滚动事件之后,滚动条被滚动到的具体位置坐标记录为当前位置坐标(也即本次滚动请求对应的滚动事件被执行之前的滚动条的位置坐标)。比如,设定交通运行图具有自动左移功能,此时,每经过一分钟,交通运行图以当前显示交通运行图为基准,沿与横坐标平行的方向自动左移一小格,也即左移一分钟对应的时间刻度间隔,此时,水平滚动条也即对应具有自动左移功能,每隔一分钟机会设定一个预设定时滚动时间点,以实现滚动条跟随交通运行图的自动左移功能;此时,在该步骤中需要获取的所述水平滚动条的当前位置坐标即为在当前时间点的一分钟前水平滚动条所对应的位置坐标。
获取所述请求队列中排序最先的滚动请求对应的更新滚动坐标;也即,请求队列中排序最先的滚动请求,也即是接收时间最先的滚动请求对应的更新滚动坐标,也就是本次滚动条准备滚动到的目标坐标位置。可理解地,在拖拽位于所述显示窗口中的滚动条之后生成滚动请求时,更新滚动坐标即为拖拽之后的滚动条对应的坐标位置;在抵达预设定时滚动时间点时生成滚动请求时,更新滚动坐标即为当前位置坐标与时间标线坐标差值之和,其中,由于当前时间标线随着时间变化而实时移动,因此,在不同时间点,当前时间标线对应的时间刻度均不相同,因此,时间标线坐标差值即为:上一个预设定时滚动时间点对应的当前时间标线的历史位置坐标,与本次滚动请求中的预设定时滚动时间点对应的当前时间标线的实时位置坐标之差。
根据总滚动尺寸、所述更新滚动坐标以及所述坐标显示区域的区域尺寸确定滚动剩余空间;所述总滚动尺寸包括所述显示坐标系的横坐标总宽度或纵坐标总高度;具体地,所述总滚动尺寸为所述滚动条在滚动方向上可滚动的最大长度;具体地,滚动剩余空间为总滚动尺寸与滚动坐标位置之差;其中,所述滚动坐标位置为所述更新滚动坐标与预设滚动值之差,所述预设滚动值为所述坐标显示区域在所述滚动条的滚动方向上对应的区域尺寸的一半。而所述总滚动尺寸为所述显示坐标系在滚动方向上的坐标总长;其中,区域尺寸包括区域宽度和区域高度。比如,若滚动请求是请求在水平方向上滚动水平滚动条,此时,坐标总长即为显示坐标系的横坐标总宽度,预设滚动值为所述坐标显示区域的区域宽度的一半。若滚动请求是请求在垂直方向上滚动垂直滚动条,此时,坐标总长即为显示坐标系的纵坐标总高度,预设滚动值为所述坐标显示区域的区域高度的一半。
在所述滚动剩余空间大于或等于所述预设滚动值时,将所述滚动条滚动至所述显示窗口中与所述更新滚动坐标对应的坐标位置;所述预设滚动值为所述坐标显示区域在所述滚动条的滚动方向上对应的区域尺寸的一半。具体地,在所述滚动剩余空间大于或等于所述预设滚动值时,说明滚动条还有可以滚动的空间,此时,可以直接将滚动条滚动到与所述更新滚动坐标对应的坐标位置即可。以水平滚动条的滚动为例,若坐标显示区域的区域宽度对应的时间刻度为4小时,显示坐标系的横坐标总宽度对应的时间刻度范围为0点-24点(总滚动尺寸为24),且当前时间是24点(更新滚动坐标为24,滚动坐标位置为24-2=22),此时,滚动剩余空间(滚动剩余空间为24-22=2)等于所述预设滚动值2,此时,水平滚动条将自动定位滚动到显示坐标系中横坐标的最右侧与24点对应的位置,当前时间标线也处于显示坐标系中横坐标的最右侧,但水平滚动条无法继续向右自动滚动定位(继续右移之后滚动剩余空间将小于所述预设滚动值,已超出滚动剩余空间)。
进一步地,在所述滚动剩余空间小于所述预设滚动值时,确定极限滚动坐标,并将所述滚动条定位至与所述极限滚动坐标对应的坐标位置;所述极限滚动坐标等于所述总滚动尺寸。在所述滚动剩余空间小于所述预设滚动值时,说明该显示坐标系的横坐标总宽度中的最后一个时间刻度移至坐标显示区域内,此时与所述更新滚动坐标对应的坐标位置已经超出了当前显示坐标系的坐标显示区域,无法在坐标显示区域中将滚动条滚动与所述更新滚动坐标对应的坐标位置,因此,需要首先确定极限滚动坐标,进而将滚动条滚动到极限滚动坐标对应的坐标位置,并在滚动到该极限滚动坐标的对应位置之后停止滚动。
本实施例中可以通过响应滚动请求实现交通运行图随时间变化自动向左移动定位的功能(交通运行图可以随着时间变化通过滚动条的自动滚动向左侧移动,逐步将右侧内容显示出来,直到最后一个刻度移至坐标显示区域内)以及对滚动条进行拖拽以自动定位滚动条的功能,解决交通运行图不能完全显示的问题;提升了用户体验,减少了人工介入,满足了自动化需求。
进一步地,所述步骤S30之后,也即所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收所述交通运行图的平移请求,所述平移请求在用户按照移动轨迹拖拽位于所述显示窗口中的所述交通运行图之后生成;可理解地,界面移动控制组件用于负责显示窗口中所有平移请求对应事件处理,其中,平移请求用于请求控制器执行平移事件,平移请求可以通过鼠标在交通运行图上按照某个移动轨迹拖拽交通运行图之后生成,平移事件是指响应该平移请求之后,通过滚动条的滚动,以拖拽点为基准,带动交通运行图从移动轨迹的起始位置坐标移到终点位置坐标的事件。
获取所述移动轨迹在所述交通运行图的显示坐标系中的起始位置坐标以及终点位置坐标;其中,起始坐标位置包括移动轨迹在显示坐标系的起点X坐标和起点Y坐标;而终点位置坐标包括移动轨迹在显示坐标系的终点X坐标终点Y坐标。
根据总移动尺寸、所述起始位置坐标以及所述终点位置坐标确定平移剩余空间;所述总移动尺寸包括所述显示坐标系的横坐标总宽度或/和纵坐标总高度;其中,X差值为终点X坐标与起点X坐标之差;Y差值为终点Y坐标与起点Y坐标之差;而水平新移动位置为当前水平移动位置与X差值之差;垂直新移动位置为当前垂直移动位置与Y差值之差。进而,平移剩余空间包括水平剩余空间和垂直剩余空间;其中,水平剩余空间等于所述显示坐标系的横坐标总宽度(总移动尺寸)与水平新移动位置之差。垂直剩余空间等于所述显示坐标系的纵坐标总高度(总移动尺寸)与垂直新移动位置之差。
在所述平移剩余空间大于或等于预设平移值时,将所述交通运行图的滚动条滚动至与所述终点位置坐标对应的坐标位置;所述滚动条包括水平滚动条或/和垂直滚动条;所述预设平移值为所坐标显示区域在所述交通运行图的平移方向上对应的区域尺寸的一半。其中,区域尺寸包括区域宽度和区域高度。具体地,若平移方向仅为水平方向,则预设平移值为所述区域宽度的一半。此时,若水平剩余空间大于或等于上述预设平移值,则认为平移剩余空间大于或等于预设平移值。同理,若平移方向仅为垂直方向,则预设平移值为所述区域高度的一半。此时,若垂直剩余空间大于或等于上述预设平移值,则认为平移剩余空间大于或等于预设平移值。进一步地,若平移方向包括水平方向和垂直方向,则预设平移值包括上述区域宽度的一半以及区域高度的一半;此时,仅有在水平剩余空间大于或等于上述区域宽度的一半,且垂直剩余空间大于或等于上述区域高度的一半,才能认为平移剩余空间大于或等于预设平移值。而在平移剩余空间大于或等于预设平移值时,说明对应于上述平移方向的滚动条还有可以滚动的空间,此时,可以直接将滚动条滚动到显示窗口中与所述终点位置坐标对应的坐标位置即可。
进一步地,所述平移剩余空间小于预设平移值时,保持所述交通运行图的滚动条在所述起始位置坐标不变。所述平移剩余空间小于预设平移值时,说明该终点位置坐标超出了当前显示坐标系的坐标显示区域,无法将滚动条在显示坐标系中滚动至与所述终点位置坐标对应的坐标位置,也即无法响应对交通运行图的平移请求,此时保持所述交通运行图的滚动条在所述起始位置坐标不变即可。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种运行图自适应显示装置,该运行图自适应显示装置与上述实施例中运行图自适应显示方法一一对应。该运行图自适应显示装置包括:
接收模块,用于接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端中的显示窗口的宽高尺寸;
绘制模块,用于根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;
发送模块,用于将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图。
本发明上述实施例中,根据用户终端中运行图需要显示的显示窗口的宽高尺寸,自动适配画布的基准高度(实现了交通运行图自适应匹配显示窗口高度),进而根据上述基准高度和预设交通运行数据进行绘制处理得到交通运行图并在显示窗口中进行显示,如此,本发明的交通运行图将会自动适应匹配不同用户终端的显示窗口,进而使得交通运行图在不同用户终端(比如各类系统平台和不同智能终端等)中运行时均可以被兼容,从而提升了用户体验,满足了交通运行图显示的自适应需求。
关于运行图自适应显示装置的具体限定可以参见上文中对于运行图自适应显示方法的限定,在此不再赘述。上述运行图自适应显示装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明还提供一种控制器,所述控制器包括处理器和存储器,所述存储器存储有可执行程序,所述处理器用于执行所述可执行程序以实现上述运行图自适应显示方法。关于控制器的具体限定可以参见上文中对于运行图自适应显示方法的限定,在此不再赘述。上述控制器中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。可理解地,该控制器可以视为一个或多个计算机设备,如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中运行图自适应显示方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种运行图自适应显示方法。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述运行图自适应显示方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (12)
1.一种运行图自适应显示方法,其特征在于,包括:
接收用户终端发送的运行图显示请求,获取所述运行图显示请求中包含的所述用户终端的显示屏幕中对应于当前摆放状态的显示窗口的宽高尺寸;
根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图;其中,所述画布的基准高度自适应设定为显示窗口的高度尺寸;所述画布中初始设定的显示坐标系的纵坐标高度小于或等于所述基准高度;所述画布中的显示坐标系的初始设定的横坐标宽度,根据预设交通运行数据中的初始显示时间间隔和总显示时长以及所述宽高尺寸中的宽度尺寸进行确定;
将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图;所述交通运行图具有自移动功能;
所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收滚动条的滚动请求,并将所述滚动请求按照接收时间先后插入请求队列中;所述滚动请求在拖拽位于所述显示窗口中的滚动条之后生成,或抵达预设定时滚动时间点时生成;所述滚动条包括水平滚动条或垂直滚动条;
获取所述滚动条的当前滚动坐标;
获取所述请求队列中排序最先的滚动请求对应的更新滚动坐标;
根据总滚动尺寸、所述更新滚动坐标以及所述显示窗口的坐标显示区域的区域尺寸确定滚动剩余空间;所述总滚动尺寸包括所述显示坐标系的横坐标总宽度或纵坐标总高度;
在所述滚动剩余空间大于或等于预设滚动值时,将所述滚动条滚动至所述显示窗口中与所述更新滚动坐标对应的坐标位置;所述滚动剩余空间为总滚动尺寸与滚动坐标位置之差;所述滚动坐标位置为所述更新滚动坐标与预设滚动值之差;所述预设滚动值为所述坐标显示区域在所述滚动条的滚动方向上对应的区域尺寸的一半;
在所述滚动剩余空间小于所述预设滚动值时,确定极限滚动坐标,并将所述滚动条定位至与所述极限滚动坐标对应的坐标位置;所述极限滚动坐标等于所述总滚动尺寸;
所述根据所述宽高尺寸确定所述显示窗口中的画布的基准高度,根据预设交通运行数据和所述基准高度在所述画布中进行绘制处理,得到交通运行图,包括:
将所述宽高尺寸中的高度尺寸确定为所述基准高度;
根据预设交通运行数据和所述基准高度在所述画布中绘制显示坐标系;
在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图;
所述根据预设交通运行数据和所述基准高度在所述画布中绘制显示坐标系,包括:
获取预设交通运行数据,所述预设交通运行数据包括与所述运行图显示请求对应的所有站台的上下行关系,以及按照所述上下行关系排列之后的相邻站台之间的实际距离;
根据所述实际距离和所述基准高度确定按照所述上下行关系排列之后的相邻站台之间的显示距离;
在所述画布中绘制显示坐标系,其中,所述显示坐标系的纵坐标根据所有所述显示距离以及与所有所述站台对应的所述上下行关系绘制;所述显示坐标系的横坐标根据初始显示时间间隔、总显示时长以及所述宽高尺寸中的宽度尺寸绘制。
2.如权利要求1所述的运行图自适应显示方法,其特征在于,所述在所述画布中绘制显示坐标系之后,包括:
接收显示时间间隔切换指令,获取所述显示时间间隔切换指令中包含的更新显示时间间隔;
根据所述更新显示时间间隔、总显示时长以及所述宽高尺寸中的宽度尺寸更新所述显示坐标系的横坐标。
3.如权利要求1所述的运行图自适应显示方法,其特征在于,所述预设交通运行数据还包括运行时间数据;
所述在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图,包括:
在所述显示坐标系中根据所有所述站台的上下行关系以及所述运行时间数据绘制运行线,所述运行线包括计划运行线或/和实际运行线;
根据所述运行线的斜率,在所述显示坐标系中与所述运行线间隔预设距离的位置绘制列车识别号;每一条所述运行线均对应一个所述列车识别号;
在所述显示坐标系中绘制折返线;所述折返线连接在同类型且相邻两条所述运行线之间。
4.如权利要求1所述的运行图自适应显示方法,其特征在于,所述在所述画布的所述显示坐标系中根据预设交通运行数据进行绘制处理,得到交通运行图,包括:
根据所述显示距离和所述显示时间间隔在所述显示坐标系中绘制网格线;
根据当前时间点与所述总显示时长的对应关系在所述显示坐标系中绘制当前时间标线。
5.如权利要求4所述的运行图自适应显示方法,其特征在于,所述根据当前时间点与所述总显示时长的对应关系在所述显示坐标系中绘制当前时间标线之后,还包括:
在所述显示坐标系的横坐标总宽度大于所述显示窗口中的坐标显示区域的区域宽度时,在所述交通运行图中生成水平滚动条,并对所述水平滚动条进行初始化定位。
6.如权利要求5所述的运行图自适应显示方法,其特征在于,所述当前时间标线与所述坐标显示区域的中心点对齐;
所述对所述水平滚动条进行初始化定位,包括:
将所述当前时间标线的横坐标值与预设宽度值之差确定为水平滚动坐标值;所述预设宽度值为所述坐标显示区域的区域宽度的一半;
将总滚动宽度与所述水平滚动坐标值之差确定为横向剩余空间;所述总滚动宽度是指所述显示坐标系的横坐标总宽度;
在所述横向剩余空间大于或等于所述预设宽度值时,将所述水平滚动条定位至与所述当前时间标线对应的坐标位置。
7.如权利要求1所述的运行图自适应显示方法,其特征在于,所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收所述交通运行图的平移请求,所述平移请求在用户按照移动轨迹拖拽位于所述显示窗口中的所述交通运行图之后生成;
获取所述移动轨迹在所述交通运行图的显示坐标系中的起始位置坐标以及终点位置坐标;
根据总移动尺寸、所述起始位置坐标以及所述终点位置坐标确定平移剩余空间;所述总移动尺寸包括所述显示坐标系的横坐标总宽度或/和纵坐标总高度;
在所述平移剩余空间大于或等于预设平移值时,将所述交通运行图的滚动条滚动至与所述终点位置坐标对应的坐标位置;所述滚动条包括水平滚动条或/和垂直滚动条;所述预设平移值为所述坐标显示区域在所述交通运行图的平移方向上对应的区域尺寸的一半。
8.如权利要求1至7任一项所述的运行图自适应显示方法,其特征在于,所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
监听是否接收到窗口尺寸适应请求;所述窗口尺寸适应请求在所述显示窗口的宽高尺寸发生变化时生成;
在接收到所述窗口尺寸适应请求时,根据所述显示窗口变化后的宽高尺寸更新所述基准高度,根据所述交通运行数据和更新后的所述基准高度在所述画布中进行绘制处理,得到更新后的所述交通运行图;
将更新后的所述交通运行图发送至所述用户终端,以在所述显示窗口中显示更新后的所述交通运行图。
9.如权利要求1至7任一项所述的运行图自适应显示方法,其特征在于,所述将所述交通运行图发送至所述用户终端,以在所述显示窗口中显示所述交通运行图之后,包括:
接收运行图尺寸缩放请求,获取中心坐标;所述中心坐标是指所述交通运行图中与所述显示窗口中心点对应的坐标;
获取所述运行图尺寸缩放请求中的缩放比例,保持所述交通运行图的所述中心坐标位置不变,根据所述交通运行数据和所述缩放比例在所述画布中对所述交通运行图进行绘制处理,得到更新后的所述交通运行图;
将更新后的所述交通运行图发送至所述用户终端,以在所述显示窗口中显示更新后的所述交通运行图。
10.如权利要求1至7任一项所述的运行图自适应显示方法,其特征在于,所述画布为Canvas画布。
11.一种控制器,其特征在于,所述控制器包括处理器和存储器,所述存储器存储有可执行程序,所述处理器用于执行所述可执行程序以实现如权利要求1至10任一项所述的运行图自适应显示方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述运行图自适应显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311151280.1A CN116880949B (zh) | 2023-09-07 | 2023-09-07 | 运行图自适应显示方法、控制器和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311151280.1A CN116880949B (zh) | 2023-09-07 | 2023-09-07 | 运行图自适应显示方法、控制器和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116880949A CN116880949A (zh) | 2023-10-13 |
CN116880949B true CN116880949B (zh) | 2024-01-30 |
Family
ID=88260935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311151280.1A Active CN116880949B (zh) | 2023-09-07 | 2023-09-07 | 运行图自适应显示方法、控制器和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880949B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007062554A (ja) * | 2005-08-31 | 2007-03-15 | Hitachi Ltd | 運行ダイヤ連携計画作成システム及び方法 |
CN101659269A (zh) * | 2009-09-01 | 2010-03-03 | 卡斯柯信号有限公司 | 一种y形城市轨道交通线路运行状态的显示方法 |
CN102060040A (zh) * | 2004-05-11 | 2011-05-18 | 株式会社日立制作所 | 列车运行时间表显示装置 |
CN106610920A (zh) * | 2015-10-26 | 2017-05-03 | 北京国双科技有限公司 | 数据图表显示方法和装置 |
CN114924844A (zh) * | 2022-07-18 | 2022-08-19 | 北京城建设计发展集团股份有限公司 | 一种地铁跨线路算力资源共享系统及方法 |
CN116637368A (zh) * | 2023-05-31 | 2023-08-25 | 深圳云网雾联科技有限公司 | 一种游戏界面的调整方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014110294A1 (en) * | 2013-01-09 | 2014-07-17 | Mcgushion Kevin D | Active web page consolidator and internet history management system |
KR102145577B1 (ko) * | 2013-04-01 | 2020-08-18 | 삼성전자주식회사 | 사용자 인터페이스 표시 방법 및 장치 |
-
2023
- 2023-09-07 CN CN202311151280.1A patent/CN116880949B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102060040A (zh) * | 2004-05-11 | 2011-05-18 | 株式会社日立制作所 | 列车运行时间表显示装置 |
JP2007062554A (ja) * | 2005-08-31 | 2007-03-15 | Hitachi Ltd | 運行ダイヤ連携計画作成システム及び方法 |
CN101659269A (zh) * | 2009-09-01 | 2010-03-03 | 卡斯柯信号有限公司 | 一种y形城市轨道交通线路运行状态的显示方法 |
CN106610920A (zh) * | 2015-10-26 | 2017-05-03 | 北京国双科技有限公司 | 数据图表显示方法和装置 |
CN114924844A (zh) * | 2022-07-18 | 2022-08-19 | 北京城建设计发展集团股份有限公司 | 一种地铁跨线路算力资源共享系统及方法 |
CN116637368A (zh) * | 2023-05-31 | 2023-08-25 | 深圳云网雾联科技有限公司 | 一种游戏界面的调整方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116880949A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338793B2 (en) | Messaging with drawn graphic input | |
US7975231B2 (en) | Image display updating system, server client system and drawing operation echo back script | |
US20180232135A1 (en) | Method for window displaying on a mobile terminal and mobile terminal | |
CN102707946A (zh) | 一种应用程序界面的处理方法及装置 | |
CN110570501B (zh) | 一种线条动画绘制方法及其设备、存储介质、电子设备 | |
US9892013B2 (en) | Method and device for displaying incremental update progress | |
CN113608805B (zh) | 掩膜预测方法、图像处理方法、显示方法及设备 | |
CN103985373A (zh) | 一种应用于拼接显示设备的图像处理方法及装置 | |
CN112346725A (zh) | 页面设计方法、装置、设备及存储介质 | |
CN106874008A (zh) | 一种动态桌面图标的实现方法及装置 | |
CN116880949B (zh) | 运行图自适应显示方法、控制器和介质 | |
CN107391148B (zh) | 视图元素保存方法、装置、电子设备及计算机存储介质 | |
US20240160454A1 (en) | Page configuration method, page configuration system, electronic device, and readable storage medium | |
CN107197354A (zh) | 用户界面控制方法、装置和智能电视 | |
CN108184150B (zh) | 远程标注信号的矢量控制方法、装置和信号处理系统 | |
CN114443753B (zh) | 清洁机器人的地图数据展示方法、装置、机器人以及介质 | |
CN114274117B (zh) | 机器人、基于障碍物的机器人交互方法、装置及介质 | |
CN110728736A (zh) | 图片标注方法、装置、计算机设备和存储介质 | |
CN113065044B (zh) | 行车状态查看方法、装置、设备及存储介质 | |
CN115729503A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN104199671A (zh) | 一种易移植小型图形系统的实现方法 | |
CN110502174B (zh) | 一种信息显示方法、装置、电子设备及存储介质 | |
CN113468452A (zh) | 遥感数据可视化界面交互方法、装置及电子设备 | |
CN102681755A (zh) | 一种用于对显示对象进行显示变换的方法、装置和设备 | |
JP4672395B2 (ja) | ページ閲覧装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |