首页 / 专利库 / 电脑编程 / 算法 / 一种玫瑰图显示方法及系统

一种玫瑰图显示方法及系统

阅读:572发布:2023-05-27

专利汇可以提供一种玫瑰图显示方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种玫瑰图显示方法以及系统,所述方法包括如下步骤:(1)采集数据上传至 数据库 ;(2)通过网络实时 请求 获取相应的数据;(3)进行实时分析和图形展现。本发明提供的一种实时显示的玫瑰图的方法及系统,从前端设备采集数据入库、并通过网络实时请求获取数据。通过凸包 算法 、反距离加权插值法来实现图形展示。本 申请 可作为 插件 ,在移动端以及pc端设备进行显示,插件基于Canvas绘制灵活易用,本插件自动根据数据显示测量范围,也可通过配置其显示色标范围。,下面是一种玫瑰图显示方法及系统专利的具体信息内容。

1.一种玫瑰图显示方法,其特征在于,所述方法包括如下步骤:
(1)采集数据上传至数据库
(2)通过网络实时请求获取相应的数据;
(3)进行实时分析和图形展现。
2.根据权利要求1所述的一种玫瑰图显示方法,其特征在于,在所述步骤(1)中,采集的数据为度值、风速值和被测量污染物的浓度值。
3.根据权利要求2所述的一种玫瑰图显示方法,其特征在于,所述步骤(3)具体包括:
(3.1)角度转换:将所述风向角度值中大于360°的转换为360°以内的值。
(3.2)极坐标转换为笛卡尔坐标:将风向角度值以及风速值的极坐标转换为笛卡尔坐标;
(3.3)绘制热图:将步骤(1)中得到的被测量污染物的浓度值的离散点数据,经过IDW算法计算后,得到离散数据点,在canvas中画出矩阵图;
(3.4)将绘制的热力图添加到笛卡尔坐标系中;
(3.5)凸包计算:根据步骤(3.2)转换的坐标,在步骤(3.3)绘制的热力图中画出凸包各个点,从而限定凸包范围;
(3.6)绘制最终图形:根据凸包范围判定步骤(3.3)得到的离散数据点,是否在凸包范围内,取两者交集,并形成最终图形。
4.根据权利要求1所述的一种玫瑰图显示方法,其特征在于,所述方法基于JavaScript语言实现。
5.一种玫瑰图显示系统,其特征在于,所述系统包括:
数据采集单元以及数据存储单元、数据请求分析单元,
所述数据采集单元用于采集数据并上传至数据库;
所述数据存储单元用于存储采集的数据;
所述数据请求分析单元用于通过网络实时请求获取相应的数据,并进行实时分析和图形展现。
6.根据权利要求5所述的一种玫瑰图显示系统,其特征在于,所述数据请求分析单元为PC或手机、pad。
7.根据权利要求5所述的一种玫瑰图显示系统,其特征在于,所述数据采集单元采集的数据为风向角度值、风速值和被测量污染物的浓度值。
8.根据权利要求7所述的一种玫瑰图显示系统,其特征在于,所述数据请求分析单元进行分析和图形展现,包括如下步骤:
(3.1)角度转换:将所述风向角度值中大于360°的转换为360°以内的值。
(3.2)极坐标转换为笛卡尔坐标:将风向角度值以及风速值的极坐标转换为笛卡尔坐标;
(3.3)绘制热力图:将步骤(1)中得到的被测量污染物的浓度值的离散点数据,经过IDW算法计算后,得到离散数据点,在canvas中画出矩阵图;
(3.4)将绘制的热力图添加到笛卡尔坐标系中;
(3.5)凸包计算:根据步骤(3.2)转换的坐标,在步骤(3.3)绘制的热力图中画出凸包各个点,从而限定凸包范围;
(3.6)绘制最终图形:根据凸包范围判定步骤(3.3)得到的离散数据点,是否在凸包范围内,取两者交集,并形成最终图形。
9.根据权利要求5所述的一种玫瑰图显示系统,其特征在于,所述系统基于JavaScript语言实现。

说明书全文

一种玫瑰图显示方法及系统

技术领域

[0001] 本发明涉及图形显示技术领域,尤其涉及一种玫瑰图显示方法及系统。

背景技术

[0002] 随着工业领域的发展,我国的环境污染越来越严重,国家环保相关政策得到大推行,环保行业也得到了相应的扶持,在国内蓬勃发展。治理环境首先先充分了解环境,得到相关的监测数据,根据监测数据针对性的治理。因此环境监测成为环保治理的首要任务。对于监测设备采集的数据进行图形展示时,在气象领域有非常知名的电脑气象制图软件MeteoInfo与MATLAB,但C端软件不能实时网络请求数据实时绘制、也不便于B端调用其内部方法、也不易于实现插件化和灵活更改,在JavaScript中也无此类插件可用。

发明内容

[0003] 针对上述现有技术中存在的技术问题,本发明的目的是提供一种玫瑰图显示方法及系统。
[0004] 为实现本发明的目的,本发明采用如下技术方案:
[0005] 一种玫瑰图显示方法,所述方法包括如下步骤:
[0006] (1)采集数据上传至数据库
[0007] (2)通过网络实时请求获取相应的数据;
[0008] (3)进行实时分析和图形展现。
[0009] 其中,在上述步骤(1)中,采集的数据为度值、风速值和被测量污染物的浓度值。
[0010] 其中,上述步骤(3)具体包括:
[0011] (3.1)角度转换:将所述风向角度值中大于360°的转换为360°以内的值。
[0012] (3.2)极坐标转换为笛卡尔坐标:将风向角度值以及风速值的极坐标转换为笛卡尔坐标;
[0013] (3.3)绘制热力图:将步骤(1)中得到的被测量污染物的浓度值的离散点数据,经过IDW算法计算后,得到离散数据点,在Canvas中画出矩阵图;
[0014] (3.4)将绘制的热力图添加到笛卡尔坐标系中;
[0015] (3.5)凸包计算:根据步骤(3.2)转换的坐标,在步骤(3.3)绘制的热力图中画出凸包各个点,从而限定凸包范围;
[0016] (3.6)绘制最终图形:根据凸包范围判定步骤(3.3)得到的离散数据点,是否在凸包范围内,取两者交集,并形成最终图形。
[0017] 其中,所述方法基于JavaScript语言实现。
[0018] 相应地,还提供了一种玫瑰图显示系统,所述系统包括:
[0019] 数据采集单元以及数据存储单元、数据请求分析单元,
[0020] 所述数据采集单元用于采集数据并上传至数据库;
[0021] 所述数据存储单元用于存储采集的数据;
[0022] 所述数据请求分析单元用于通过网络实时请求获取相应的数据,并进行实时分析和图形展现。
[0023] 其中,所述数据请求分析单元为PC或手机、pad。
[0024] 其中,所述数据采集单元采集的数据为风向角度值、风速值和被测量污染物的浓度值。
[0025] 其中,所述数据请求分析单元进行分析和图形展现,包括如下步骤:
[0026] (3.1)角度转换:将所述风向角度值中大于360°的转换为360°以内的值。
[0027] (3.2)极坐标转换为笛卡尔坐标:将风向角度值以及风速值的极坐标转换为笛卡尔坐标;
[0028] (3.3)绘制热力图:将步骤(1)中得到的被测量污染物的浓度值的离散点数据,经过IDW算法计算后,得到离散数据点,在Canvas中画出矩阵图;
[0029] (3.4)将绘制的热力图添加到笛卡尔坐标系中;
[0030] (3.5)凸包计算:根据步骤(3.2)转换的坐标,在步骤(3.3)绘制的热力图中画出凸包各个点,从而限定凸包范围;
[0031] (3.6)绘制最终图形:根据凸包范围判定步骤(3.3)得到的离散数据点,是否在凸包范围内,取两者交集,并形成最终图形。
[0032] 其中,所述系统基于JavaScript语言实现。
[0033] 与现有技术相比,本发明的有益效果为,本发明提供的一种玫瑰图显示方法及系统,从前端设备采集数据入库、并通过网络实时请求获取数据。通过凸包算法、反距离加权插值法来实现图形展示。易于直观看出最近时间段范围内被检测设备区域的污染情况分布图以及最大风速和风向的分布,具有快速实时分析的特点。
[0034] 本申请可作为插件,在移动端以及PC端设备进行显示,插件基于Canvas绘制灵活易用,本插件自动根据数据显示测量范围,也可通过配置其显示色标范围。附图说明
[0035] 图1所示为本申请系统结构示意图;
[0036] 图2所示为本申请方法流程示意图;
[0037] 图3所示为本申请热力图结构示意图;
[0038] 图4所示为本申请热力图添加到坐标系中的示意图;
[0039] 图5所示为本申请凸包计算坐标示例图;
[0040] 图6所示为利用本申请绘制的玫瑰图示意图;
[0041] 图7所示为本申请不同时段同一物质对比中绘制的玫瑰图第一示意图;
[0042] 图8所示为本申请不同时段同一物质对比中绘制的玫瑰图第二示意图;
[0043] 图9所示为本申请同一时段不同物质绘制的玫瑰图第一示意图;
[0044] 图10所示为本申请同一时段不同物质绘制的玫瑰图第二示意图;
[0045] 图11所示为本申请同一时段不同物质绘制的玫瑰图第三示意图;

具体实施方式

[0046] 以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0047] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用属于“包含”和/或“包括”时,其指明存在特征、步骤、操作、部件或者模、组件和/或它们的组合。
[0048] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0049] 本申请中前端设备采集数据,并通过网络将数据传输入数据库,主机设备通过请求得到数据,进行运算展示。
[0050] 其中,前端设备周期性采集数据,间隔时间能够设定;相应地,主机设备请求数据同样为周期性获取,间隔时间能够设定。
[0051] 如图2所示,本申请方法中,主机在从数据库中获取数据后,通过如下流程进行处理:
[0052] 1)角度转换
[0053] 首先对数据进行优化。
[0054] 将前端采集到的风向角度值大于360°的角度值转换为360°以内的值。具体步骤如下:
[0055] 在本例中将θi表示为风向的角度值。
[0056] 如果角度大于360°时:
[0057] θi=θi-360
[0058] 当小于360°时,不做处理将保留原值:
[0059] θi=θi。
[0060] 2)极坐标转换笛卡尔坐标
[0061] 前端设备采集到的数据是由风向角度值、风速值和被测量污染物的浓度值构成,在此为了便于计算需将极坐标转换为笛卡尔坐标。
[0062] 极坐标转换为笛卡尔坐标公式如下:
[0063] xi=ri*cos(θi)
[0064] yi=ri*sin(θi)
[0065] 其中,(xi,yi)代表笛卡尔坐标系的横纵坐标,ri代表极坐标中的风速,θi为风向角度值。
[0066] 3)插值计算
[0067] 绘制热力图,当获取到被测量污染物的浓度值的离散点数据后绘制平面时,需要用到IDW(反距离加权插值)算法,
[0068] IDW算法是指距离倒数乘方格网化方法是一个加权平均插值法,可以进行确切的或者圆滑的方式插值。方次参数控制着权系数如何随着离开一个格网结点距离的增加而下降。对于一个较大的方次,较近的数据点被给定一个较高的权重份额,对于一个较小的方次,权重比较均匀地分配给各数据点。
[0069] 具体实现公式如下:
[0070] 加权函数公式为:
[0071] 其中,p为反距离的幂值,幂参数可基于距输出点的距离来控制已知点对内插值的影响。在本例中,幂值默认设置为2(在实际应用中可自行根据需求自定义值)。di为各个离散点到插值点的距离,
[0072]
[0073] 其中,(xi,yi)为原始数据中被测量污染物的浓度值的离散点,(ax,ay)为插值点坐标,插值公式如下:首先计算
[0074] x=|xmin-xmax|
[0075] d=x/n
[0076] axn=xmin+(n-1)*d
[0077] x代表横坐标距离,d为步长,axn为生成横坐标上等差数列数值。纵坐标依此类推公式。在此将不进行赘述。
[0078] 将上述计算加权函数wi带入以下公式,
[0079]
[0080] 其中,z(xi,yi)代表各个离散点的浓度值,对其进行加权求和, 得出相应矩阵。
[0081] 利用上述公式得到的离散数据点,在Canvas中画出矩阵图形,如图3所示,其中Z的浓度值的大小根据右侧图例像是相应的颜色
[0082] 在Canvas中画出坐标系如图4所示,并把上述图3所示的热力图添加到坐标系中。其中热力图中的(xi,yi)与坐标系中的横纵坐标与之相对应。
[0083] 4)凸包计算
[0084] 凸包定义:在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的凸组合来构造。
[0085] 如图5所示,计算方法如下:
[0086] 假定给出P0~P8点坐标。
[0087] 首先找出到凸包上纵坐标上最小值的一个点,然后从那个点开始按逆时针方向逐个找凸包上的点,对其进行极角排序。操作步骤如下:
[0088] 步骤1:把所有点的坐标平移一下,使P0作为原点。
[0089] 步骤2:计算各个点相对于P0的幅角α,按从小到大的顺序对各个点排序。当α角度相同时,距离P0比较近的排在前面。排序得到的由小到大的角度为P1,P2,P3,P4,P5,P6,P7,P8。由几何知识可得知,结果中第一个点P1和最后一个点P8一定是凸包上的点。以上,已经知道了凸包上的第一个点P0和第二个点P1,把它们放在栈里面。现在从步骤2求得的那个结果里,把P1后面的那个点拿出来做当前点,即P2。接下来开始找第三个点:
[0090] 步骤3:连接P0和栈顶的那个点,得到直线。看当前点是在直线的右边还是左边。如果在直线的右边就执行步骤4;如果在直线上,或者在直线的左边就执行步骤5。
[0091] 步骤4:如果在右边,则栈顶的那个元素不是凸包上的点,把栈顶元素出栈。执行步骤3。
[0092] 步骤5:当前点是凸包上的点,把它压入栈,执行步骤7。
[0093] 步骤6:检查当前的点P2是不是步骤3那个结果的最后一个元素。是最后一个元素的话就结束。如果不是的话就把P2后面那个点做当前点,返回步骤4。
[0094] 步骤7:检查当前的点P2是不是步骤2那个结果的最后一个元素。是最后一个元素的话就结束。如果不是的话就把P2后面那个点做当前点,返回步骤3。
[0095] 依据上述方法,在图3中画出矩阵中凸包各点,从而圈定凸包范围。
[0096] 5)判定是否在凸包内坐标点
[0097] 根据凸包范围判定,步骤3)得到的离散数据点,是否在凸包范围内。
[0098] 判定方法采用射线法计算,具体步骤如下。
[0099] 假定插值点为(cxi,cyi)
[0100] 凸包个点为(xi,yi)
[0101] 步骤1:判断cx是否在凸包循环中依次相邻两个点内,公式如下:
[0102] xi<cx<xi+1
[0103] 步骤2:符合上述条件时,再判定插值点是否在这两个相邻的两个点的斜率线的下方,公式如下:
[0104]
[0105] 步骤3:符合上述步骤2的条件时,开始记录符合上述的次数。
[0106] 假定次数为n,公式如下:
[0107] n=n+1
[0108] 当n为奇数时,说明该插值点在凸包范围内。当n偶数时说明该插值点在凸包范围之外。
[0109] 6)画出相应的图形
[0110] 根据上述公式并画出相应的图形,如图6所示。
[0111] 应用场景示例:
[0112] 1.不同时段对比
[0113] 应用于不同时间段的对比,如图7所示与图8进行对比。
[0114] 在此例中被测污染物为PM10,由图观察可知,图7被测量范围的浓度的红色预警和黄色预警相比图8要分布更为广泛。
[0115] 由此可知在图7时段的PM10的浓度相对图8的浓度较高。由于取值是采取的相邻时间段的风速和风向,所以图7和图8显示的凸包近似。由此可知在这两个时间段,风速和风向大致相同。
[0116] 2.不同被测量污染物对比
[0117] 应用于同一时间段不同被测量污染物质,如图9所示为PM2.5的测量,图10为臭的测量,图11为CO的测量。
[0118] 如图1所示,与上述方法相互对应地,本申请提供了一种玫瑰图显示系统,所述系统包括:
[0119] 数据采集单元以及数据存储单元、数据请求分析单元,
[0120] 所述数据采集单元包括数据A、数据B以及数据C,用于采集数据并通过无线网络或有线网络传输至数据存储单元,数据库服务器
[0121] 所述数据存储单元用于存储采集的数据;
[0122] 所述数据请求分析单元包括平板、PC以及收集,用于通过网络实时请求获取相应的数据,并进行实时分析和图形展现。
[0123] 以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈