基于时序特征和粒子系统的WebGIS时空过程模拟方法与流程

文档序号:12675740阅读:188来源:国知局
基于时序特征和粒子系统的WebGIS时空过程模拟方法与流程

本发明涉及地理信息可视化领域,特别是一种基于时序特征和粒子系统的Web GIS时空过程模拟方法。



背景技术:

WebGIS(网络地理空间信息系统)的发展已趋于完善,传统的二维WebGIS具备优秀的空间分析和二维数据表达能力,但存在三维几何位置信息、空间拓扑信息以及部分语义缺失等问题。

随着互联网快速普及和HTML5技术的快速发展和应用,将新一代Web3D绘图标准、WebGL技术与二维WebGIS相结合形成的三维WebGIS为GIS的发展注入了新鲜血液。与二维GIS相比,三维WebGIS可从空间的角度分析和显示客观世界对象,具有更加直观、更加真实、更加具体的优势,且不需要安装插件,拥有更好的渲染效果和兼容性。

在以往的图形学建模研究中,数学建模方法通常用来描述形状相对稳定变化的物体,几何建模方法通常用来模拟形状相对规则的物体,而对雨、雪、云等自然现象,由于没有稳定的形状,且外观不断变化,需要另一种建模工具来解决这类特殊问题。

在WebGIS发展中,通常基于二维地图进行数据分析可视化,所涉及的展示方式也以几何图形为主。近年来,随着三维WebGIS受到越来越多的重视,其研究内容也扩展到了更多的领域,需要对云、雾、雪、尘、发光轨迹等进行一些特定的现象模拟与可视化,但这类现象具备数据量大、更新频率高等特点,且用传统的WebGIS渲染技术难以实现。因此,在WebGIS中模拟形状不固定且随时间变化的自然现象是一个还待解决的问题。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,而提供一种基于时序特征和粒子系统的Web GIS时空过程模拟方法,该基于时序特征和粒子系统的Web GIS时空过程模拟方法能够解决现有WebGIS系统中主要通过规则图形进行可视化展现,无法对云、雾、雪、尘、发光轨迹等没有固定形状和外观、且随时间不断变化的自然现象进行表达,从而缺少对此类自然现象的展现和分析支撑问题。通过本发明提出的方法,实现三维WebGIS平台与粒子系统场景融合、时空现象模拟和地理信息的一体化展现,为探索时空轨迹现象的规律和后续研究提供丰富、直观的可视化支持。

为解决上述技术问题,本发明采用的技术方案是:

一种基于时序特征和粒子系统的Web GIS时空过程模拟方法,包括以下步骤。

步骤1,WebGIS场景创建:采用网络绘图标准WebGL进行WebGIS场景的创建,创建后的WebGIS场景包括三维数字地球、相机一和渲染器一。

步骤2,粒子系统场景创建:创建粒子系统场景,创建后的粒子系统场景包括粒子发射器、相机二和渲染器二。

步骤3,场景融合:将步骤1创建的WebGIS场景和步骤2创建的粒子系统场景进行融合,具体融合方法为:

a)同步坐标系统:将步骤1创建的WebGIS场景的坐标系统和步骤2创建的粒子系统场景的坐标系统进行统一,并同步到WGS84。

b)同步相机视野:坐标系统同步完成后,将WebGIS场景中相机一的视野与粒子系统场景中相机二的视野进行同步。

c)同步视点变换矩阵:将视野同步后的相机一和相机二的视点变换矩阵进行同步。

d)获取WebGIS中实体的位置关系:获取WebGIS中包含三维数字地球在内所有实体的位置信息,并将其中的地理坐标系转为世界坐标系。

e)粒子系统中映射实体:在粒子系统中创建与步骤3d中实体等大小的映射实体。

步骤4,时空过程抽象表达:场景融合完成后,进行自然现象的时空过程抽象表达,时空过程抽象表达的具体方法为:

a)定义裁剪空间:获取视点位置、视线方向和视角参数,并定义视锥体,从而定义裁剪空间。

b)定义生存属性:定义粒子系统中粒子的生存属性,包括粒子的产生时间、寿命和可视范围。

c)构造运动模型:构造粒子的运动模型,运动模型包括风场模型和重力模型。

步骤5,粒子状态更新:粒子状态更新具体包括以下步骤。

a)销毁粒子系统中生命周期结束的粒子。

b)更新WebGIS实体在粒子系统中的大小、坐标等属性。

c)根据实体的位置关系判断粒子是否被遮挡,隐藏被遮挡的粒子。

d)依据步骤4c中定义的运动模型计算粒子的速度、加速度。

e)更新粒子世界坐标。

f)更新粒子的当前年龄。

g)根据步骤4a中定义的裁剪空间范围判断粒子是否在视野内,隐藏不在视野内的粒子。

步骤6,执行渲染:分别对WebGIS场景和粒子系统场景进行渲染。

所述步骤5g中,判断粒子完全落在视锥体外的公式为:

aivx+biyy+civz+di<-rv

对于i=1,2,3,4都成立。

式中(ai、bi、ci)为平面的法向量,di为平面到远点的距离,(vx、vy、vz)为粒子的坐标,rv为平面到摄像机射线的距离。

若粒子位于视锥体的远、近、上、下、左、右6个平面内,则粒子可见且生存,否则粒子不可见而消隐。

所述步骤4a中,视锥体的四个侧面所在平面可表示为

aix+biy+ciz+di=0,i=1,2,3,4。

式中(ai、bi、ci)为平面的法向量,di为平面到远点的距离,(x、y、z)为平面上点的坐标。

所述步骤4b中,新产生粒子的数量N可以由下式给出:

N=[MN+Rand()*VN]*A/S

其中,MN为粒子数平均值,VN为其方差,A为显示区面积,S为粒子的大小,Rand()为一个-1.0到+1.0的随机数。

所述步骤3e中,WebGIS中的实体包括三维数字地球,加载的模型和几何图形。

所述步骤6中,WebGIS场景渲染包括更新地球显示状态、地球表面空间瓦片数据和矢量要素,并创建绘制和清除命令操作。

所述步骤6中,渲染粒子系统场景时,采用mipmap控制纹理细节层次,消除粒子靠近或原理视点时出现的失真或问题区域。

本发明采用上述方法后,具有如下有益效果:

1.本发明提出一种基于粒子系统和时序特征的时空过程模拟方法,能够实现雨、雪、风等自然现象产生、发展和灭亡的过程进行抽象表达与生动展现,扩展WebGIS对非规则时序现象的可视化能力。

2.通过对时空现象的可视化,能够为在WebGIS系统中探索时空轨迹呈现规律,进行历史反演和预测提供直观的可视化支持。

3.实现三维WebGIS平台与粒子系统场景融合、时空现象模拟和地理信息的一体化展现,并提供了一套跨平台、免插件、免安装的解决方案,有效降低了开发成本。

本发明弥补了WebGIS对雨、风、云等自然现象表达的不足,扩展其时空信息动态展现能力,支持反演和预测,从而为探索现象的时空变化规律提供支撑。

附图说明

图1显示了基于时序特征和粒子系统的Web GIS时空过程模拟方法的整体流程图。

图2显示了步骤3中WebGIS场景和粒子系统场景融合方法的流程图。

图3显示了步骤4中时空过程抽象表达方法的流程图。

图4显示了步骤5中粒子状态更新方法的流程图。

图5显示了步骤6执行渲染的流程图。

具体实施方式

下面结合附图和具体较佳实施方式对本发明作进一步详细的说明。

如图1所示,一种基于时序特征和粒子系统的Web GIS时空过程模拟方法,包括以下步骤。

步骤1,WebGIS场景创建:采用网络绘图标准WebGL进行WebGIS场景的创建,创建后的WebGIS场景包括三维数字地球、相机一和渲染器一等。其中,相机一和渲染器一负责观察和渲染三维数字地球。

步骤2,粒子系统场景创建:创建粒子系统场景,场景创建方法参考ThreeJS中的粒子系统初始化,创建后的粒子系统场景包括粒子发射器、相机二和渲染器二等。其中,相机二和渲染器二负责观察和渲染粒子系统。

步骤3,场景融合:将步骤1创建的WebGIS场景和步骤2创建的粒子系统场景进行融合,如图2所示,具体融合方法为:

a)同步坐标系统:将步骤1创建的WebGIS场景的坐标系统和步骤2创建的粒子系统场景的坐标系统进行统一,并同步到WGS84。

b)同步相机视野:坐标系统同步完成后,将WebGIS场景中相机一的视野与粒子系统场景中相机二的视野进行同步。

相机视野由垂直视野和水平视野组成,垂直视野根据用户操作改变,水平视野由三维场景投影后的二维平面长宽比决定。

本发明中,WebGIS场景和粒子系统场景创建完成后,相机一和相机二的水平视野也已确定,因此,本步骤中所要同步的相机视野主要是以相机一为基准将垂直视野的值同步至相机二。

c)同步视点变换矩阵:用现有技术将视野同步后的相机一和相机二的视点变换矩阵进行同步。

上述视点变换矩阵主要用于将世界坐标系中点的坐标转换至视点空间(即视点坐标系)下。

d)获取WebGIS中实体的位置关系:获取WebGIS中包含三维数字地球在内所有实体的位置信息,并将其中的地理坐标系转为世界坐标系。

WebGIS中的实体包括三维数字地球,用户根据应用需要自行加载的三维模型和几何图形(点、线、面等标绘)等。

e)粒子系统中映射实体:用渲染器二的接口在粒子系统中创建与步骤3d中实体等大小的映射实体。

步骤4,时空过程抽象表达:场景融合完成后,基于时间序列分析时空过程的特征,对时空现象产生、发展和灭亡的过程进行抽象表达。

如图3所示,时空过程抽象表达的具体方法为:

a)定义裁剪空间:调用相机一接口获取视点位置、视线方向和视角参数等,并根据相机一配置参数定义视锥体,从而定义裁剪空间。

上述视锥体的四个侧面所在平面可表示为

aix+biy+ciz+di=0,i=1,2,3,4;

式中(ai、bi、ci)为平面的法向量,di为平面到远点的距离,(x、y、z)为平面上点的坐标。

b)定义生存属性:分析粒子受力情况,如重力、风力等,根据现有算法定义粒子系统中粒子的生存属性,包括粒子的产生时间、寿命和可视范围。其中,可视范围与裁减空间共同决定粒子的可见属性。

新产生粒子的数量N可以由下式给出:

N=[MN+Rand()*VN]*A/S

其中,MN为粒子数平均值,VN为其方差,A为显示区面积,S为粒子的大小,Rand()为一个-1.0到+1.0的随机数。实验心理学研究标明,人眼对双眼注意的焦点看得清除,而对焦点之外的场景看得并不清楚,基于以上认识,对双眼的焦点动态跟踪,以此作为粒子系统的关键尺度之一。

c)构造运动模型:根据粒子属性构造粒子的运动模型,如雨滴优选运动模型包括风场模型和重力模型等,风场模型依据气体分子运动理论,重力模型依据简化重力模型。

步骤5,粒子状态更新:如图4所示,根据运动规则更新粒子状态。粒子状态更新具体包括以下步骤。

a)销毁粒子系统中生命周期结束的粒子。

粒子的生命周期指的是其从产生到消亡的全过程,生命周期的长度由步骤4b中定义的粒子寿命决定。

b)更新步骤3e中WebGIS实体在粒子系统中的大小、坐标等属性。

c)根据实体的位置关系判断粒子是否被遮挡,隐藏被遮挡的粒子。

d)依据步骤4c中定义的运动模型计算粒子的速度、加速度。

e)更新粒子世界坐标。

f)更新粒子的当前年龄。

粒子年龄为当前时间与粒子发射时间的时间差。

g)根据步骤4a中定义的裁剪空间范围判断粒子是否在视野内,隐藏不在视野和可视范围内的粒子。

判断粒子完全落在视锥体外的公式为:

aivx+biyy+civz+di<-rv

对于i=1,2,3,4都成立。

式中(ai、bi、ci)为平面的法向量,di为平面到远点的距离,(vx、vy、vz)为粒子的坐标,rv为平面到摄像机射线的距离。

若粒子位于视锥体的远、近、上、下、左、右6个平面内,则粒子可见且生存,否则粒子不可见而消隐。

步骤6,执行渲染:分别对WebGIS场景和粒子系统场景执行渲染完成时空过程可视化。

WebGIS场景渲染包括更新地球显示状态、地球表面空间瓦片数据和矢量要素,并创建绘制和清除命令等操作。

渲染粒子系统场景时,采用mipmap控制纹理细节层次,消除粒子靠近或原理视点时出现的一些失真或问题区域。

以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

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