CN103714209A - 一种基于ExtJs的风玫瑰图绘制方法 - Google Patents

一种基于ExtJs的风玫瑰图绘制方法 Download PDF

Info

Publication number
CN103714209A
CN103714209A CN201310723907.6A CN201310723907A CN103714209A CN 103714209 A CN103714209 A CN 103714209A CN 201310723907 A CN201310723907 A CN 201310723907A CN 103714209 A CN103714209 A CN 103714209A
Authority
CN
China
Prior art keywords
data
wind
rose
extjs
wind rose
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310723907.6A
Other languages
English (en)
Other versions
CN103714209B (zh
Inventor
禇红健
包德梅
王媛媛
王志心
李佑文
岳以洋
罗存
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guodian Nanjing Automation Co Ltd
Original Assignee
Guodian Nanjing Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guodian Nanjing Automation Co Ltd filed Critical Guodian Nanjing Automation Co Ltd
Priority to CN201310723907.6A priority Critical patent/CN103714209B/zh
Publication of CN103714209A publication Critical patent/CN103714209A/zh
Application granted granted Critical
Publication of CN103714209B publication Critical patent/CN103714209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

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

Description

一种基于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”事件。
本发明的特点和所达到的有益效果:
首先,数据增强预处理引擎能够定时对形式不统一的原始风速风向数据进行预处理,其预处理的结果是统一的。为了快速的提供月统计数据和年统计数据,数据增强预处理引擎通过所设置的不同的定时条件将采集设备所采集的数据常包含10分钟、15分钟的平均值结果进行数据统计,获得按小时或者日平均风速、风向的统计结果,然后再进行月和年统计数据的计算。
其次,该方法前端Extjs和风玫瑰图数据提供服务进程利用WebSocket直接通信并利用Extjs的事件传递机制更新风玫瑰图的数据store进而通知“WindRoseChart”组件刷新风玫瑰图。直接利用websocket通信还可以根据所设定的条件定时的向前台推送统计数据,如定时向前台推送日平均风速、风向统计数据,前台会将数据到达的事件传递给ExtJs的风玫瑰图的数据store,数据store准备好之后会将事件继续传递到“WindRoseChart”组件从而达到定时动态更新风玫瑰图的目的。
再次,ExtJs本身已经将模型、数据和显示分层,只需将所述的“WindRoseChart”组件配置给Extjs的显示层(如Extjs的Panel组件),然后再将模型、显示层与数据store关联就可以利用Extjs本身自动更新进而触发自定义的事件。
最后,该方法对网络带宽的要求很低,只需获得后台服务进程统计的最终结果便可,从而可以通过ExtJs快速的在Web浏览器中渲染并生成玫瑰图。
以上特点使得本发明方法对以下功能的实现有重要意义:
本发明支持后台定时推送及前端请求数据的方式更新风玫瑰图;能够快速准确的在前端渲染效果美观的风玫瑰图、方便快捷的接入到所需要绘制玫瑰图的Web信息管理系统中;还支持将历史的风要素数据的统计结果手动导入到数据增强预处理引擎中完成预处理后存库并进行统计,然后推送统计数据到前端生成风玫瑰图;具有易于部署,移植方便、可扩展性强的特点。
附图说明
图1:本发明实施例一种ExtJs的玫瑰图绘制方法分成结构图。
图2:本发明实施例一种基于ExtJs的玫瑰图绘制方法流程图。
图3:本发明实施例一种基于ExtJs的玫瑰图绘制方法风玫瑰图柱状展示方式。
图4:本发明实施例一种基于ExtJs的玫瑰图绘制方法风玫瑰图折线展示方式。
图5:本发明实施例一种基于ExtJs的玫瑰图绘制方法风玫瑰图历史数据原始数据。
具体实施方式
为了使本领域技术人员能进一步了解本发明的特征及其技术内容,请参阅以下有关本发明的详细说明与附图,附图提供参考及说明并非用来限制本发明。
下面结合附图,对本发明的特征和技术方案进行整体描述,然后再给出具体的实施实例。
参见图1和图2,详细说明本发明一种基于ExtJs的玫瑰图绘制方法过程。
步骤101,确定数据预处理引擎进程和风玫瑰图数据提供服务进程默认启动参数。
1.数据预处理引擎进程的风要素类型数据参数约定为三种类型标识。
DataType:1代表原始数据库中提供两个风速矢量。
DataType:2代表原始数据库中直接提供平均风速和平均风向信息。
DataType:3原始数据库中提供的风速和风向数据由不同的采集设备所采集。
2.数据预处理引擎进程的读取数据模式参数配置约定两种读取数据模式标识。
ReadDataModel:auto代表自动从数据库中读取原始风要素数据;
ReadDataModel:artificial代表从指定目录中读取人工统计的风要素数据。本实施例支持cvs格式的文件数据,文件格式并不限于此,可根据具体的文件数据的存储格式调整文件解析程序。
3.风玫瑰图数据提供服务进程的数据解析格式默认参数约定两种数据解析格式。
AnalysisType:1代表数据组装成为Json格式的数据;
AnalysisType:2代表数据组装成xml格式的数据。
步骤102,启动数据预处理引擎进程进行数据预处理、启动风玫瑰图数据提供服务进程与前端交互。
1.数据预处理引擎进程作为后台服务进程启动后即进行数据的预处理和统计。
1)若原始风要素数据类为所述的“DataType:1”,表示原始数据库中提供两个风速矢量,说明从风速采集没备中得到的数据分别为南北方向的风速:vx、东两方向的风速:vy,和垂直方向的风速时程vz。则数据预处理引擎进程预处理步骤为:
步骤102_1)求平均风速和风向,求平均风速和风向时不考虑垂直风。
首先计算南北方向、东西方向的风速时程的平均值
Figure BDA0000445809380000062
之后根据式(1)求得平均风速
Figure BDA0000445809380000063
V ‾ = v ‾ x 2 + v ‾ y 2     式(1)
对于平均风速的主风向角,首先设正东风向角为0,正北风向角为90。在这样的坐标系下,主风向角θ由式(2)获得,即
Figure BDA0000445809380000065
    式(2)
步骤102_2)量化风向和风力等级
按照从数据库表中东西方向和南北方向的风速矢量,根据式(1),(2)获得10分钟(或15分钟,由采样频率而定)平均风向
Figure BDA0000445809380000071
然后将它归纳到16个统计风向上(360度平均分成16份,对任意风向
Figure BDA0000445809380000072
如果
Figure BDA0000445809380000073
则将它统计到0°统计风向上;如果
Figure BDA0000445809380000074
则将它统计到22.5°风向上,依次类推。最后祛除
Figure BDA0000445809380000075
<0和
Figure BDA0000445809380000076
的不合理点;同理将式(1)中得到的平均风速根据“蒲福风力等级(Beaufort scale)”量化到闭区间[0,12]上。该统计工作可以采用存储过程进行统计计算,这样将大大提高工作效率。
步骤102_3)根据定时统计条件可编写数据库存储过程,快速高效的统计一天内、一月内以及一年内不同等级的风在16个方向上出现的次数,并存在不同的结果表中。
2)若原始风要素数据类为所述的“DataType:2”,表示原始数据库中直接提供平均风速和平均风向信息,则直接将统计时间间隔内的平均风速和平均风向量化的[0,12]和[1,16]的闭区间中。然后通过“步骤102_3”进行数据统计。
3)若原始风要素数据类为所述的“DataType:3”,表示原始数据库中提供的风速和风向数据由不同的采集设备所采集,特别是一些实时监控系统中当表示风速或风向的遥测量变位时采集设备都会上送变化的数据,严格意义上讲并不是按有规律的时间间隔上送数据且在风速数据和风向数据的时标上并不完全统一。对于这种情况,数据预处理引擎进程首先需要设定一个统计时间间隔,然后统计该时间间隔中的风速平均值和风向平均值,如果统计的时间间隔内风速或风向没有变化,则统一采用上一时刻的风速或风向数据进行修正。然后计算所设定统计时间间隔内的平均风速和平均风向并将其量化到[0,12]和[1,16]的闭区间中。然后通过“步骤102_3”进行数据统计。
2.启动风玫瑰图数据提供服务进程
实施例中数据解析格式为所述的“AnalysisType:1”代表数据组装成为Json格式的数据。
进程启动后处于监听状态,当有浏览器请求连接时就将该客户端信息放入推送队列中,该队列维护客户端信息;
获取统计时间段,主要有两种方式:前台请求,从定时条件库中获取的定时推送时间段。
当前台请求时,首先获得统计时间段,然后计算不同等级的风在其所在的风方向上出现的频率,生成12乘16维的数组并将其转换成Json格式或Xml格式的数据发送到前台。
当定时条件到达时同样统计不同等级的风在其所在的风方向上出现的频率,生成12乘16维的数组并将其转换成Json格式或Xml格式,然后遍历推送队列依次将数据推送到前端,如果队列中没有任何客户端对象,则取消此次推送数据的操作。
其统计公式如下:
f ij = N ij / Σ t 1 t 2 Σ i = 1 n Σ j = 1 m N ij , n = 12 , m = 16 - - - ( 3 )
其中fij表示统计时段内i等级的风在方向j上出现的频率,Nij表示在所统计时间段内在i级风在风向j出现的次数,t1标识统计时间段的开始时间,t2标识统计时间段的结束时间。
步骤103,Extjs前端配置与风玫瑰图数据提供服务进程进行数据交互并生成玫瑰图。
1.前端Extjs脚本部署Web服务器,本方法的通信过程不过于依赖于Web服务器,Web服务器只是用来转发所有的Extjs前端脚本给浏览器进行解释执行,所有与后台的交互是基于WSS协议的WebSocket与数据预处理引擎进程和风玫瑰图数据提供服务进程直接交互,完成异步通信的同时还很大的提高了通信的效率。实施例中利用Lighttpd轻量级服务器(不限于此)。
2.配置在Extjs雷达图基础上扩展的玫瑰图绘制组件“WindRoseChart”,渲染到ExtJs的面板(Panel)组件中并将WindRoseChart的series(序列化配置项)与风玫瑰图的数据集(Store)绑定。所定义数据Store其数据模型及数据的读取方式和风玫瑰图数据提供服务进程保持一致。
“WindRoseChart”关键配置及具体的绑定配置的主要步骤如下:
1)创建Extjs的Panel对象,记为“ExtRosePanel”。利用Extjs的事件机制为“ExtRosePanel”组件注册“玫瑰图数据加载事件”,on('loadnew_windroseData',this.__refreshRoseChart,this);当事件到达后调用刷新玫瑰图的处理方法刷新玫瑰图。然后定义"Ext.data.Store"为其添加“loadnew_windroseData”事件addEvents('loadnew_windroseData')。当Store加载数据时触发fireEvent('loadnew_windroseData',this);
2)实例化“WindRoseChart”对象并将其渲染到Extjs的Panel组件中,记为“ExtRosePanel”。配置WindRoseChart对象,该对象的关键配置选项如下:
chart:{polar:true,type:'column'||'line'}主要指明坐标系为极坐标,玫瑰图的显示方式信息
categories:["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"]用于极坐标系中显示风玫瑰图的16个方向。
series:[{field:'OneLevelWind',name:'一级风',data:[]},…,{field:'TotalWind',name:十二级风,data:[]}];其中series对象的field配置项用来与"Ext.data.Store"的配置项进行绑定;series对象的data是属性用来显示风玫瑰图的统计数据的series与"Ext.data.Store"绑定动态刷新series对象的data属性。
3.利用ExtJs事件机制异步判定数据到达后通知“WindRoseChart”更新数据进而显示新的玫瑰图。
本发明的方法易于理解、部署方便,为Web信息系统前端玫瑰图的开发降低了难度、提供了充分的支持,并能方便快捷的接入到所需要绘制玫瑰图的Web信息系统中。
实施例1:
Step1:参照步骤101,其中读取数据模式设置为所述的ReadDataModel:auto代表自动从数据库中读取原始风要素数据;数据预处理引擎进程的风要素类型数据参数设置为DataType:1代表原始数据库中提供两个风速矢量;风玫瑰图数据提供服务进程的数据解析格式设置为AnalysisType:1代表数据组装成为Json格式的数据。
Step2:参照步骤102,首先启动数据预处理引擎进程进行数据预处理、启动风玫瑰图数据提供服务进程,这两个后台服务进程会根据Step1中所设置的参数完成与前端交互。
Step3:参照步骤103Extjs前端配置与风玫瑰图数据提供服务进程进行数据交互并生成玫瑰图。该实施例中利用Lighttpd轻量级Web服务器(不限于此)。
Step4:通过Web浏览器访问玫瑰图页面,输入统计时间间隔、玫瑰图显示方式等条件,然后向风玫瑰图数据提供服务进程请求风玫瑰图数据。最终生成的风玫瑰图如图3、图4所示。
实施例2:
Step1:参照步骤101,其中读取数据模式设置为所述的ReadDataModel:auto代表自动从数据库中读取原始风要素数据;数据预处理引擎进程的风要素类型数据参数设置为DataType:3原始数据库中提供的风速和风向数据由不同的采集设备所采集;风玫瑰图数据提供服务进程的数据解析格式设置为AnalysisType:1代表数据组装成为Json格式的数据。
Step2:参照步骤102,首先启动数据预处理引擎进程进行数据预处理、启动风玫瑰图数据提供服务进程,这两个后台服务进程会根据Step1中所设置的参数完成与前端交互。
Stept3:设置定时条件库中的定时推送时间参数(默认为一天),可以根据实际需求设定测试时间。
Step4:参照步骤103Extjs前端配置与风玫瑰图数据提供服务进程进行数据交互并生成玫瑰图。该实施例中利用Lighttpd轻量级Web服务器(不限于此)。
Step5:通过Web浏览器访问玫瑰图页面,在页面上只需玫瑰图显示方式条件,等到满足“定时推送时间”条件时,风玫瑰图数据提供服务进程会将统计好的风玫瑰图数据主动发送到前端界面中完成玫瑰图的更新(若打开多个浏览器同时访问玫瑰图页面,则每一个浏览器页面都会收到推送数据并更新玫瑰图)。最终生成的风玫瑰图与实施例1中所生成的图形类似。
实施例3:
Step1:参照步骤101,ReadDataModel:artificial代表从指定目录中读取人工统计的风要素数据,本实施例支持cvs格式的文件数据,文件格式并不限于此,可根据具体的文件数据的存储格式调整文件解析程序。其原始数据的部分截图如图5所示,对于原始的数据需要简单处理成一定格式的风要素数据统计数据并存成文件;DataType:2代表原始数据库中直接提供平均风速和平均风向信息;风玫瑰图数据提供服务进程的数据解析格式设置为AnalysisType:1代表数据组装成为Json格式的数据。
Step2:将统计数据文件放到指定目录下。
Step3:参照步骤102,首先启动数据预处理引擎进程进行数据预处理、启动风玫瑰图数据提供服务进程,这两个后台服务进程会根据Step1中所设置的参数完成与前端交互。
Step4:参照步骤103Extjs前端配置与风玫瑰图数据提供服务进程进行数据交互并生成玫瑰图。该实施例中利用Lighttpd轻量级Web服务器(不限于此)。
Step5:通过Web浏览器访问玫瑰图页面,在页面上只需玫瑰图显示方式条件,文件数据解析完之后,数据预处理引擎进程通知风玫瑰图数据提供服务进程将统计好的风玫瑰图数据主动发送到前端界面中完成玫瑰图的更新。最终生成的风玫瑰图与实施例1中所生成的图形类似。

Claims (10)

1.一种基于ExtJs的风玫瑰图绘制方法,其特征在于,包括:
1)确定原始风要素数据类型以及定时统计时间;
2)数据预处理引擎根据定时统计时间对不同形式的原始风要素数据进行预处理,最终形成不同等级的风在16个风向上出现的次数;并将统计结果数据统一存储到统计结果数据库中;
3)风玫瑰图数据提供服务进程,从统计结果数据库中获得风玫瑰图数据,并根据风玫瑰图数据解析格式进行组装数据。
2.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述原始风要素数据类型包括:类型一:风速、风向等风要素数据按固定时间间隔统一存储;类型二:南北方向风速矢量和东西方向风速矢量按固定时间间隔统一存储;类型三:风速数据和风向数据分别由不同的数据设备采集并分开存储。
3.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述数据预处理引擎作为后台服务进程对不同数据类型的原始风要素数据进行预处理统计,具体为:根据原始风要素数据类型标识参数调用不同的数据预处理模块,对原始风要素数据进行统计处理,生成十二乘十六维的数组,然后将处理结果统一的进行数据库存储。
4.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,步骤3)中,首先确定风玫瑰图数据解析格式,确定定时推送的时间参数。
5.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述的风玫瑰图数据解析格式为json数据格式或xml数据格式,所述的风玫瑰图数据解析格式与风玫瑰图绘制的请求数据格式相对应。
6.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述的风玫瑰图数据提供服务进程支持wss协议的websocket,通过向前端提供风玫瑰统计数据的函数签名来与前端完成数据通信;在其启动之前确定所述的风玫瑰图数据解析格式;读取统计结果数据根据所述的风玫瑰图数据解析格式将统计结果数据解析成风玫瑰图显示所需的数据格式。
7.根据权利要求1所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述的风玫瑰图数据提供服务进程统一管理Web客户端,将连接到所述的风玫瑰图数据提供服务进程的所有的客户端注册到管理队列中,当定时推送时间到达时依次遍历管理队列中注册的Web客户端对象,将风玫瑰图数据推送到前端;同时所述的风玫瑰图数据提供服务进程还支持事件触发推送风玫瑰图数据到前端。
8.根据权利要求6或7所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,Extjs端Web通信管理通用类“Ext.sac.router.Router”,用于与所述风玫瑰图数据提供服务进程通信;
Extjs端WebSocket服务通用公共类,用于与所述风玫瑰图数据提供服务进程建立连接;
Extjs回调函数通用公共类,根据自定义函数签名来调用自定义的函数进行事务处理;
Extjs雷达图组件基础上自定义扩展的玫瑰图绘制组件“WindRoseChart”;
将所述Extjs雷达图基础上扩展的玫瑰图绘制组件“WindRoseChart”渲染到ExtJs的面板组件中并与风玫瑰图的数据集绑定,风玫瑰图的数据集加载数据时利用Extjs的事件传递机制通知“WindRoseChart”更新数据。
9.根据权利要求8所述的基于ExtJs的风玫瑰图绘制方法,其特征在于, Extjs端Web通信管理通用类“Ext.sac.router.Router”,创建所述WebSocket服务通用公共类并为其注册“dataarrived”,“connected”,“disconnected”,“datasent”事件响应函数;
Extjs端Web通信管理通用类“Ext.sac.router.Router”,通过发送队列、等候队列、等候挂起队列来统一管理所有请求操作,同时当监听到“dataarrived”时通过所述回调函数通用公共类的实例对接收的数据进行所需的处理。
10.根据权利要求9所述的基于ExtJs的风玫瑰图绘制方法,其特征在于,所述Extjs端WebSocket服务通用公共类完成“dataarrived”,“connected”,“disconnected”,“datasent”事件的添加,当打开Websocket实例时触发“connected”,关闭Websocket实例时触发“disconnected”,当Websocket实例向后台发送数据时触发“datasent”事件;Websocket实例时监听到数据到达时触发“dataarrived”事件。
CN201310723907.6A 2013-12-25 2013-12-25 一种基于ExtJs的风玫瑰图绘制方法 Active CN103714209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310723907.6A CN103714209B (zh) 2013-12-25 2013-12-25 一种基于ExtJs的风玫瑰图绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310723907.6A CN103714209B (zh) 2013-12-25 2013-12-25 一种基于ExtJs的风玫瑰图绘制方法

Publications (2)

Publication Number Publication Date
CN103714209A true CN103714209A (zh) 2014-04-09
CN103714209B CN103714209B (zh) 2017-01-04

Family

ID=50407180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310723907.6A Active CN103714209B (zh) 2013-12-25 2013-12-25 一种基于ExtJs的风玫瑰图绘制方法

Country Status (1)

Country Link
CN (1) CN103714209B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228587A (zh) * 2016-07-13 2016-12-14 国家海洋信息中心 基于gis图元的海洋风玫瑰图绘制方法
CN106845018A (zh) * 2017-02-27 2017-06-13 中国民航大学 风电场对气象雷达降雨量影响的分析与定量化评估方法
CN107403458A (zh) * 2017-07-27 2017-11-28 郑州云海信息技术有限公司 一种风向数据处理方法及装置
CN109991683A (zh) * 2019-04-12 2019-07-09 中国气象局沈阳大气环境研究所 风频数据处理方法及装置
CN110750257A (zh) * 2019-09-28 2020-02-04 天津同阳科技发展有限公司 一种玫瑰图显示方法及系统
CN112051362A (zh) * 2020-09-01 2020-12-08 杭州壹丈科技有限公司 风玫瑰预判污染物变化模型

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102565879A (zh) * 2011-08-04 2012-07-11 南京信息工程大学 一种风资料的处理方法
WO2012107051A1 (en) * 2011-02-08 2012-08-16 Vestas Wind Systems A/S Assessing remaining useful life for portions of wind turbine support structures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012107051A1 (en) * 2011-02-08 2012-08-16 Vestas Wind Systems A/S Assessing remaining useful life for portions of wind turbine support structures
CN102565879A (zh) * 2011-08-04 2012-07-11 南京信息工程大学 一种风资料的处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
宁萌: "风玫瑰图的Matlab编程绘制", 《港工技术》 *
郁云: "风玫瑰图在气象服务信息系统中的实现与应用", 《电脑知识与技术》 *
阎启: "风场长期观测与数据分析", 《建筑科学与工程学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228587A (zh) * 2016-07-13 2016-12-14 国家海洋信息中心 基于gis图元的海洋风玫瑰图绘制方法
CN106228587B (zh) * 2016-07-13 2018-10-30 国家海洋信息中心 基于gis图元的海洋风玫瑰图绘制方法
CN106845018A (zh) * 2017-02-27 2017-06-13 中国民航大学 风电场对气象雷达降雨量影响的分析与定量化评估方法
CN106845018B (zh) * 2017-02-27 2020-06-16 中国民航大学 风电场对气象雷达降雨量影响的分析与定量化评估方法
CN107403458A (zh) * 2017-07-27 2017-11-28 郑州云海信息技术有限公司 一种风向数据处理方法及装置
CN109991683A (zh) * 2019-04-12 2019-07-09 中国气象局沈阳大气环境研究所 风频数据处理方法及装置
CN110750257A (zh) * 2019-09-28 2020-02-04 天津同阳科技发展有限公司 一种玫瑰图显示方法及系统
CN112051362A (zh) * 2020-09-01 2020-12-08 杭州壹丈科技有限公司 风玫瑰预判污染物变化模型
CN112051362B (zh) * 2020-09-01 2022-06-24 杭州壹丈科技有限公司 风玫瑰预判污染物变化模型

Also Published As

Publication number Publication date
CN103714209B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN103714209A (zh) 一种基于ExtJs的风玫瑰图绘制方法
CN107703564B (zh) 一种降雨预测方法、系统及电子设备
CN108647330B (zh) 一种基于bim模型文件的3d轻量化转换方法
CN102800038B (zh) 基于物联网与云计算的智慧教育e卡通系统平台
US20210027112A1 (en) Semantic State Based Sensor Tracking and Updating
CN106443833B (zh) 一种基于云计算的数值天气预报方法
CN109408603A (zh) 一种基于大数据的台区拓扑图绘制方法
US20190139059A1 (en) Demand forecasting device, demand forecasting method and non-transitory computer readable medium
CN102012817A (zh) 基于Flex技术大型公建能耗监测平台的开发方法
EP2899572B1 (en) Systems and methods for simulating time phased solar irradiance plots
KR102191763B1 (ko) 시나리오 기반의 재난 확산 예측 방법, 재난 확산 예측 장치 및 재난 확산 예측 시스템
Wang et al. Research of intelligent transportation system based on the internet of things frame
KR20200055503A (ko) 기축 건물의 에너지 데이터 처리장치 및 방법
CN103246434A (zh) 一种基于ArcGIS Engine及OpenGL的多星资源可视化系统
CN110111230A (zh) 一种气象生态环境信息一体化科普站系统
CN112347547A (zh) 一种日照时长模拟方法、装置及电子设备
Yang et al. Research on weapon and equipment requirement analysis method based on DODAF
CN105610487A (zh) 一种卫星观测资源跨域协调调度方法
CN103167032A (zh) 地图辅助的室内定位后台服务系统
Daki et al. HBase-based storage system for electrical consumption forecasting in a Moroccan engineering school
CN107580297A (zh) 一种基于各地气象基站和移动终端的气象数据传输方法和精准推送系统
Aguirre-Munizaga et al. A cloud computing based framework for storage and processing of meteorological data
CN107664507A (zh) 显示无人飞行器轨迹的方法及服务器、客户端
CN111414400A (zh) 一种水文信息宣传系统架构方法
CN105335468B (zh) 一种基于百度地图api的地理位置实体规范化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant