APP下载

基于GEE 平台的热带气旋服务客户端设计与实现

2022-06-06周佳佳

地理空间信息 2022年5期
关键词:云系云顶气旋

周佳佳,胡 海

(1. 武汉大学 资源与环境科学学院,湖北 武汉 430079)

热带气旋是发生在热带或副热带洋面上具有暖心结构的低压涡旋,是一种能量强大的热带天气系统[1]。热带气旋中心位置的确定是强度估计和路径预测的基础。热带气旋服务客户端能为用户提供即时计算和查询服务,对热带气旋的监测预报给予辅助支持。早期通过飞机对热带气旋进行实测,由于成本较高以及安全性问题而逐渐减少;雷达监测热带气旋占据重要地位,但有距离限制和数据质量要求[2];随着气象卫星的发射以及分辨率的不断提高,卫星遥感技术逐渐成为监测热带气旋的主要手段[1-2]。

热带气旋定位方法可归纳为云系形态识别、风场结构分析、云体温湿反演、时空运动分析、集成定位和机器学习方法6 类。广泛使用的Dvorak方法属于模板匹配方法[2],还有特征提取法、对数螺线法等。耿晓庆[1]等提出旋转系数的概念来表征热带气旋形态的本质特征;刘年庆[3]等利用一种基于椭圆拟合模型的全自动客观方法来实现热带气旋的中心定位;Said F[4]等利用风矢量产品提取气旋中心;HU T G[5]等基于风矢量进行热带气旋中心自动定位,结果表明定位精度与专家手动提取精度接近;张勇[6]等利用组网天气雷达格点反射率因子确定了登陆台风的中心位置,并通过实例验证了该方法的可行性;薛利成[2]提出了一种基于红外亮温方差的热带气旋客观定位方法,对于台风中心的旋转定位,在序列影像中找出前后两次相应特征点的轨迹,即可计算其中的转动原点,即转动矢量为零的台风中心点[7];刘正光[8]等提出了一种利用云导风矢量图进行台风中心自动定位的方法;乔文峰[9]提出了一种基于卫星云图的集成定位方法,对同一台风采用不同的定位方法,并通过加权平均法对结果进行综合;蒋众名[10]提出了一种基于Faster R-CNN 改进的台风云系识别算法,以FY-2 号卫星云图和对应台风云系的标注框为数据和标签,对模型进行训练和测试,计算得到的标注框中心即为台风中心,结果优于传统方法。针对热带气旋相关系统的研究较多,学者们基于ArcGIS分别开发了台风预警系统[11]和台风灾害危险性评估系统[12];杨何群[13]等采用.NET 和ArcGIS Engine 技术开发了组件式GIS 台风遥感监测分析软件系统。然而,这些系统主要是针对数据的可视化表达输出,有综合功能的软件系统使用环境较复杂,且需要用户掌握一些专业知识。

由谷歌、卡内基梅隆大学和美国地质调查局联合开发的Google Earth Engine(GEE)是目前世界上先进的PB级地理数据科学分析与可视化平台[14],拥有海量地理和遥感数据,谷歌云平台和后台服务器为其提供了强大的数据存储和处理能力。很多学者都在GEE上进行了全球或区域尺度的研究,如WANG L[15]等在2020 年10 月总结了利用GEE 平台进行遥感陆地变化研究的相关内容,涉及的方向包括森林和牧场、水、生态系统和生物量、气候和温度、湿地、土壤、农业、土地使用与土地覆盖、自然灾害、城市、健康和人类活动等;LU L Z[16]等在GEE中使用MODIS影像进行台风发生前后植被指数的计算,探究了中国东南沿海区域2000—2018 年受台风影响的植被受灾的空间特征,得出森林受灾最严重、植被破坏情况与台风着陆点高度相关的结论;FENG Y L[17]等在GEE中获取Landsat8 数据计算飓风前后的植被指数,研究飓风玛丽亚对波多黎各森林系统的影响。上述研究仅利用GEE 平台提取植被指数来评估热带气旋的破坏情况,未对热带气旋的发生发展和定位定强进行研究。

本文通过GEE平台的Javascript API设计并实现了基于Web的热带气旋服务客户端,能快速实现热带气旋中心位置计算、相关云参量计算以及信息可视化,服务于浏览器用户。在GEE飓风数据集覆盖的北大西洋和东太平洋区域,客户端能提供信息查询功能;在无数据覆盖的区域,则能提供热带气旋中心位置计算和信息可视化,从而实现全球热带气旋查询服务。热带气旋定位方法结合了云图中热带气旋云系的几何形态特征和卫星红外波段反演的云宏观参量。本文采用该算法提取了北大西洋2017—2018年热带气旋的中心位置,并将定位结果与最佳路径数据集进行了对比,结果验证了该算法的有效性。

1 技术原理

GEE 中有覆盖全球范围的长时序气候产品数据,且提供了Javascript API 和Python API 来实现各种功能应用。本文基于Javascript API,采用B/S 架构进行热带气旋服务客户端的开发,为用户提供全球热带气旋即时计算查询服务。本文利用Code Editor中的基础函数实现热带气旋相关计算分析的自定义功能函数库,并以require 方式调用函数库。同时,Code Editor的函数库中提供了User Interface(UI)模块,各类组件可通过UI调用,从而实现客户端交互式界面设计。

功能函数库和界面设计完成后,即可在谷歌服务器上发布应用。首先创建一个谷歌云项目,获取对应的服务账号进行GEE的认证;然后在Code Editor的应用管理中通过源码创建热带气旋服务应用,将其部署在Node.js中;最后可自定义该应用的访问权限,选择对所有用户公开,并将使用的数据集设置为公开模式,发布应用。任何用户通过浏览器进行科学上网,即可访问热带气旋服务客户端。使用其计算分析功能时,客户端通过Web REST APIs 向服务器发送请求,并以有向非循环图的形式呈现给GEE[14];服务器从数据库中调用所需数据进行计算,再将结果返回至客户端。实现过程的基本架构如图1所示。

图1 客户端实现基本架构

2 客户端设计与实现

2.1 客户端界面设计

在Code Editor中设计的热带气旋服务客户端界面如图2 所示,客户端的网址为:https://jz01863.users.earthengine.app/view/tcseverice03。客户端水平方向包括功能选择栏、地图加载栏和信息显示栏3 栏,其中功能选择栏可根据日期和边界范围筛选符合条件的遥感影像集,在地图上加载、显示影像集中任一单幅图像,对影像集中所有影像进行批量热带气旋中心位置计算,在地图上加载、显示任一热带气旋中心点坐标,根据影像集计算的热带气旋中心绘制轨迹图,加载GEE中飓风数据集并绘制轨迹图,查看客户端文档说明;地图加载栏的底图为谷歌卫星图像,可替换为电子地图或地形图,也可添加地名等要素,能实现放大缩小等基本操作,主要用于将图像和要素加载到地图上,从而更直观地展示地理信息;信息显示栏能显示计算的热带气旋中心坐标、观测时间以及中心点的云宏观参量,对热带气旋轨迹图进行可视化以及显示GEE中飓风数据集的轨迹图。

图2 热带气旋服务客户端界面

2.2 客户端功能实现

2.2.1 函数模块

GEE中的函数种类众多,对于数值运算,有三角函数运算、逻辑运算和位运算等;对于栅格数据,有波段运算、掩膜裁剪、监督和非监督分类、纹理分析和数学形态学等;对于矢量数据,有周长、面积、距离计算,缓冲区计算以及相交、联合的提取分析等。除此之外,还有过滤、统计、映射、图表和模型部署等[14]高阶函数。本文实现了热带气旋服务客户端的各种函数功能,以内部的面积过滤、云顶高度二值图像、类圆性和云顶温度计算为例简要说明实现过程。

1)面积过滤。热带气旋是热带洋面上气旋性扰动发展而成的低气压系统。一般来说,热带气旋云系是一个有组织的整体,中心云区有较大吸附力,周围云系绕中心旋转[18]。热带气旋云系具有较大面积,基于该特性能剔除面积较小的云系。首先获取云图的自掩膜图像,采用面向对象的方法统计图像中每个云系的面积,以50个像素为阈值,标记面积小于阈值的云系,并以此对云图进行更新掩膜计算,得到标记的小面积云系二值图;然后对云图和小面积云图进行逻辑运算,滤除零碎独立小面积云系,得到云系面积相对较大的云图。

2)云顶高度二值图像。通过云顶温度和云顶高度等参数可诊断天气系统和对流发展的强度,在天气分析、数值预报以及航空气象等方面都具有重要价值[19]。云顶气压、云顶温度和云顶高度二值图像的计算方法类似,以云顶高度二值图像为例进行说明。首先获取原始影像的云顶高度波段,再采用分区统计法计算云顶高度图像的最大值,然后将高度因子与最大值的乘积作为阈值,提取图像中大于该阈值的部分,最后获得云顶高度二值图像。

3)类圆性。热带气旋云系有一定的类圆性,当云系的类圆度较高而边缘细节过多时,将使计算结果产生偏差。鲁娟[18]等将面积与类圆度的乘积作为判断准则,经重复试验,将该公式应用于本文数据的效果并不理想,而通过修改面积指数能获得更好的结果。修改后的类圆性判断公式为:

式中,A 为云系面积;C 为云系周长;K 为类圆性。

将经过预处理的云图由栅格变换为矢量,设置最大容差,计算每个矢量要素的面积和周长,再根据式(1)计算其类圆性,进而创建要素的类圆性属性。

4)云顶温度。对于热带气旋中心云宏观参量,可通过区域统计法进行计算,以云顶温度为例进行说明。首先获取原始影像的云顶温度波段以及对应观测时刻的热带气旋中心点要素;再对云顶温度图像进行点要素的区域统计,得到要素点处的像素值;然后根据原始影像元数据和属性,对像素值进行对应模型下的数值计算;获得云顶温度。

2.2.2 信息可视化

客户端中信息可视化主要涉及影像集和要素集的地图加载可视化以及计算指标和图表的可视化两类。本文分别以影像集中任一单幅图像显示和热带气旋轨迹图显示为例进行说明。

1)影像集中任一单幅图像显示。在Code Editor中若想随意查看影像集中任一单幅图像,需预先将所有图像加载到图层中,替换单幅图像进行浏览,而客户端则实现了单幅图像的实时选择加载显示。首先获取单幅图像的索引属性和系统开始时间属性,作为字典的键值对,并对影像集映射该过程,得到几何值为空、属性值为字典的要素集;然后遍历要素集,获取每个要素的字典属性,通过列表存储标签和值代表的键值对;最后设置任一单幅图像显示按钮标签,根据标签对应的时间来加载图像。

2)热带气旋轨迹图显示。GEE 的飓风数据集中每个点要素都有名称属性,但缺少经纬度属性。因此,在绘制轨迹图前需进行属性赋值,即根据点要素的几何坐标赋予其属性;再设置图表类型、标题、颜色、刻度等参数;最后根据要素分组进行轨迹图的绘制。

3 热带气旋定位分析

热带气旋定位是服务客户端的基础功能,本文简要介绍了热带气旋定位方法,并对定位结果进行评估。本文采用的遥感数据集为美国国家海洋和大气管理局的云产品气候数据记录(CDR),由威斯康星大学通过AVHRR 探路者大气扩展(PATMOS-X)处理系统生成,分辨率为0.1°×0.1°;飓风数据集为美国国家飓风中心提供的第二代北大西洋飓风轨迹数据集,也称为飓风最佳路径数据(HURDAT2)。

3.1 定位算法

热带气旋云系具有一定的几何形态特征,如面积和类圆性,可作为云系判别依据。以云图中热带气旋位置为参照,云顶气压、云顶温度和云顶高度将呈现一定的规律性,因此本文选取3 个云宏观参量作为热带气旋定位的参考数据。结合云图中热带气旋云系的几何形态特征和卫星红外波段反演的云宏观参量,热带气旋定位算法流程如图3所示。

图3 定位算法流程图

选择影像的云掩膜波段,根据云分类像素值获取二值图像,作为算法输入的原始云图。为避免散碎云斑对热带气旋云系确定的干扰,采用半径为1 个像素的圆盘作为结构元素,对原始云图进行形态学开运算。以50个像素为面积阈值,低于阈值的视为独立小面积云系,采用面向对象的方法进行面积过滤。本文选取由卫星红外波段反演的云顶气压、云顶温度和云顶高度3 个云宏观参量,对于云顶气压图像,云系内部纹理紧密,外围呈零散稀疏状,则以0 为阈值提取云系内部,获得的二值图像即为参与计算的云顶气压图像;对于云顶温度图像,云系外围较亮,中间层呈灰色,内部呈黑色,则统计像素极小值minTemp,以0.56 minTemp 为阈值提取内部云系,获得的二值图像即为参与计算的云顶温度图像;对于云顶高度图像,云系中心较亮,其他部分较暗,则统计像素极大值maxHeight,以0.6 maxHeight为阈值提取云系内部,获得的二值图像即为参与计算的云顶高度图像。将面积过滤的云图、云顶气压、云顶温度和云顶高度图像进行与运算,获得稀疏分布的云图;再利用结构元素(半径为1个像素的圆盘)对云图进行闭运算,实现云斑内部细微空隙的填充;然后计算类圆性,将类圆性最大的云斑视为热带气旋云系的中心部分;最后求解其几何中心并赋予时间等属性,即为算法输出的热带气旋中心点要素。

本文以北大西洋2017 年第15 个热带气旋玛丽亚(观测时间为2017-09-22 00:00:00)的图像为例,实现定位算法。定位算法的具体流程为:①获取原始云图(图4a);②对原始云图进行开运算得到F1(图4b);③采用面向对象的方法对F1 进行面积过滤得到F2(图4c);④获取云顶气压图像,并与F2 进行与运算得到F3(图4d);⑤将云顶温度图像与F3进行与运算得到F4(图4e);⑥将云顶高度图像与F4 进行与运算;⑦对结果进行闭运算,再计算类圆性,类圆性最大的云斑即为热带气旋云系的中心部分;⑧计算其几何中心,将得到的点要素叠加到运算后的二值图像上,结果记为F5,如图4f所示。

图4 热带气旋定位过程

3.2 结果分析

3.2.1 玛丽亚AL152017分析

热带气旋玛丽亚的编号为AL152017,有15 个时间匹配的遥感图像和点要素,将本文计算的热带气旋中心与HURDAT2 的点要素进行比较,绘制的热带气旋轨迹如图5 所示,可以看出,计算的热带气旋轨迹AL152017_cal 与 HURDAT2 的轨迹 AL152017_hur 大致吻合,轨迹中间点对相距较近,初始和末尾位置各有两对点相距较远。

图5 热带气旋轨迹对比

本文计算的热带气旋中心与HURDAT2 点要素均为地理坐标,为了比较同一观测时间的热带气旋中心位置差异,采用大圆距离进行评估。设P0(φ0,λ0)为HURDAT2的一个点要素坐标,P1(φ1,λ1)为对应观测时间下计算的热带气旋中心点坐标,φ0和φ1为纬度,λ0和 λ1为经度,则大圆距离公式[20]为:

式中, D 为大圆距离;R 为平均地球半径,取6 371.010 km[20]。

利用式(2)对匹配的15 个热带气旋中心坐标点进行大圆距离偏差计算,结果如表1所示,可以看出,17号、19号、30号和1号的距离较大,与轨迹图中两端位置的点对偏移情况一致。在原始云图中对比数据集的点要素与计算的热带气旋中心位置发现,17号和19号是在双热带气旋情况下产生的定位差异,30号和1 号的热带气旋云系纹理不够紧密,云系中间有较多空隙,经云宏观参量计算后,云系被滤除,导致了定位不正确。此外,最小距离为48.173 km,最大距离(29 号)为454.791 km,其他距离分布在0~300 km 之间,反映在轨迹图上为较接近的点对。

表1 AL152017坐标信息对比

3.2.2 2017—2018年的热带气旋分析

为了合理评估定位方法,本文选用北大西洋2017—2018 年的HURDAT2 轨迹数据,以其日期范围来匹配遥感影像数据,热带气旋轨迹分布如图6 所示,可以看出,2017 年热带气旋轨迹数据有16 个,包括122个点要素;2018年热带气旋轨迹数据有9个,包括79个点要素。AL082017、AL122017、AL142017的云顶高度二值图像阈值为0.7 maxHeight,其他参数均不变,利用本文提出的定位算法对25个热带气旋进行批量定位计算。以HURDAT2 点要素为参照,通过式(2)对定位结果进行评估,大圆距离区间分布如表2所示,可以看出,距离在0~300 km的点最多,在原始云图和轨迹图中均表现为接近的两点;距离在300~500 km的点最少,在云图上主要表现为本文算法提取的点坐标在热带气旋云系中间,而HURDAT2 对应的点要素在云系边缘;距离在500~1 000 km 的点有29个,两点位于同一云系的不同位置;距离在1 000 km以上的点有58 个,约占总数的25%,两点分布于不同云系。在一些情况下,HURDAT2 的点要素不在云系上,其周围一片区域均无云,本文算法提取的中心点与云系紧密相关,因此定位结果与HURDAT2 差异较大。

表2 大圆距离区间分布

图6 2017—2018年热带气旋轨迹分布

以HURDAT2 为参照,将距离在1 000 km 以上的计算中心点视为不正确定位,导致定位不正确的原因主要包括:①双热带气旋情况下,云图中有两个热带气旋云系,本文计算的中心与HURDAT2不一致;②热带气旋云系纹理不够紧密,中间有较多空隙,经云宏观参量计算后,中间云系被滤除,使得定位有差异;③HURDAT2 的热带气旋中心不在云系上,本文算法依据云系计算热带气旋中心,二者结果差异较大。距离在500~1 000 km之间的情况主要表现为本文计算的中心与HURDAT2 的热带气旋中心位于同一云系的不同位置。在螺旋云带中,经云宏观参量计算后,云系中间为零散云斑,边缘为纹理紧密云斑,使得计算的中心位于边缘部分。在一些连片云系中,云宏观参量计算过程中产生了近似圆形或椭圆形的云斑,导致计算结果产生偏差。距离在500 km以内的较精确,约占56.7%。本文将距离在1 000 km 以内的计算结果视为正确定位,概率为71.1%,即本文算法提取的热带气旋中心与HURDAT2 有71.1%的符合。在热带气旋发生的形成期和消散期,本文算法定位效果较好,与HURDAT2较一致。

4 结 语

本文通过GEE平台的Javascript API设计并实现了基于Web的热带气旋服务客户端,能快速实现热带气旋中心位置计算、相关云参量计算以及信息可视化,服务于浏览器用户。热带气旋定位方法结合了云图中热带气旋云系的几何形态特征和卫星红外波段反演的云宏观参量。本文以北大西洋2017—2018年热带气旋中心位置提取为实验,将定位结果与飓风数据集进行对比,验证了本文算法的有效性。结果表明,在热带气旋形成期和消散期,本文算法的定位效果较好,但也存在一些问题,如只能提取单个热带气旋中心位置,无法定位双热带气旋;对于热带气旋云系的疏密分布,云宏观参量的计算会影响热带气旋定位精度。后续将研究如何改进云宏观参量的计算模式,从而降低其对热带气旋云系的作用以提高定位精度,并结合多源数据完善客户端的功能实现。

猜你喜欢

云系云顶气旋
王丽敏作品
警惕网上“甜言蜜语”的诱惑
2003年3月北大西洋上两个爆发性气旋的“吞并”过程及发展机制分析❋
2020年江西汛期大暴雨卫星云图特征分析
氨还原剂喷枪中保护气旋流喷射作用的研究
2019年5月26日朝阳飞机人工增雨作业分析
广西11—12月人工增雨天气研究
北太平洋上一个爆发性气旋族的结构分析❋
利用卫星云图预报单站降水
热带气旋集合预报技术的应用情况简介