首页> 中国专利> 一种基于数字孪生的流域防洪可视化方法及系统

一种基于数字孪生的流域防洪可视化方法及系统

摘要

本发明公开了一种基于数字孪生的流域防洪可视化方法及系统,属于流域防洪技术领域。现有的流域防洪可视化技术中,流域数据量过大,影响流域防洪可视化效果。本发明的一种基于数字孪生的流域防洪可视化方法,通过流域矢量数据,得到流域瓦片;并将流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像,从而大大减少纯色水域图像的冗余存储,提升数据利用率以及水域图像检索效率,进而有效减少流域数据的数据量,便于对流域融合图像进行实时更新,提升流域防洪可视化效果,用户体验好,便于推广使用。

著录项

  • 公开/公告号CN114820990A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 浙江远算科技有限公司;

    申请/专利号CN202210746631.2

  • 发明设计人 甘振文;闵皆昇;梁兵;吴健明;

    申请日2022-06-29

  • 分类号G06T17/20(2006.01);G06T19/20(2011.01);G06T17/05(2011.01);G06T5/50(2006.01);G06F16/53(2019.01);G06F16/51(2019.01);

  • 代理机构浙江翔隆专利事务所(普通合伙) 33206;

  • 代理人许守金

  • 地址 311799 浙江省杭州市淳安县千岛湖镇阳光路688号301室

  • 入库时间 2023-06-19 16:11:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-20

    授权

    发明专利权授予

  • 2022-08-16

    实质审查的生效 IPC(主分类):G06T17/20 专利申请号:2022107466312 申请日:20220629

    实质审查的生效

说明书

技术领域

本发明涉及一种基于数字孪生的流域防洪可视化方法及系统,属于流域防洪技术领域。

背景技术

中国专利(公告号:CN 113593051B)公开了一种实景可视化方法,包括仿真模型的构建、场景模型的构建,所述场景模型的构建方法包括以下步骤:第一步,输入坐标或地名,选取模型区域,并对选取的模型区域生成纹理图;第二步,对选取的模型区域获取地理信息系统GIS高度信息,优化处理高程值,生成3D地形图;第三步,将第一步中的纹理图贴在第二步中的3D地形图表面,生成场景模型;场景模型构建完成后,与仿真模型定位结合,得到渲染模型,并对渲染模型进行渲染输出,实现实景的可视化,能够生动、美观的展示仿真模型,用户体验好,便于推广使用。

所述第二步中,3D地形图的空间分布通过X-Y水平坐标系统或是经纬度进行描述,并利用真实地形的采样点,通过插值或剖分方法,建立多边形集合模拟地形表面;所述真实地形的采样点数据通过数字高程模型DEM获取;所述数字高程模型DEM包括某一区域D上的m维向量有限序列Vi、相关区域内平面坐标(x,y)与高程值之间的映射关系。

但上述方案利用真实地形的采样点,通过插值、剖分等方法,建立多边形集合模拟地形表面。真实地形的采样点数据通过数字高程模型获取。这种地图绘制缺陷是数据量大,地图放大缩小依赖计算性能。

特别对于流域防洪场景,短时间内水域环境可能会有较大变化,并且需要实时更新,如采用上述方案,将导致流域数据量过大,进而无法实现流域防洪图像的及时更新以及无级平滑顺畅缩放,影响流域防洪可视化效果,用户体验差,不利于推广使用。

发明内容

针对现有技术的缺陷,本发明的目的一在于提供一种通过流域矢量数据,得到流域瓦片;并将流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;再利用水域图像索引和水域瓦片图像,得到流域地图;最后将某流域水域数据的结构以及相应的属性值融合到流域地图上,得到流域融合图像,实现流域防洪可视化,方案科学合理,切实可行的基于数字孪生的流域防洪可视化方法。

针对现有技术的缺陷,本发明的目的二在于提供一种通过流域矢量数据,得到流域瓦片;并将流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;再将水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像,从而大大减少纯色水域图像的冗余存储,提升数据利用率以及水域图像检索效率,进而有效减少流域数据的数据量,便于对流域融合图像进行实时更新,进而可以实现流域防洪图像的无级平滑顺畅缩放,提升流域防洪可视化效果,用户体验好,便于推广使用,特别适用于流域防洪场景,能够很好应对水域环境短时间内的较大变化的基于数字孪生的流域防洪可视化方法及系统。

为实现上述目的之一,本发明的第一种技术方案为:

一种基于数字孪生的流域防洪可视化方法,

包括以下步骤:

第一步,获取某流域以及周边地貌的经纬度;

第二步,根据第一步中的经纬度,得到流域矢量数据;

第三步,对第二步中的流域矢量数据进行切片,得到流域瓦片;

第四步,将第三步中的流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;

所述水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像;

第五步,根据第四步中的水域图像索引和水域瓦片图像,得到流域地图;

第六步,将某流域水域数据的结构以及相应的属性值融合到第五步中的流域地图上,得到流域融合图像,实现流域防洪可视化。

本发明经过不断探索以及试验,通过流域矢量数据,得到流域瓦片;并将流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;再利用水域图像索引和水域瓦片图像,得到流域地图;最后将某流域水域数据的结构以及相应的属性值融合到流域地图上,得到流域融合图像,实现基于数字孪生的流域防洪可视化,方案科学合理,切实可行。

进一步,本发明的水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像,从而大大减少纯色水域图像的冗余存储,提升数据利用率以及水域图像检索效率,进而有效减少流域数据的数据量,便于对流域融合图像进行实时更新,进而可以实现流域防洪图像的无级平滑顺畅缩放,提升流域防洪可视化效果,用户体验好,便于推广使用,特别适用于流域防洪场景,能够很好应对水域环境短时间内的较大变化。

作为优选技术措施:

某流域以及周边地貌的经纬度通过地理信息系统GIS获取。

作为优选技术措施:

所述流域瓦片为数据库文件SQLite3,其包括表数据table或/和视图数据view,其将地理空间数据存储为点、线和多边形,并将流域的地理坐标转换为屏幕坐标,以整数形式存储,整型比浮点型所需的存储空间更小,大大降低了瓦片的传输成本;

所述表数据table为元数据表,用来描述存储的数据,其包括名称name列、经纬度value列。

作为优选技术措施:

所述融合的方法如下:

构建文件生成模型json,将某流域水域数据的文件vtk转为3D绘图协议WebGL能处理的json文件。

作为优选技术措施:

所述某流域水域数据的文件vtk包括单元数据、拓扑结构、几何结构以及属性数据;

所述单元数据,由若干点数据连接形成;

所述拓扑结构,包括若干单元数据,用于描述某流域水域数据的构成形式;

所述几何结构,包括若干点数据坐标,用于描述某流域水域数据的空间位置关系,常见的变换有旋转、平移和放缩;

所述属性数据,用于对拓扑结构和几何结构信息的补充,可以是某个空间点的温度值,也可以是某个单元的质量等。

作为优选技术措施:

所述文件生成模型json的构建方法如下:

步骤21,获取点数据的坐标信息,

获取的方法如下:

先获取所有点数据的数量,然后遍历每个点数据,将每个点数据的三维坐标(x,y,z)依次保存到三维坐标数组中,按平铺的结构保存,方便后续渲染阶段使用;

步骤22,根据步骤21中的坐标信息,构建顶点索引;

顶点索引的构建方法如下:

先获取所有单元数据;

然后遍历每个单元数据,得到每个单元数据所包括的点数据的顶点索引;

将顶点索引依次保存到索引数组中,按平铺的结构保存,方便后续渲染阶段使用;

步骤23,通过顶点索引引用顶点坐标,可以避免重复保存顶点坐标数据,显著减少整体的数据量;

步骤24,根据步骤23中的顶点坐标,获取每个点数据的属性值;

步骤25,将步骤24中的属性值,依次保存到属性数组中,并使得属性值与点数据一一对应;

步骤26,三维坐标数组、索引数组、属性数组形成3D绘图协议WebGL能处理的顶点位置数据,实现将某流域水域数据的文件vtk转为json文件的目的。

作为优选技术措施:

还包括对流域融合图像的渲染,其包括以下步骤:

步骤31,将流域融合图像从模型空间转化为齐次裁剪空间;

步骤32,将步骤31中的齐次裁剪空间变换到屏幕空间;

步骤33,将步骤32中的屏幕空间中的图元离散化为片元;

步骤34,将步骤33中的片元进行上色,完成流域融合图像的渲染。

作为优选技术措施:

所述片元为被三角形网格所覆盖像素区域,其包括屏幕坐标、深度、法线、纹理,用于计算出每个像素的颜色。

作为优选技术措施:

所述上色为对照颜色表lookuptable,对读取到的物理量进行着色处理,其具体过程如下:

步骤41,设置默认初始颜色;

步骤42,根据步骤41中的初始颜色,计算颜色数值;

步骤43,对步骤42中的颜色数值进行归一化处理,并赋值到属性对象attribute中;

步骤44,根据步骤43中的属性对象attribute,设置颜色表的参照表,同时进行分割处理,将参照表加载到颜色表中;

步骤45,遍历需要着色的属性元素,通过步骤44中的颜色表,获取对应属性元素的颜色值,所述颜色值包括第一原色、第二原色、第三原色;

步骤46,根据步骤45中的颜色值,通过顶点索引赋值到颜色数组colors中,覆盖掉默认初始颜色,实现流域融合图像的上色。

为实现上述目的之一,本发明的第二种技术方案为:

一种基于数字孪生的流域防洪可视化系统,

其包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种基于数字孪生的流域防洪可视化方法。

与现有技术相比,本发明具有以下有益效果:

本发明经过不断探索以及试验,通过流域矢量数据,得到流域瓦片;并将流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;再利用水域图像索引和水域瓦片图像,得到流域地图;最后将某流域水域数据的结构以及相应的属性值融合到流域地图上,得到流域融合图像,实现流域防洪可视化,方案科学合理,切实可行。

进一步,本发明的水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像,从而大大减少纯色水域图像的冗余存储,提升数据利用率以及水域图像检索效率,进而有效减少流域数据的数据量,便于对流域融合图像进行实时更新,进而可以实现流域防洪图像的无级平滑顺畅缩放,提升流域防洪可视化效果,用户体验好,便于推广使用,特别适用于流域防洪场景,能够很好应对水域环境短时间内的较大变化。

附图说明

图1为本发明流域防洪可视化方法的一种流程图;

图2为某流域防洪时应用本发明的一种可视化效果图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。

如图1所示,本发明流域防洪可视化方法的一种具体实施例:

一种基于数字孪生的流域防洪可视化方法,包括以下步骤:

第一步,获取某流域以及周边地貌的经纬度;

第二步,根据第一步中的经纬度,得到流域矢量数据;

第三步,对第二步中的流域矢量数据进行切片,得到流域瓦片;

第四步,将第三步中的流域瓦片进行拆分,得到水域图像索引和水域瓦片图像;

所述水域图像索引和水域瓦片图像通过视图的方式进行关联,若干水域瓦片图像索引指向同一个水域图像,从而大大减少纯色水域图像的冗余存储,提升磁盘利用率以及水域图像检索效率;

第五步,根据第四步中的水域图像索引和水域瓦片图像,得到流域地图;

第六步,将某流域水域数据的结构以及相应的属性值融合到第五步中的流域地图上,得到流域融合图像,实现流域防洪可视化。

本发明流域防洪可视化方法的一种最佳具体实施例:

一种基于数字孪生的流域防洪可视化方法,包括流域地图建模、模型融合、模型渲染三个阶段。首先采用真实的地理信息系统GIS信息以及矢量瓦片进行地图建模,通过地图信息数据模型Mapbox GL将地图模型展示出来;然后运用json文件生成算法将仿真模型转化threejs可用的json文件;最后将实景模型和仿真模型相互定位融合,进行渲染对照lookuptable颜色表,对读取到的物理量进行着色处理,实现防洪流域的数字孪生,从而有效降低试错成本。

着色处理包括以下内容:

先通过设置默认初始颜色,将颜色的数值归一化处理并赋值到attribute对象中;再设置颜色表的参照表同时进行分割处理加载到颜色表中;最后遍历需要着色的属性元素,通过颜色表拿到对应的r,g,b三个颜色值,进而通过索引赋值到colors数组中,覆盖掉默认初始颜色值后更新模型。

本发明流域地图的一种具体实施例:

传统地图绘制是基于真实地形数据的多边形模拟,其利用真实地形的采样点,通过插值、剖分等方法,建立多边形集合模拟地形表面。真实地形数据的来源主要是数字地形模型或数字高程模型。这种地图绘制缺陷是数据量大,地图放大缩小依赖计算性能。

本发明采用矢量瓦片进行流域地图的构建,矢量瓦片一种轻量级数据格式,用于将地理空间数据存储为点、线和多边形,形成流域瓦片。相对于栅格地图,矢量地图数据包缩小70%,使得流域地图能实现无级平滑顺畅缩放,并且能动态实时改变流域地图的外观和感觉,如根据一天中的时间变化使地图变亮或变暗,根据水流变化及时更新模型。

本发明的mapbox通过sqlite存储流域矢量数据geoJSON,矢量数据切片为流域瓦片后,其坐标从地理坐标转换为屏幕坐标,对应存储x/y/z和对应的瓦片数据blob,流域矢量数据与流域瓦片通过索引tile_id相关联。

流域瓦片为SQLite3文件,其包括一个名为“metadata”的table表或者view视图。table表为“元数据”表,用来描述存储的数据,其至少设有两列,一列是“name”,一列是“value”,这两列都是text类型的。

同时这个表必须包括一些特定的行列row,例如name=“name”,value=“数据集名称”;name:“format”,value:“pbf”代表存储的瓦片格式;name:“center”,value:“-122.1906,37.7599”,1代表这个数据集存储的数据中心在这个经纬度处。必须要有一个名为“tiles”的表,这个表主要存了x/y/z和对应的瓦片数据(BLOB)。

map表存的是zoom_level/tile_column/tile_row/tile_id,images表存的是tile_data/tile_id,tiles表是基于map表和images表的一个视图。对于不同zoom_level/tile_column/tile_row三元组,在map表中对应的tile_id有可能是相同的,这样最终通过tiles视图在images表中对应的tile_data就是同一个,这样做可以减少冗余瓦片。

本发明是基于矢量瓦片绘制流域地图模型,通过拆分瓦片索引和瓦片原始图像的存储,使用视图的方式来关联二者,这样成千上万的瓦片索引就可以指向同一个瓦片图像,从而大大减少纯色瓦片的冗余存储,提升磁盘利用率以及瓦片检索效率。矢量数据切片为瓦片后,其坐标从地理坐标转换为屏幕坐标,以整数形式存储。整型比浮点型所需的存储空间更小,大大降低了瓦片的传输成本。

本发明模型融合的一种具体实施例:

由于描述某流域水域数据的结构以及相应的属性值的仿真模型文件格式为vtk文件,而Three.js不能直接读取不包含polydata信息的vtk文件,因此,本发明通过json文件生成算法将仿真模型vtk文件转为WebGL可以处理的json文件,其具体包括以下内容:

首先,读取vtk仿真模型文件,仿真模型文件由数据对象所组织成一种结构以及相应的属性值所构成,包括数据的拓扑结构(Topology)、几何结构(Geometry)以及属性数据等。

拓扑结构描述了对象的构成形式;几何结构描述了对象的空间位置关系,常见的变换有旋转、平移和放缩;属性数据是对拓扑结构和几何结构信息的补充,可以是某个水域点的温度值,也可以是某个水域的面积等。

换言之,某流域的点数据(Point Data)所定义的一系列坐标点构成了数据集的几何结构;点数据的连接形成单元数据(Cell Data),由单元数据形成了数据集的拓扑结构。

利用相应的数据读取插件,将模型的数据集进行解析,获取模型数据

获取模型点坐标信息,主要方法如下:先获取所有点的数量,然后遍历每个点,将每个点的三维坐标(x,y,z)依次保存到数组,按平铺的结构保存方便后续渲染阶段使用。

获取顶点索引,主要方法如下:先获取所有单元(Cell)的数量,然后遍历每个单元,将每个单元所包含的点的索引依次保存到数组,按平铺的结构保存方便后续渲染阶段使用。通过索引的方式引用顶点坐标,可以避免重复保存顶点坐标数据,显著减少整体的数据量。

获取坐标点标量信息,主要方法如下:对每一种属性数据,获取其对应于每个顶点的属性值,并依次保存到数组,从而能与顶点一一对应。

然后,上述从vtk模型获取到的数据拼装成Three.js可以加载的json文件。写入点的坐标数据、索引数据与物理量数据。在创建model.json时,所设置元数据类型为BufferGeometry,它是用来代表所有几何体的一种方式,其本质上是一系列BufferGeometrys的名称,每一个BufferGeometry代表一种数据类型的数组:position,normal,color,uv等等,BufferGeometrys代表每个顶点所有数据的并行数组。物理量数据通常是与数据集的点数据或者单元数据相关联,主要用于描述数据集的属性特征,对数据集的可视化实质上就是对物理量数据的可视化,它主要有标量数据和矢量数据两种类型,比如,温度、压力等单值函数可以看作1×1的数组,速度等矢量数据可以看作3×1的数组(沿X、Y和Z三个方向的分量)。

进而,通过建立空向量pointPositionDatas与pointIndexDatas,分别用于存放所有点的位置坐标与索引,遍历每一个单元,将所有点的坐标与索引分别依次加入到两个数组中,形成一个大小为cellNum×3×3的pointPositionDatas,最后将pointPositionDatas写入model.json文件。在构造物理量数组的过程中,首先从vtriangleData中获取物理量的个数numberOfScalars和名称scalarName,然后对每一个scalarName基于pointPositionDatas中点的排列方式,即pointIndexDatas,形成数组scalarValues,最后将scalarValues与scalarName写入model.json。

本发明模型渲染的一种具体实施例:

通过加载器加载生成的

模型渲染可以分成三个阶段,第一阶段为应用阶段,就是模型的生成过程。第二阶段为几何阶段,即将顶点坐标从模型空间转化为齐次裁剪空间的阶段,这一个由GPU主导的阶段。几何阶段将把CPU在应用阶段发来的数据进行进一步处理,而这个阶段又可以进一步细分为若干个流水线阶段,可以类比理解为工厂流水线上进行的一道道工序。

第三阶段为光栅化阶段,该阶段主要是将变换到屏幕空间的图元离散化为片元的过程。检验屏幕上的某个像素是否被一个三角形网格所覆盖,被覆盖的区域将生成一个片元(Fragment)。当然,并不是所有的像素都会被一个三角形完整地覆盖,有相当多的情况都是一个像素块内只有一部分被三角形覆盖,被覆盖的区域被划为片元,但是片元不是真正意义上的像素,而是包含了很多种状态的集合(比如屏幕坐标、深度、法线、纹理等),这些状态用于最终计算出每个像素的颜色。最后通过片元着色器给每个片元进行上色,如此便能看到屏幕里的流域图像,实现流域防洪可视化。

为了提高动画性能,本发明采用了数据预加载的方法。通过预先加载多个仿真结果数据帧,渲染动画时可以流畅播放,不会因临时加载数据导致卡顿。

播放过程中,每一帧渲染时,将该帧的物理量的值发送给片元着色器,从而片元着色器能准确渲染该帧的每个片元的颜色,重现仿真结果。

如图2所示,本发明的一种应用实施例:

本发明运用矢量瓦片和ThreeJS技术将流域地图实景与流域仿真数据进行融合,实现某流域以及周边地貌的可视化展示。

应用本发明方法的一种设备实施例:

一种计算机设备,其包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种基于数字孪生的流域防洪可视化方法。

应用本发明方法的一种计算机介质实施例:

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种基于数字孪生的流域防洪可视化方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号