当前位置:首页 期刊杂志

基于游戏引擎的机场鸟击风险三维可视化方法①

时间:2024-05-04

彭俊超, 林广发,2,3, 梁丽娟, 梁春阳

1(福建师范大学 地理科学学院,福州 350007)

2(福建省陆地灾害监测评估工程技术研究中心,福州 350007)

3(海西地理国情动态监测与应急保障研究中心,福州 350007)

1 引言

鸟击(bird strike) 又称鸟撞,是指飞机等航空器与天空中飞行的鸟类相撞并引发安全事故的飞行事件,具有突发性和多发性的特点[1]. 在航空安全中,鸟击不仅会带来巨大的财产损失,严重时甚至会带来机毁人亡的灾难. 由于机场选址常位于城郊,周边常常存在鸟类栖息繁殖的场所,且生物量丰富,为不同生态位鸟类提供丰富的食物. 加之飞机起降过程飞行高度较低,导致超过百分之九十的鸟击事件发生在机场和机场附近空域[1],因此,机场周边鸟击防范工作十分必要.

近十几年来,国内许多机场应民航局要求进行了机场周围鸟类生境及鸟击风险评估的调研,主要通过调查机场周边鸟类动态时空分布情况,统计鸟情高度变化、鸟情年际变化、鸟情季节变化、鸟类生境分布特征、鸟类多样性等[2-5],以此进行鸟击风险评估,其调查结果多为统计报表,平面风险图等,对风险的描述不够直观,缺少三维可视化展示. 国外在鸟击防范这一领域研究较早[6],处于领先水平,Fisher J[7]将GIS技术用于机场鸟情管理与分析; Shamoun-Baranes J等[8]使用栅格数据格式存储鸟击风险值,并用多层栅格数据展示不同高度鸟击风险; Walter WD等[9]在机场使用鸟类三维飞行模式来识别航空飞机碰撞的热点. 这些都对鸟击风险可视化的研究有重要参考价值.

三维可视化鸟击风险可以将充满于机场周边自然空间的鸟击风险视作一连续标量场. 三维标量场是指每一个点位的属性值都可以用一个单一标量来表示的空间场[10],其可视化技术应用在许多领域用来展现抽象、不可见的事物. 如气象场模拟[11]、海洋特征提取可视化[12]、电磁场仿真[13]等. 本文通过GIS技术计算鸟击风险值,在虚拟三维地理场景下可视化鸟击风险标量场,并与鸟类飞行路径、机场净空区空域叠加. 将此方法应用于在建的厦门翔安国际机场,为机场建设指挥部提供一份更直观的鸟击风险分析结果.

2 机场三维空间鸟击风险可视化方法

2.1 三维空间鸟击风险评估模型

近年来,国内许多机场都进行了鸟击风险评估,并提出了一些与鸟击风险相关的评价指数,如:鸟类多样性指数、均匀性指数、鸟种优势度、RB频率指数等;其中,相对数量成分、相对时间成分、相对空间成分、相对重量成分、相对集群情况和鸟类活动距飞行区的距离,鸟类飞行高度这7个影响因子较为重要. 本文将机场周边三维空间划分为立体格网,每个空间单元视为具有相同的鸟击风险,鸟击风险值由单元基底的土地利用类型、高度位置以及距离机场距离决定.鸟类生境风险评估取决于某类生境下不同鸟种的居留类型、体长、数量等级、飞行高度.

首先通过鸟类生境调查,设计遥感分类体系并进行土地利用分类. 然后根据飞行高度范围对每种生境进行鸟群种类的统计,计算该高度层不同生境风险值,计算公式如下:

其中,h为该高度层的中间值,用于标识高度层,Rih为该高度层生境i风险值,Resj为该生境下鸟种j的居留类型得分,Numj为该生境下鸟种j的数量等级得分,Lj为鸟种j的体长,n为该生境下鸟种数量. fj(h)函数表示鸟种j在该高度的风险权重,Hj为其飞行高度,ΔHj为鸟种j在飞行高度上的活动范围,若其活动范围在高度层h之下,则认为该鸟种在此层没有威胁; 若其在该高度层之上,则认为距离该鸟种平时飞行高度越近的单元风险值越高. 再将各高度层的生境风险与对应的土地利用类型进行映射,求得各平面单元生境风险. 最后与机场净空区进行叠加分析,距离其越近风险权重越高,求得整个三维空间各个位置的鸟击风险值.

2.2 三维空间单元地址与鸟击风险值的统一存储

本文鸟击风险值分高度层进行存储,将DEM数据统一加上各高度层高度值存储,这样既保留了DEM的空间位置又加上了鸟击风险高度信息,可以据此确定空间位置,而且符合飞行高度以地表高度起算.

在叠加高度层时,首先将风险值标准化为5个等级,在映射有风险值的土地利用图层上添加高度字段,然后将标准化后的风险值记录在高度字段的小数点后末位,根据该值选择适宜的分辨率进行栅格化,再与DEM值相加,DEM像元值保留两位有效数字,把多个高度区间的风险栅格数据输出成多个ASCII通用文本数据,以此作为Unity3D构建三维风险标量场的寻址依据,且能直接读取到单元地址的鸟击风险值. 下面以100 m为分层高度为例,如图1所示,两个格网分别代表同一地理位置不同高度层的片段格网,小数点后末位为该位置的鸟击风险值.

图1 鸟击风险值存储

这种将风险值储存在栅格值小数点后的数据格式,还可以在小数点后按规定格式存储相同空间位置的其他多个参数,也可以作为复杂三维标量场可视化的数据结构. 其优点在于:节约存储空间,减少读取次数,提高检索效率; 但是只适合存储等值面规整的标量场数据,无法适配等值面复杂、流动性较强的标量场数据.

2.3 基于Unity3D的机场鸟击三维风险可视化

2.3.1 Unity3D游戏引擎

Unity3D是由Unity Technologies公司开发的跨平台专业游戏引擎. 作为游戏引擎相较于三维渲染引擎、三维仿真GIS平台其优势在于交互能力强,且在三维渲染能力上也不逊色. 该平台适用于地理大场景的构建,能实时的处理大量的三维模型,可以在“所见即所得”的操作平台下进行场景建模,具有高效率和高质量等特点. 其提供给开发者的灯光组件、粒子系统、物理引擎、碰撞检测等组件,在本文的鸟击风险的可视化中十分适用.

2.3.2 机场空域三维场景可视化

虚拟三维地理场景仿真是机场鸟击风险可视化效果的基底,它不仅包含空间位置信息,而且可以全方位的展示一块地理区域,同时给观者一种身临其境的感受. 机场空域三维场景建模主要内容包括虚拟三维地形模型与机场净空区模型.

大规模地形可视化是大型户外环境模拟不可缺少的组成部分[14],三维地形模型需要包括高程信息,影像贴图,地名位置信息. 机场净空区是指限制机场及其周围地区的物体高度的规划区域,由升降带和障碍物限制面组成,障碍物限制面包括:起飞爬升面、进近面、内进近面、内水平面、过渡面、内过渡面、锥形面和复飞面[15]. 机场净空区条件直接关系到飞机的安全起降,同时该区域也是鸟击事件的高发区[16]. 所以净空区的展示作为机场鸟击风险的重要参照需要叠加在场景中. 此外,还需要添加适宜的光照和天空,使场景更加真实.

2.3.3 鸟击风险三维可视化

(1) 鸟群飞行路径可视化

鸟类飞行路径与机场净空区的叠置分析是鸟击风险评估的重要组成部分. 通过观察鸟类飞行路径可以识别航空碰撞热点区域,更直观的感受鸟击风险. 鸟类飞行路径可视化效果分两种:一种为宏观展示线形飞行路径,另一种直接模拟鸟群在场景中飞行,其中线形飞行路径与远景鸟群模拟通过Unity3D的粒子系统实现,粒子是简单的图像或网格,每个粒子代表小部分流体或无定形实体,并且所有粒子的效果一起产生完整实体的印象,可以将其组成线形路径实体或鸟群实体.

但是粒子系统模拟的鸟群只适用于远景观看,当视点接近该鸟群时则只能观看到颗粒状的点在运动,为了优化近景效果,需要使用LOD技术切换成近景的鸟群仿真模拟. 鸟群飞行仿真包括:鸟类飞行动作模拟和鸟群行为仿真. 通过Unity3D的Sprite Editor实现鸟类飞行动画效果,通过智能体技术实现鸟群的向目标飞行、跟随头鸟、集群、漫游、靠近减速、避免碰撞等行为的模拟.

(2) 鸟击风险场可视化

目前常用的三维标量场可视化方法主要有面绘制方法和直接体绘制方法两种[17]. 由于鸟击风险数据为规则格网,且对细节要求不高,只需提高栅格分辨率即可提高精度,故选用直接体绘制方法,该方法把整个单元看作由同一物质构成,用同一色彩来绘制该单元的六个面并填充[18]. 在Unity3D中可以采用内置的Cube构建标量场的单元. 读取风险值存储文件,获取场元位置和风险值,并用不同颜色标识不同风险等级.

2.3.4 鸟击风险一体化表达

鸟击风险一体化显示的前提是统一的三维地理坐标系. 首先需要将各项数据的GIS经纬度坐标转换为Unity3D中的世界坐标. 然后根据世界坐标构建三维地形模型,叠加机场净空区模型,再在场景中进行鸟击风险可视化. 由于鸟击风险的评估是以地表起算的,所以鸟击风险场的构建需要以地形高度为起算点进行搭建,最终形成风险场与三维地形的镶嵌结构.

风险场景融合完毕后,为了将场景的宏观和细节都展示给用户,本方法设置了两种场景浏览方式:一是摄像机漫游,二是飞机飞行模拟,操控游戏手柄,模拟飞机在风险场景中飞行,实时渲染渲染周围3×3×3的三维风险,并在UGUI构建的数据面板中显示当前地理位置、飞行高度、风险值信息.

3 系统设计与实现

3.1 系统总体设计

机场鸟击风险三维可视化系统主要用于机场建设及运营过程中的鸟情动态监测和管理,系统选用Unity3D平台开发,使用UGUI设计图形用户界面,实现了上述鸟击风险可视化方法. 系统分3个层次设计开发,分别为数据层、应用层、表现层,系统架构如图2所示. 其中数据层空间数据包括:DEM、遥感影像、土地利用面状矢量数据、鸟类栖息地点状矢量数据、鸟类风险路径线状矢量数据、机场净空区面状矢量数据、鸟击风险标量数据. 属性数据库包括:鸟类基础属性表、鸟情观测记录表、土地利用与风险等级对照表.

图2 系统架构图

系统集成了地理信息技术、虚拟现实技术、物理仿真技术和严肃游戏引擎内核,直观的展示了鸟击风险来源与空间分布. 具体功能模块如图3所示.

3.2 系统实现与关键技术

3.2.1 基于GIS的三维空间鸟击风险评估

首先根据本文叙述的鸟击风险评估模型,读取属性数据库相关数据进行统计计算,将计算结果更新在土地利用与风险等级对照表中,表结构如表1所示,以高度字段为主键,其余字段为遥感影像土地利用分类体系对应的风险值.

图3 系统功能模块图

表1 土地利用与风险等级对照表

然后,将表中数据写入对应土地利用面状矢量数据的属性表中. 调用ArcEngine的GP服务,根据风险字段值和DEM像元大小进行栅格化. 再获取用户输入的净空区权重与距离权重,进行叠置分析和缓冲区分析. 最后进行栅格运算,将加权结果根据本文存储方法进行存储输出.

3.2.2 风险场景构建

(1) 机场空域三维场景构建

首先读取ASCII格式的DEM数据,为Mesh的顶点、三角面、贴图坐标赋值,创造Mesh并用遥感影像贴图. 再将3DMAX建模的机场净空区模型导入,根据坐标转换结果放置,读取用户输入参数调整其颜色和透明度. 最后添加光照和天空盒子,并调整材质金属性和光滑程度,优化显示效果.

(2) 三维标量场构建

读取标量场数据的角点经纬度,高度以及风险值,进行坐标转换后根据对应位置、分辨率、高度,使用CreatePrimitive逐行创造Cube,位置和高度转换后用于transform.position的赋值,分辨率对应Cube的transform.localScale; 再根据每个单元对应风险值使用GetComponent<Renderer>().material.color进行风险值对应颜色的渲染,并用改变材质属性为Fade,即玻璃体可穿过,再设置透明度. 最后使用UGUI绘制图例.

3.2.3 基于粒子系统的鸟类飞行路径模拟

(1) 线形鸟群飞行路径模拟

制作线形路径预制件:创建一个粒子系统,根据场景设置粒子大小. 循环发射粒子,配合单位时间生成粒子数,计算初始速度,使粒子间保持较小的距离,连成虚线.

从空间数据库中读取鸟飞路径的经纬度及高度存入三维数组,坐标转换后,取第一个点为起点,放置路径预制件,计算路径点之间的方向和距离,并得到每前后两个点的距离和总的路径长度,据此调整Velocity over LifeTime的Curve,使粒子沿着路径进行运动,同时将起始点到终止点的时间返回,给粒子生命周期StartLifeTime赋值,控制粒子消亡. 最后定义不同路径上粒子的StartColor,实现用不同颜色标识鸟飞路径,并用UGUI绘制图例.

(2) 远景鸟群飞行模拟

Unity3D的粒子系统提供了丰富的参数设置,开发者可以根据用户输入的形态、数量、时间间隔等修改粒子系统参数,实现鸟群形态的模拟. 如最大粒子数MaxParticles用于改变鸟群数量; Shape Module中不同的Shape属性用于改变鸟群形态,其中Circle可用于模拟由头鸟领队的V形鸟群,Hemisphere可用于模拟成团飞行的鸟群.

将一个粒子系统作为一个鸟群GameObject,获取路径点间方向向量,实现物体逐点运动. 最后设置时间间隔,在起始点和终止点不断生成鸟群,并在其达到目的地时消亡.

3.2.4 基于智能体的鸟群近景仿真

首先导入三组飞鸟模型:振翅、滑翔、扑翼,将三组模型轮转变换,得到鸟的动画效果,将其存为预制件.在远近景切换时根据原粒子系统鸟群数量按一定比例复制生成相当数量的鸟群. 保持在场景中逐点运动的方向不变,将每一只鸟视为一个智能体,为其添加刚体组件,挂载行为规则代码.

行为规则的实现:假想鸟群个体间存在聚力和分力,以力推动智能体的运动. 用Unity3D中的三维向量Vector3来模拟的力对鸟的牵引. 根据力的大小、方向模拟个体的飞行方向和速度. 以个鸟智能体为球心,以设定参数为半径发射射线,返回碰撞到的所有其他智能体,根据返回的距离确定其行为.

3.2.5 鸟击风险交互式浏览

(1) 摄像机漫游

根据获取到的场景大小自动设定Camera的Far参数调整视距,使用transform组件实现第一人称场景漫游.

(2) 飞机飞行模拟

导入飞机模型,在飞机模型上挂载摄像机,调整位置和视距,编程实现游戏手柄控制飞机的俯冲、拉升、向左、向右,模拟飞机在上述场景中飞行. 由于飞机穿过风险标量场时颜色重叠,导致显示效果不佳,故将初始标量场颜色均赋为透明,使用Unity3D提供的碰撞器组件,实现飞机与风险场元的碰撞检测,利用OnTriggerEnter(),OnTriggerExit(),OnTriggerStay()函数来实现同步渲染周围三维风险.

4 应用案例

4.1 研究区概况

在建的厦门翔安机场位于大嶝岛东南侧,处在东亚-澳大利西亚迁徙路线上,具有冬候鸟和过境鸟108种,滩涂、鱼塘、盐场等滨海湿地为水鸟提供了丰富的食物,是厦门市水鸟重要的迁徙停歇地和越冬地; 机场场址周边6×12平方公里为鸟击高频率发生区,在该区域建设民航机场对区域水鸟的生存造成比较大的影响,鸬鹚、鹭类、鴴鹬类、鸥类和雁鸭类等水鸟对机场民航飞行具有潜在的鸟击威胁.

4.2 可视化效果展示

翔安机场净空区总面积合计288平方千米,其中起飞爬升面、内进近面、过渡面范围内飞机活动密集,为了防范鸟击风险需经常驱鸟; 而进近面、内水平面和锥形面区域内,飞机的飞行高度较高或者只在特定情况才盘旋活动,没有驱鸟,相对而言鸟类受影响较小.机场净空区模型及三维地理场景可视化效果如图4所示.

图5左、右两幅分别是翔安机场周边威胁程度较高的鸟类鸬鹚在高空飞行的实景图和粒子系统的远景模拟效果; 图6左、右两幅分别是铁嘴沙鸻鸟群的实景图与智能体鸟群模拟的近景仿真; 对比可见模拟效果较好. 图7为鸟击风险评估矢量结果图,其经过数据处理与可视化到Unity3D平台上的效果如图8所示.图9为飞机飞行模拟对最终场景的浏览.

此外,在数据条件满足的情况下,还可以进行考虑季节或月份的鸟击风险分析,鸟类统计数据使用该季度或该月份. 逐季或逐月成图,再在三维场景中以时间滑块的形式展示鸟击风险时空变化.

图4 机场空域三维场景

图5 高空飞行鸬鹚(左)的粒子系统模拟(右)

图6 成群的铁嘴沙鸻(左)及基于智能体的鸟群模拟(右)

图7 鸟击风险评估结果

图8 三维鸟击风险场景

图9 飞机飞行模拟浏览

5 结论

本文基于Unity3D游戏平台根据厦门翔安国际机场鸟击风险评估需求,开发了一套鸟击风险可视化系统,更好的展现机场周边鸟击风险的空间分布及风险等级,据此可以进行更具有针对性的鸟击防范策略,为主管部门提供辅助决策支持. 在此基础上提出了一种机场鸟击风险三维可视化方法. 该方法的特点包括:① 三维风险值的存储; ② 多尺度的鸟群展示; ③ 沉浸式的风险可视化; ④ 三维地理场景与机场管制净空区的一体化集成展示.

这种鸟击风险可视化方法可具体展示抽象的风险值在机场周边的分布情况,对于机场鸟击风险防控具有规划与应急决策参考价值; 沉浸式的风险动态可视化能帮助飞行员体验鸟击风险的分布,可集成到飞行虚拟仿真训练模块中; 三维标量场中风险值的编码方法,能节约存储空间,提高读取效率,对于海洋、环境、大气等类似应用情景也具有应用推广价值.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!