软件设计开发
本栏目责任编辑:谢媛媛
基于Python 的高速公路大雾预报预警系统建设
彭芳1,2,齐大鹏2,3,吉廷艳2,4
(1,贵州省山地环境气候研究所,贵州贵阳550002;2,贵州省山地气候与资源重点实验室贵州,贵州贵阳550002;3,贵州省气象台,,贵州贵阳550002;4,贵州省气象服务中心,贵州贵阳550002)
摘要:系统结合前期研究成果及本地数据环境进行开发设计,利用Python 语言及相关库,实现了气象站点、交通站点观测
资料的合并及插值到高速路段,自动生成图片和文字产品,也实现数值预报格点超到高速公路的插值。采用Python+Djan⁃go 设计WEB 系统对产品进行展示,方便用户通过网页对产品进行浏览。关键字:Python ;高速公路;大雾;预警中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2019)28-0085-02
开放科学(资源服务)标识码(OSID ):
贵州属于低纬高原山区,地形地貌复杂,天气气候多变,大雾天气频发,对高速公路交通运输存在严重隐患,因大雾造成高速公路重大交通事故屡有发生,对国民经济和人民生命财产造成重大损失。贵州的大雾天气和气候特征,已经有较多的学者进行了研究[1-6]。在交通气象服务方面,王红丽[7]指出人们最关注的气象印章有道路结冰、雾和霾、强降雨、积雪其他省份地区气象服务工作已经开展或陆续开展,田华[8]通过问卷形式对气象、交通、公安等多部门公路交通决策气象服务关注的气象要素、产品类型和时段、服务改进方向等需求进行了调研指出监测类产品对低能见度、道路积雪要素最为关注,预报类产品
对雨雪和大雾要素最为关注;王慕华[9]
设计面向公众出行的公路交通气象服务系统;吴阳军[10]雨雪雾等不利气象条件导致了公路设施损毁、交通延误、交通事故、环境污染等问题,增加了出行成本。为保障贵州高速公路交通安全运输,有必要开发高速公路大雾预报预警系统,为高速公路安全管理提供技术支撑。
1系统设计
系统建设结合本地数据环境进行开展,主要分数据分析模
python是做什么的通俗易懂的
块、WEB 服务两部分,其中WEB 服务包括WEB 设计及后台部署相关内容。
系统由python 语言开发,需要在python 环境下运行,python 版本为3.6以上。系统依赖库信息如表1所示。
操作系统:windows/linux
表1依赖包信息
2数据分析
大雾观测数据通过能见度观测仪进行观测,目前气象部门收集到的能见度数据有气象观测站、交通站和交通部门共享数据,都为站点格式资料,数据通常用来作为大雾监测预警。大雾预报依赖前期研究成果,通过判定天气形势、地面高空气象要素值,结合数值预报进行计算,资料为格点格式资料,数据用来做大雾预报用。系统主要分为站点资料处理和格点资料处理。数据都统一入库到内部数据cimiss 数据库,通过接口形式获取。
高速公路数据为shp 格式数据,需要将能见度数据插值到高速路段上,以便能够在图形系统上直观反映。2.1大雾监测预警
按照时间参数获取三类实况观测数据,将三类数据合并为统一格式产品,按照大雾预警标准将能见度分为小于100、100-200、200-500、大于500四个等级,结合高速路段信息进行插值计算,不同等级的能见度通过metpy.interpolate.interpo⁃late_to_points 插值到高速路段上,最后根据插值后的路段信息进行填处理,同时将有雾的路段信息输出保存为文本文件,按照指定文件名格式进行存储供前端显示。如图1。
收稿日期:2019-05-27基金项目:贵州省科技计划项目(课题)黔科合支撑[2017]2812
85
本栏目责任编辑:谢媛媛
软件设计开发Computer Knowledge and Technology 电脑知识与技术第15卷第28期(2019年10月
)
图1大雾实况监测预警图及对应路段信息
2.2大雾预报
大雾预报采用格点预报插值到高速路段的方式。目前气象上的数值预报数据都是格点数据,本文采用高分辨率数据空间分辨率达12.5km ,时间分辨率达3小时。根据前期研究结果,通过提取最新时次数值预报数据地面要素,地面相对湿度(或温度露点差)、10分钟平均风速、气温、3小时变温、24小时变温。前期研究结果将贵州大雾分为辐射雾和锋面雾,对应不同的指标进行分类并分析计算,通过metpy.interpolate.interpo⁃late_to_points 插值到高速路段上,最终形成锋面雾、辐射雾以及无雾的图片产品,同时生成对应的大雾信息文件,按照指定文件名格式进行存储。
3WEB 设计
WEB 端采用Python+Django 框架设计,实现后台管理、预报员登录、预报员大雾类型选取、访问信息记录、图片浏览等功能。3.1模型Models
Django 模型Models 主要包括3个模型,Users 、FlogType 、VisitInfo ,分别记录用户信息、大雾类型、访问信息,实现用户管理,大雾类型判断,网站流量信息记录等功能。用户信息为预报员用户,预
报员需要登录后提交大雾类型并记录在数据库,以便其他用户能够直接流量对应大雾预报数据。3.2路径URLS
URL 路径配置,配置index 、picurl 、login 、logout 、savetype 、im⁃
age 六个路径,分别对应首页、图片检索、登录、登出、保存大雾类型、图片路径,其中index 、login 、logout 不带参数即可访问。picurl 为图片检索,必须带指定参数才能返回正确信息;sa⁃vetype 必须登录后带正确参数才能入库保存大雾类型,图片路径对应数据存储的绝对路径地址。3.3视图函数Views ,
首页,调用base.html 生成页面,页面如图2
图2大雾预报预警系统页面
图片检索,采用get 方式传递参数,根据接收参数返回图片url 以及对应的大雾信息,统一生成json 格式供前端解析。访问前首先记录访问信息进入模型数据库。
登录,采用post 方式登录,用户提供用户名密码,验证后才能登录并保存session ,登录后具有大雾类型提交权限。退出登录,同时清除session 。
保存大雾类型,根据session 状态判断是否登录,没有登录的返回未登录信息。大雾类型提交根据时间选择框进行提交,提交的大雾类型为对应时间的下一次大雾预报类型。参数通过get 方式获取,根据model 的flogtype 类型提取访问信息并存储,返回类型为json 格式。
4结束语
系统利用Python 语言结合目前实际需要以及特定的数据环境进行设计开发,实现了多观测数据统一,将站点、格点数据插值到高速路段并采用Python+cartopy 绘图符合使用习惯,图形直观明了。同时系统采用预报员判断大雾类型提交数据库,简化了系统设计的同时实现了大雾的预报。大雾预报预警系统建设,结合前期对大雾的研究成果,将成果展示给行业用户,实现大雾监测预报一体化,不仅给决策部门提供了参考依据,还提升了工作效率。
参考文献:
[1]罗喜平,杨静,周成霞.贵州省雾的气候特征研究[J].北京大学学报:自然科学版,2008(5).[2]胡跃文,秦杰.2016—2017年贵州大雾时空分布及气象要素演变分析[J].气象,2019(5).[3]陈娟,罗宇翔.近50年贵州雾的时空分布及变化[J].高原山地气象研究,2013(2).[4]罗喜平,周明飞.贵州区域性辐射大雾特征与形成条件[J].气象科技,2012(5).[5]谢清霞,唐延婧,庞庆兵,等.贵州辐射雾的时空变化特征及其气象要素分析[J].气象与环境科学,2016(2).[6]唐延婧,裴兴云.贵州交通站资料应用于山区高速公路低能见度研究[J].热带气象学报,2015(2).[7]王红丽,黄建菲,尚媛媛.贵州省交通气象服务分析评估[J].气象科技进展,2015(4).[8]田华,吴昊,杨静,等.公路交通决策气象服务需求分析[J].气象与环境科学,2018(4).[9]王慕华,唐卫.面向公众出行的公路交通气象服务系统[J].气象科技,2015(5).
[10]吴阳军.公路交通气象服务一体化[J].中国公路,2018(7).
【通联编辑:李雅琪】
86