王涛 曾举 柳德江
摘 要: 飓风,是大西洋和北太平洋地区将强大而深厚的热带气旋,一般伴随强风、暴雨,严重威 胁人们的生命财产,对于民生、农业、经济等造成极大的冲击,是一种影响较大,危害严重的自然灾害。本文通过Python爬取美国各州地理空间数据和飓风“佛罗伦萨”的相关数据,通过对飓风“佛罗伦萨”的数据进行处理,绘制飓风移动路径,为研究飓风的影响和预测提供可视化数据。
关键词: 地理空间数据;Python;飓风;GeoDataFrame
中图分类号: TP312 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.05.007
本文著录格式:王涛,曾举,柳德江,等. 基于Python的飓风路径模拟研究[J]. 软件,2019,40(5):3337
【Abstract】: Hurricane is a strong and deep tropical cyclone in the Atlantic Ocean and the North Pacific. It is usually accompanied by strong winds and rainstorms, which seriously threatens people's lives and property, and has a great impact on people's livelihood, agriculture and economy. It is a natural disaster with great impact and serious harm. In this paper, we use Python to crawl the geospatial data of American States and the related data of Hurricane Florence. Through processing the data of Hurricane Florence, we can draw the moving path of Hurricane and provide visual data for studying the impact and prediction of Hurricane.
【Key words】: Geospatial data; Python; Hurricanel; GeoData frame
0 引言
飓风“佛罗伦斯”是在美国东海岸形成的飓风,是该地区30多年来最强大的风暴。截至美东时间2018年9月11日清晨5时,“佛罗伦萨”中心部位于北卡罗来纳州东南偏东约1570公里,以每小时24公里向西北偏西移动[1]。9月12日,四级飓风“佛罗伦斯”在扑向美国东海岸的路途上威力进一步增强。预计于9月14日晚些时候在弗吉尼亚州、北卡罗来纳州和南卡罗来纳州的海岸线附近登陆,强度逼近5级,估计损失达170亿美元。本文通过Python语言模拟绘制飓风“佛罗伦萨”的路径,了解它的起源,何时何地增强,并在Python中对其更多的信息进行分析[2-3]。
1 地理空间数据获取
地理空间数据在我们的日常生活中有着广泛的应用。例如我们从一个地方到其他地方,我们需要导航,导航APP中就集成了我们所需要的地理空间数据;我们想知道某个地区的天气状况,需要知道它的位置信息。从地理空间数据中,不仅可以找到位置,还可以找到物体的长度,大小,面积或形状,可以获得对象的坐标,例如纬度,经度和高程等。本文中所需要的飓风数据来源于Hurricane Florence[5-7]。
飓风移动路径的模拟需要一定的底图数据,本文使用的美国底图数据来自于互联网,包含了美国各州的边界数据文件,其分辨率为5米,格式为GeoJSON。
2 底图绘制
通过在Python中加载美国各州地理空间数据,发现地理空间数据与Pandas DataFrame中的数据类型特征比较相似[8-9],因此,可以使用plot工具绘制底图如下图2所示:
由于互聯网中搜集到的信息中包含了阿拉斯加、夏威夷和波多黎各等地,使得美国地图与框架相比较小。在此次飓风“佛罗伦萨”的影响中不会涉及到该地区,因此排除阿拉斯加和夏威夷地区,对地图的大小和颜色进行重新绘制如下图3所示。
3 飓风数据加载与分析
本文中加载的飓风“佛罗伦萨”数据来源于Hurricane Florence[10-11],飓风部分数据如图4所示。
在加载飓风数据之前,首先对飓风数据的类型进行检查、是否有缺省值。本文借助missingno检查飓风“佛罗伦萨”的缺失值,用可视化的方法显示缺少的数据。例如所加载的飓风数据中“Forecaster”列中缺少一个,如下图所示,但是对于本文模拟飓风移动路径来说,不需要Forecaster列,因此可以忽略掉。
因此,在飓风统计数据中,清理掉无用,保留有用数据至关重要。本文选取了时间、纬度、经度,风速,压力和名称等列数据。由于美国位于西半球,大致为西经70度到西经130度之间,为了与所选用的底图数据能够叠加,需要在经度前面加上“-”号,使用Python处理后所加载飓风数据如下表所示。
接下来将飓风数据的经度和纬度数据合并,构建飓风坐标,并将其进行转换,采用GeoPoint进行可视化,如下表所示。
通过转换,将其类型转换为地理空间数据格式Geo DataFrame和GeoSeries,并对数据进行过滤,采用groupby包提取“name”列最小值,最大值或平均值,搜索飓风“佛罗伦萨”的平均风速,得到其平均风速约为每小时74.43英里(每小时119.78公里),最大值为每小时140英里(每小时225.308公里)。
5 飓风移动路径可视化
与pandas Dataframe类似,GeoDataFrame也具有.plot属性。本文使用GeoDataFrame中的坐标信息将飓风移动路径绘制出来[12]。如下图6所示。
下面以美国地图数据为基础,根据风速对飓风位置进行着色,可视化飓风袭击每个城市时的强度。如下图7所示。
通过绘制的飓风移动路径可视化图,可以看出当飓风在东海岸附近靠岸时,飓风最强。随着不断接近陆地,飓风开始失去力量,但是风速仍然在每小时60到77英里的范围内,仍然会造成巨大的损失。
6 结论
Python是目前最流行的一门计算机程序设计语言,其在数据爬取、可视化和智能分析方面广受欢迎,本文通过Python编写飓风“佛罗伦萨”的移动路径图,并对其进行可视化分析,为研究飓风的影响和预报提供了基础。
参考文献
[1] 庄亚飞, 李素敏. 基于Python的ArcGIS数据属性值顺序码处理研究[J]. 软件, 2018, 39(7): 68-71.
[2] Shaojie Sun, Chuanmin Hu, Oscar Garcia-Pineda, Vassiliki Kourafalou, Matthieu Le Hénaff, Yannis Androulidakis. Remote sensing assessment of oil spills near a damaged platform in the Gulf of Mexico[J]. Marine Pollution Bulletin, 2018, 136.
[3] 吴大明. 美国2017年飓风灾害应急管理启示[J]. 劳动保护, 2018(11): 94-97.
[4] Carlos Santos-Burgoa, John Sandberg, Erick Suárez, Ann Goldman-Hawes, Scott Zeger, Alejandra Garcia-Meza, Cynthia M Pérez, Noel Estrada-Merly, Uriyoan Colón-Ramos, Cruz María Nazario, Elizabeth Andrade, Amira Roess, Lynn Goldman. Differential and persistent risk of excess mortality from Hurricane Maria in Puerto Rico: a time-series analysis[J]. The Lancet Planetary Health, 2018, 2(11).
[5] 张小璞, 左小清. 在ArcGIS下基于Python的路网数据批处理方法[J]. 软件, 2018, 39(7): 130-133
[6] 郭学兵. 基于Python的并行编程技术在批量气象规范报表入库处理中的应用[J]. 软件, 2018, 39(7): 24-29
[7] 刘翔宇, 朱大明. Arcgis中基于Python的地理数据库批量合并方法研究[J]. 软件, 2018, 39(7): 161-165
[8] 彭一波, 姜明明, 艾印双. 基于Python语言的ObsPy软件包从地震背景噪声中提取瑞利面波经验格林函数的实行方案[J/OL]. 地球物理学进展: 1-25[2018-12-04]
[9] 張震. Python在遥感专业GIS开发实践教学中的应用与探讨[J]. 黑龙江工程学院学报, 2018, 32(05): 53-56.
[10] 徐雯皓, 李忠, 苏鑫昊. 基于 3D 引擎的汶川震前水文变化三维模拟演示系统设计[J]. 软件, 2018, 39(4): 176-179
[11] M. D. Etheart, K. Pierre, N. P. D. Jean-Charles, A. M. Destine, L. L. Andrecy, N. Barthelemy, A. Greiner, C. Giese, S. Juin, E. Hulland, A. Knipes, P. Adrien, D. Fitter, D. Lafontant. A multidisciplinary joint-team efforts deployed for a cholera outbreak response post-hurricane Matthew in southern Haiti, October 2016[J]. International Journal of Infectious Diseases, 2018, 73.
[12] 郭海涛, 蒋琳. Python中实现地图数据可视化[J]. 电脑编程技巧与维护, 2018(9): 105-107.