一种基于ExtJs的风玫瑰图绘制方法技术

技术编号:9907010 阅读:333 留言:1更新日期:2014-04-11 06:06
本发明专利技术提供一种基于ExtJs的风玫瑰图绘制方法,数据增强预处理引擎进程对不同形式的原始风要素数据进行统一处理存放到数据库中;风玫瑰图数据提供服务进程根据定时条件从数据库中获得风玫瑰图数据进行数据解析、组装并向前台提供风玫瑰统计数据;玫瑰图绘制组件“WindRoseChart”配置风玫瑰图的不同的显示方式,将其配置到ExtJs的Panel组件中并与风玫瑰图的数据集绑定,同时利用ExtJs事件机制异步判定数据到达后更新玫瑰图。本发明专利技术的方法部署方便,能快速准确的在前端渲染及定时更新风玫瑰图,为Web信息系统前端玫瑰图的开发提供了充分的支持,并能方便快捷的接入到所需要绘制玫瑰图的Web信息系统中。

【技术实现步骤摘要】
一种基于ExtJs的风玫瑰图绘制方法
本专利技术涉及一种基于ExtJs的风玫瑰图绘制方法,属于气象领域。
技术介绍
风玫瑰图主要分为风向玫瑰图和风速玫瑰图两种。风速玫瑰图是指一个给定地点一段时间内统计各风向上不同等级风的平均风速然后绘制在极坐标中的八个或十六个方位上。风向玫瑰图主要用来表示一个给定地点一段时间内不同风向上的风所出现的频率,按风向从外向中心吹,描在用八个或十六个方位。风玫瑰图还有其他形式,在极坐标系中的八个或十六个罗盘方位即表示风频又能表示风速。风玫瑰图作为一种气象科学专用图表,能很好的反映过去风向发生的频率及方向上的风速大小情况,能很方便的得知当地的主导风向,同时预示着未来风向发生频率的趋势。随着气象信息服务的细化和深化,目前它不仅出现在公众气象信息系统中,而且也逐渐在其他非气象部门提供的气象信息系统中出现。我们应该正确认识风玫瑰图,它在城市建设,城市规划中的功能区布局、高层建筑物设计,化学仓库及核电站选址,机场建设及气候研究,消防安全以及在环保和公共卫生等领域中都有非常广泛的应用。同时,世界各国都把开发利用新能源和可再生能源放到国家能源发展的优先地位,而在新能源中风能技术最为成熟,风电发展最为迅速,而风玫瑰图作为风电场建设前期必不可少的步骤——“风能资源评估”的主要工具,越来越受到能源领域的建设者和规划者的重视。随着风电场管理的逐步科学化,风玫瑰图也逐渐被应用到发电调度计划当中以及风功率预测预报系统中。但目前绘制风向玫瑰图的专业软件不多见,业务中多使用传统的办公软件Excel来将统计好的资料手工绘制成所需的玫瑰图,另外还有些利用如VC++、VB等可视化开发语言来绘制玫瑰图,但所绘制的效果并不美观有时也并不理想,同时其可移植性也是一个问题。随着ExtJs、Jquery等Web前端技术的发展促使了许多公众气象信息系统、风电场实时监控系统、风功率预测系统等与风要素数据相关的应用系统向B/S架构转变,在这种背景下采用传统绘制方法所绘制的玫瑰图难以方便快捷地接入到B/S架构的应用系统中,其优势已不复存在。另外,各地风玫瑰图均带有强烈的地区特征,不同的数据采集系统对所采集的风要素数据存储方式也并不完全统一。各地区风向玫瑰图需要统计风向、风速,对16个方向、不同风级出现次数进行统计,再依据此数据计算频率,选择频率比例尺,按16个风向绘图,形象、直观、真切地反映出某时段某地区不同方位风向的频率特征,过程虽然简单,但工作量大,往往需几年甚至几十年该地区大量风向资料积累。所以在Web系统中绘制玫瑰图时采用传统的请求服务端脚本的方式获取风要素数据势必会因为统计数据量大造成占有过多网络带宽以至请求失败的结果。
技术实现思路
为了解决以上问题,本文专利技术了一种基于Extjs的风玫瑰图的绘制方法,首先对不同类型的风要素数据进行统一处理,其次利用Extjs所支持的Websocket与后台服务进程通信获取风要素统计数据,最后利用ExtJs异步事件传递机制通知前端自定义扩展的玫瑰图绘制组件快速正确绘制出效果美观的风玫瑰图。本专利技术是针对传统玫瑰图绘制方法中存在的问题和局限性,专利技术一种基于ExtJs的玫瑰图绘制方法。该方法可定时自动预处理统计绘制玫瑰图所需风要素数据,能够从后台高效的获取统计数据生成玫瑰图。该方法可以快速接入到气象系统、风电场实时监控等Web应用系统中,同时可用于风电场、城市规划建设的参考。本专利技术提出的一种基于ExtJs的玫瑰图绘制方法,其特征在于,包括:1)确定原始风要素数据类型以及定时统计时间;2)数据预处理引擎根据定时统计时间对不同形式的原始风要素数据进行预处理,最终形成不同等级的风在16个风向上出现的次数;并将统计结果数据统一存储到统计结果数据库中;3)风玫瑰图数据提供服务进程,从统计结果数据库中获得风玫瑰图数据,并根据风玫瑰图数据解析格式进行组装数据。风玫瑰图数据解析格式具体为:json数据格式或xml数据格式,风玫瑰图数据解析格式与风玫瑰图绘制的请求数据格式相对应。所述的风玫瑰图数据提供服务进程支持wss协议的websocket,并提供向前台提供风玫瑰统计数据的函数签名。在其启动之前确定所述的风玫瑰图数据解析格式;读取统计结果数据根据所述的风玫瑰图数据解析格式将统计结果数据解析成风玫瑰图显示所需的数据格式。所述的风玫瑰图数据提供服务进程统一管理Web客户端,将连接到所述的风玫瑰图数据提供服务进程的所有的客户端注册到管理队列中,当定时推送时间到达时依次遍历管理队列中注册的Web客户端对象,将风玫瑰图数据推送到前端;同时所述的风玫瑰图数据提供服务进程还支持事件触发推送风玫瑰图数据到前端。在Extjs雷达图基础上扩展的玫瑰图绘制组件“WindRoseChart”,并很方便的将其配置到ExtJs的面板(Panel)组件中并与风玫瑰图的数据集(Store)绑定,然后基于Extjs所支持的wss协议的websocket向所述的风玫瑰图数据提供服务进程请求获取所需的Json格式或Xml格式的统计数据加载到风玫瑰图的数据集(Store)之后利用ExtJs事件机制异步判定数据到达后通知“WindRoseChart”更新数据进而显示新的玫瑰图。该方法还支持手动输入所统计的风要素数据,然后经过数据增强预处理引擎处理之后存库并通过所述的风玫瑰图数据提供服务进程推动到前台通知Extjs前端更新玫瑰图。Extjs端Web通信管理通用类“Ext.sac.router.Router”,用于与所述风玫瑰图数据提供服务进程通信;Extjs端WebSocket服务通用公共类,用于与所述风玫瑰图数据提供服务进程建立连接;Extjs回调函数通用公共类,根据自定义函数签名来调用自定义的函数进行事务处理;Extjs雷达图组件基础上自定义扩展的玫瑰图绘制组件“WindRoseChart”;将所述Extjs雷达图基础上扩展的玫瑰图绘制组件“WindRoseChart”渲染到ExtJs的面板组件中并与风玫瑰图的数据集绑定,风玫瑰图的数据集加载数据时利用Extjs的事件传递机制通知“WindRoseChart”更新数据。Extjs端Web通信管理通用类“Ext.sac.router.Router”,创建所述WebSocket服务通用公共类并为其注册“dataarrived”,“connected”,“disconnected”,“datasent”事件响应函数;Extjs端Web通信管理通用类“Ext.sac.router.Router”,通过发送队列、等候队列、等候挂起队列来统一管理所有请求操作,同时当监听到“dataarrived”时通过所述回调函数通用公共类的实例对接收的数据进行所需的处理。所述Extjs端WebSocket服务通用公共类完成“dataarrived”,“connected”,“disconnected”,“datasent”事件的添加,当打开Websocket实例时触发“connected”,关闭Websocket实例时触发“disconnected”,当Websocket实例向后台发送数据时触发“datasent”事件;Websocket实例时监听到数据到达时触发“dataarrived”事件。本专利技术的特点和所达到的本文档来自技高网
...
一种基于ExtJs的风玫瑰图绘制方法

【技术保护点】
一种基于ExtJs的风玫瑰图绘制方法,其特征在于,包括:1)确定原始风要素数据类型以及定时统计时间;2)数据预处理引擎根据定时统计时间对不同形式的原始风要素数据进行预处理,最终形成不同等级的风在16个风向上出现的次数;并将统计结果数据统一存储到统计结果数据库中;3)风玫瑰图数据提供服务进程,从统计结果数据库中获得风玫瑰图数据,并根据风玫瑰图数据解析格式进行组装数据。

【技术特征摘要】
1.一种基于ExtJs的风玫瑰图绘制方法,其特征在于,包括:1)确定原始风要素数据类型以及定时统计时间;2)数据预处理引擎根据定时统计时间对不同形式的原始风要素数据进行预处理,最终形成不同等级的风在16个风向上出现的次数;并将统计结果数据统一存储到统计结果数据库中;3)风玫瑰图数据提供服务进程,从统计结果数据库中获得风玫瑰图数据,并根据风玫瑰图数据解析格式进行组装数据;所述的风玫瑰图数据提供服务进程支持wss协议的websocket,通过向前端提供风玫瑰统计数据的函数签名来与前端完成数据通信;在其启动之前确定所述的风玫瑰图数据解析格式;读取统计结果数据根据所述的风玫瑰图数据解析格式将统计结果数据解析成风玫瑰图显示所需的数据格式。2.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述原始风要素数据类型包括:类型一:风速、风向风要素数据按固定时间间隔统一存储;类型二:南北方向风速矢量和东西方向风速矢量按固定时间间隔统一存储;类型三:风速数据和风向数据分别由不同的数据设备采集并分开存储。3.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述数据预处理引擎作为后台服务进程对不同数据类型的原始风要素数据进行预处理统计,具体为:根据原始风要素数据类型标识参数调用不同的数据预处理模块,对原始风要素数据进行统计处理,生成十二乘十六维的数组,然后将处理结果统一的进行数据库存储。4.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,步骤3)中,首先确定风玫瑰图数据解析格式,确定定时推送的时间参数。5.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述的风玫瑰图数据解析格式为json数据格式或xml数据格式,所述的风玫瑰图数据解析格式与风玫瑰图绘制的请求数据格式相对应。6.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述的风玫瑰图数据提供服务进程统一管理Web客户端,将连接到所述的风玫瑰图数据提供服务进程的所有的客户端注册到管理队列中,当定时推送时间到达时依次遍历管理队列中注册的Web客户端对象,将风玫瑰图数据推...

【专利技术属性】
技术研发人员:禇红健包德梅王媛媛王志心李佑文岳以洋罗存
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[北京市电信通] 2014年12月08日 11:11
    在极坐标底图上点绘出的某一地区在某一时段内各风向出现的频率或各风向的平均风速的统计图前者为风向玫瑰图后者为风速玫瑰图因图形似玫瑰花朵故名它是消防监督部门根据国家有关消防技术规范在开展建审工作时必不可少的工具
    0
1