一种基于脚本生成WEB端战略沙盘的方法与流程

文档序号:17470723发布日期:2019-04-20 05:48阅读:283来源:国知局
一种基于脚本生成WEB端战略沙盘的方法与流程

本发明属于沙盘生成领域,具体涉及一种基于脚本生成web端战略沙盘的方法。



背景技术:

随着信息化技术发展,数据可视化技术作为信息化技术中的重要组成部分,越来越被信息化行业所重视。特别是近年大数据应用崛起,越来越多的数据需通过数据可视化技术呈现给人们。而数字沙盘技术作为数据可视化技术众多展示形态的一种,其具备以下几个特点:

直观:能将数据在时间与空间维度上展开。用户可直观了解到各事物间的地理坐标,地形地貌,相对位置,时间与运动趋势等信息。

多维度:一般可视化技术都只有2-4维信息。而数字沙盘技术具备经纬度,海拔,时间,标识物,事件,声音,控制范围等丰富的展示维度。

可交互:沙盘具备按时间线递进演示的特性。演示过程中,用户可随时进行暂停,继续播放,缩放,移动,查看可选事件信息等交互

该技术在展示历史事件数据,军事战略计划数据,地质演变数据,建筑与城市规划等数据时,优势尤为突出。

现有技术一:电网仿真计算结果沙盘动态展示方法及其系统。设置电网沙盘展示场景参数、运行方式、计算类型、预想故障集;针对预想故障集进行预想故障计算,把计算结果映射成电网仿真模型,再进一步把电网仿真模型转换成用于沙盘显示的动态模型与控制模型,最后向电网沙盘输出动态模型。

现有技术一的缺陷

1.应用于电网仿真场景,无法覆盖战略演示,历史信息展示等场景。

2.该方案用于生成固定内容沙盘,无法通过编程接口定制内容。

现有技术二:接收针对三维数字沙盘模型的交互指令信息;对交互指令信息进行解析处理,获得解析后的交互指令;根据解析后的交互指令,对三维数字沙盘模型对应的单图场模型数据和偶图场模型数据分别进行调整;根据调整后的单图场模型数据和偶图场模型数据,同屏显示对应的单图场数字沙盘模型和偶图场数字沙盘模型。

现有技术二的缺点

该技术为针对沙盘渲染方案的技术,无沙盘指令与可编程接口相关方案设计。



技术实现要素:

为解决上述缺陷,本发明提供一种基于脚本生成web端战略沙盘的方法,具体步骤为:

1、记录结构:记录采用可多级嵌套的key:value关键词键值对数据结构,采用hash方式存储,便于解析器扫描记录时提高效率;

2、生成dsl脚本:一个脚本由多个记录组成,每个记录包含完整的记录属性;

3、dsl解析器解析脚本:使用dsl解析器,通过关键词识别与模式匹配技术对记录进行逐行解析,从而将dsl脚本解析为可供渲染引擎渲染的数据格式;

4、渲染引擎对记录数据进行渲染,记录数据包括标识物与事件;对标识物与事件的渲染按照时间线进行;

5、设置交互界面以及相关参数,生成战略沙盘。

其中,dsl解析器解析脚本的具体步骤为:

a、解析首条记录后,遍历所有记录行,逐行匹配关键词;

b、关键词如果可识别,进行解析,解析成功转存到内存数据结构中;否则略过该行记录,并在输出日志中报警;

c、判断单条记录是否解析完成,是则转存到内存数组中,继续下一条解析直至完成所有记录;否则继续逐行匹配关键词;

d、按开始时间对数组中所有记录按顺序排序,完成记录的解析。

其中的渲染的时间线为:渲染引擎维护2个索引,均存储所有记录,并分别按开始时间与结束时间顺序排序,按开始时间排序的索引称为开始索引;按结束时间排序的索引称为结束索引;具体步骤为:

a、渲染开始时,渲染引擎先从开始索引中取出第一条记录,并完成该条记录的渲染,首轮渲染结束;

b、从第二轮渲染开始,每次都同时取出开始索引与结束索引的第一条记录,比较两记录时间大小,若开始时间较小,则进行渲染操作;若结束时间较小,则删除掉该记录之前渲染好的标识物;并将未执行的记录重新放回到相应索引头部,待下一轮渲染再用;

c、反复执行n轮渲染,直到两个索引均为空为止。

当前渲染记录的时间与上一次渲染记录的时间相减,得出两次记录的渲染间隔,引擎会根据时间间隔与引擎播放速度属性做相应的等待,公式如下:

当前播放记录的时间会展示在沙盘右上角。

进一步的,标识物包括一般标识物和智能标识物;

一般标识物的渲染只需根据标识物种类与开始时间,直接调用地图api的添加覆盖物接口,将对应图标按照记录中的经纬度数据,放置在地图上即完成渲染;当其结束时间达到时,调用地图api的清除覆盖物接口,移除一般标识物;

智能标识物的渲染,引擎会根据其记录属性,智能生成相关热力图与控制线图示,减少内容创建者的细节绘制成本。智能标识物包括但不限于据点,前线阵地,进攻示意图;

据点的渲染,首先依据记录中的gps坐标数据,确定热力区域中心点,再根据记录中的势力值,确定热力区域面积与强度;

前线阵地的渲染,首先根据记录的起点与终点gps坐标数据确定阵地的起点与终点,再根据其他关键点绘制曲线,连接起点,终点与所有关键点;

进攻示意图的渲染,首先解析出记录的起点与终点gps数据,并在两点间绘制进攻箭头。

进一步的,事件分为直接渲染事件与间接渲染事件两种,和其他标识物类似,有开始时间与结束时间;当渲染循环达到开始条件时,直接事件会在沙盘界面上直接渲染呈现,间接事件会在属性中指定的坐标位置添加一个事件按钮,用户点击后才会展示;当渲染循环到达结束时间时,事件均自动消失;事件界面也提供按钮可立刻关闭事件。

事件记录由事件标题,事件正文,事件图片三个内容信息组成。

进一步的,交互界面设置播放、播放速度、暂停、快进和快退;

播放速度默认为10天/s,用户可通过ui调节播放速度,可调节范围在0.1天/s与300天/s之间;当前播放时间段内无记录时,每次渲染循环仅做时间校验,直到有记录的时间点时,开始新的渲染;当点击暂停按钮后,停止渲染循环,时间线与渲染都不会前进,直到重新开始播放;

快进和快退,当拖拽进度条或直接输入播放时间点时,清空开始索引与结束索引;从用户选择的时间点重新检索数据并放入索引中,再继续执行渲染循环,以达到快进快退的效果。

本发明技术方案带来的有益效果

1.本方案提供的数字沙盘创建方法,便于数字沙盘内容创建与相关数据的可视化呈现。利于观看着直观理解信息。

2.该方案提供的dsl解析器,自动化了数据整理与排序工作。内容创作者无需时刻调整记录顺序,减少工作量,降低了成本。

3.本方案提供的渲染引擎,封装了地图与渲染相关的底层技术接口,减少了数字沙盘开发成本,仅需学习并使用本方案提供的编程接口,便可生成数字沙盘内容。显著降低创建数字沙盘的门槛。

附图说明

图1为本发明的流程图;

图2为dsl解析器解析脚本记录的流程图;

图3为渲染时间线示意图。

术语定义

数据可视化:利用图形、图像处理、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。与立体建模之类的特殊技术方法相比,数据可视化所涵盖的技术方法要广泛得多。

数字沙盘:通过声、光、电、图像、三维动画以及计算机程控技术与实体模型相融合,呈现全景图的一种技术。本专利所指数字沙盘专指利用信息化技术,在web端呈现全景图的一种技术。

dsl:领域特定语言(英语:domain-specificlanguage、dsl)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。

web:即全球广域网,也称为万维网,它是一种基于超文本和http的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在internet上的一种网络服务,为浏览者在internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将internet上的信息节点组织成一个互为关联的网状结构。

标识物:代表不同单位,物品,建筑,事件的图标。可展示在沙盘上,用于表示各单位,物品,建筑,事件等。

记录:具备时间,地点,种类,事件的一条数据。是沙盘渲染时的最小不可再分数据单元。每次渲染动作都基于一天记录产生。

事件:事件种类分为自动展示与选择性展示两种,用于为观看者呈现事件信息。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细说明。

图1是发明的流程图,具体为:

1、记录结构:本方案记录采用可多级嵌套的key:value关键词键值对数据。可描述复杂的场景,结合模式匹配技术,可提高记录创建效率。因采用hash方式存储,便于解析器扫描记录时提高效率。

2、生成dsl脚本:一个脚本由多个记录组成,每个记录包含完整的记录属性,以供渲染引擎准确的渲染出所有标识物与事件。各记录顺序无需在脚本中控制,渲染引擎会依据开始时间与结束时间属性智能排序。

3、dsl解析器解析脚本:使用dsl解析器,通过关键词识别与模式匹配技术对记录进行逐行解析,从而将dsl脚本解析为可供渲染引擎渲染的数据格式。

dsl解析器解析脚本的流程如图2所示,具体步骤为:

a、解析首条记录后,遍历所有记录行,逐行匹配关键词;

b、关键词如果可识别,进行解析,解析成功转存到内存数据结构中;否则略过该行记录,并在输出日志中报警;

c、判断单条记录是否解析完成,是则转存到内存数组中,继续下一条解析直至完成所有记录;否则继续逐行匹配关键词;

d、按开始时间对数组中所有记录按顺序排序,完成记录的解析。

一般记录:

模式匹配记录:

4、渲染引擎对记录数据进行渲染,记录数据包括标识物与事件;对标识物与事件的渲染按照时间线进行。

4.1渲染时间线如图3所示:

一般与智能标识物均有开始时间与结束时间属性,且结束时间必须大于开始时间。渲染引擎维护2个索引,均存储所有记录,并分别按开始时间与结束时间顺序排序。按开始时间排序的索引以下称为开始索引。按结束时间排序的索引以下称为结束索引。

渲染开始时,渲染引擎先从开始索引中取出第一条记录,并完成该条记录的渲染。首轮渲染结束。

从第二轮渲染开始,每次都同时取出开始索引与结束索引的第一条记录,比较两记录时间大小,若开始时间较小,则进行渲染操作。若结束时间较小,则删除掉该记录之前渲染好的标识物。并将未执行的记录重新放回到相应索引头部,待下一轮渲染再用。

如此反复执行n轮渲染,直到两个索引均为空为止。

当前渲染记录的时间与上一次渲染记录的时间相减,得出两次记录的渲染间隔,引擎会根据时间间隔与引擎播放速度属性做相应的等待。公示如下:

当前播放记录的时间会展示在沙盘右上角。

4.2一般标识物渲染:

一般标识物属性较少。单个单位,地标建筑等属于一般标识物。只需根据标识物种类与开始时间,直接调用地图api的添加覆盖物接口,将对应图标按照记录中的经纬度数据,放置在地图上即完成渲染。当其结束时间达到时,调用地图api的清除覆盖物接口,移除一般标识物。

4.3智能标识物渲染:

当渲染据点,前线阵地,进攻示意图等智能标识物时,引擎会根据其记录属性,智能生成相关热力图与控制线图示,减少内容创建者的细节绘制成本。

4.3.1据点:

当绘制据点记录时,首先依据记录中的gps坐标数据,确定热力区域中心点。再根据记录中的势力值,确定热力区域面积与强度。某像素点热力强度换算公式如下:

当强度大于1时,该像素点属于热力区域,并按所属势力颜色进行染色。值越大的点,染色约深。

调用热力图绘制api,绘制出各据点/势力的实际控制区域。热力图染色区域面积与强度同势力值的换算由热力图api控制,当热力区域不重叠时,热力区域像素面积等于势力值。当热力区域重叠时,各据点记录在重叠的像素点上热力强度更强的拥有该像素点所属权。

4.3.2前线阵地:

渲染前线阵地时,首先根据记录的起点与终点gps坐标数据确定阵地的起点与终点。再根据其他关键点绘制曲线,连接起点,终点与所有关键点。

4.3.3进攻示意图:

渲染进攻示意图时,首先解析出记录的起点与终点gps数据,并在两点间绘制进攻箭头。箭头颜色与该进攻事件所属势力颜色相同。

根据进攻记录中的兵力值确定箭头宽度,箭头宽度取值范围:2~100。箭头宽度公式如下:

4.4事件渲染:

事件分为直接渲染事件与间接渲染事件两种,和其他标识物类似,有开始时间与结算时间。当渲染循环达到开始条件时,直接事件会在沙盘界面上直接渲染呈现,间接事件会在属性中制定的坐标位置添加一个事件按钮,用户点击后才会展示。当渲染循环到达结束时间时,事件均会自动消失。事件界面也提供按钮可立刻关闭事件。

事件记录由事件标题,事件正文,事件图片三个内容信息组成。

5、设置交互界面以及相关参数,生成战略沙盘。

5.1播放、播放速度、暂停

播放速度默认为10天/s,用户可通过ui调节播放速度,可调节范围在0.1天/s与300天/s之间;当前播放时间段内无记录时,每次渲染循环仅做时间校验,直到有记录的时间点时,开始新的渲染;当点击暂停按钮后,停止渲染循环,时间线与渲染都不会前进,直到重新开始播放;

5.2快进和快退

当拖拽进度条或直接输入播放时间点时,清空开始索引与结束索引;从用户选择的时间点重新检索数据并放入索引中,再继续执行渲染循环,以达到快进快退的效果。

5.3缩放&拖拽移动

web端地图sdk已提供该技术的实现,本发明不赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1