一种海陆交错带气象等值线自动绘制方法
【专利摘要】本发明公开了一种海陆交错带气象等值线自动绘制方法。包括如下步骤:1)从多维海洋气象数据中读取数据,并获取海陆分界数据,进行叠加分析分离出海洋区域数据;2)设定判断噪点的阈值,并对每个像元进行判断,若像元为噪点,对该像元进行校正,得到海洋区域有效数值范围;3)根据海洋区域的有效数值范围得到全部区域的一个划分;4)分别构建海洋区域和其他区域的间隔表,设置各个区域不同疏密的间隔;5)合并海洋区域和其他区域的间隔;6)利用MATLAB批量读取数据,并将间隔应用于MATLAB等值线绘制指令,实现自动绘制。本发明绘制的等值线可有效突出海洋区域要素的变化,并兼顾陆地区域气象要素的表现,可应用于海陆交错带气象专题图的制作等领域。
【专利说明】一种海陆交错带气象等值线自动绘制方法
【技术领域】
[0001] 本发明涉及海洋气象等值线绘制的【技术领域】。尤其涉及一种海陆交错带气象等值 线自动绘制方法。
【背景技术】
[0002] 等值线是制图对象中数值相等的各点连成的平滑曲线,它在水文、地质、海洋、大 气等诸多领域都有非常重要的用途,比如气压场中的等压线图、大地测绘中的等高线图、地 质中的矿体等值线图等等。目前等值线绘制和填充的方法已经比较成熟,但在海洋气象领 域存在问题。海洋气象数据包含陆地和海洋区域,要素数值在海洋上变化平缓,而在陆地上 变化显著。采用传统的等值线间隔设置方法会使等值线集中在陆地区域,在海洋区域则缺 少可分辨的等值线,而其正是海洋气象工作者重点关注的区域。因此,如何自动地设置海洋 气象等值线间隔,从而提高绘制要素的信息量,突出兴趣区域,是一个亟待解决的问题。
[0003] 对于不等间距等值线,目前有两种间隔设置的方法:一是绘制人员根据具体数据 手动设置;二是基于面积统计的间隔设置。手动设置法是利用软件绘制完等值线后,根据效 果不断调整间隔,直到出来比较满意的结果。这种方法往往可以得到很好的效果,但是绘制 过程麻烦,耗时耗力。面积统计的方法在一定程度上解决了人工绘制的问题,可以实现业务 化批量处理,但是应用于海洋气象这类特殊数据时,绘制出的等值线效果无法满足专业要 求。比如大气等压线的间隔通常需要设置为特定数值,如2. 5百帕或者4百帕,而面积统计 的方法只根据等面积原则划分,无法解决这类特殊需求。
[0004] 针对以上问题,本发明提出一种海陆交错带气象等值线自动绘制方法,首先将原 始要素与海陆分界数据做叠加分析,提取出海洋区域,然后进行斑点去噪计算得到海洋区 域数值范围,再结合映射表选择合适的间隔值,合并海洋和陆地区域获得不等间距间隔,最 后将间隔应用于MATLAB等值线绘制指令实现自动绘制。基于该方法可以实现海陆交错带 气象等值线的自动绘制,并且能够突出海洋区域信息。
【发明内容】
[0005] 本发明的目的是为克服现有技术存在的问题,提供一种海陆交错带气象等值线自 动绘制方法。
[0006] -种海陆交错带气象等值线自动绘制方法包括如下步骤:
[0007] 1)从多层多变量的海洋气象原始数据文件中读取出待绘制等值线的一层数据,再 获取与该数据格式一致的海陆分界数据,利用海陆分界数据对原始数据做叠加分析,分离 出海洋区域数据;
[0008] 2)设定判断噪点的阈值,遍历数据中的每个像元,若当前像元的数值与周围相连 的八个像元的方差减去整体的方差大于给定的阈值,则认为该像元为噪点,对该像元进行 校正,以此得到海洋区域有效数值范围;
[0009] 3)根据海洋区域的有效数值范围得到全部区域的一个划分;
[0010] 4)分别构建海洋区域和其他区域的间隔表,根据间隔表设置各个区域不同疏密的 间隔;
[0011] 5)合并海洋区域和其他区域的间隔;
[0012] 6)利用MATLAB批量读取数据,并将步骤5)合并后的间隔应用于MATLAB等值线绘 制指令,实现自动绘制。
[0013] 所述的步骤1)包括:从一个多层多变量的海洋气象原始数据文件中读取出待绘 制等值线的一层数据,该层数据是由η行m列的二维规则格网构成,再获取与该数据格式一 致的η行m列的海陆分界数据,海陆分界数据包含与其相对应的二值数据,每个像元都引用 相同的地理位置,海陆分界二值数据中0代表其他,1代表海洋,利用海陆分界数据对原始 数据做叠加分析,分离出海洋区域数据。
[0014] 所述的步骤2)包括:设定一个判断噪点的阈值,遍历数据中的每个像元,若当前 像元的数值f(i,j)与周围相连的八个像元的方差σ 2减去整体的方差&大于给定的阈值, 则认为该像元为噪点,该方法可用以下公式表示:
[0015] ^Ii8=i[gi-f(U)]2-^>£ (1)
[0016] 式中:gi为f (i,j)点周围邻点的数值;
[0017] 当确认某像元为噪点时,用以下公式计算的结果替换原值,
[0018] = (1 -P)f(i,j) + Ρ[;Σ?=ι&] (2)
[0019] 式中:f' (i,j)为像元的新亮度;Ρ为该像元是噪点的概率,
[0020] 经以上校正后的海洋区域数据可以得到海洋区域有效数值范围。
[0021] 所述的步骤3)包括:得到整体数值范围,再去除海洋区域的计算结果,以此得到 其他区域的数值范围;海洋区域数值范围Q〇= [min0,max0]可以将其他区域数值范围分为 两个部分,上界QU = (minLpmaxLj和下界QL2 = [minL2,maxL2),它们是全部区域的范围 QA = [minA,maxA]的一个划分;
[0022] QA = QL! U Q0 U QL2 (3)
[0023] 式中QLp Q0与QL2两两交集都为空;
[0024] 若其他数值全部大于海洋区域,则QQ为空集,若其他数值全部小于海洋区域,则 QL2为空集。
[0025] 所述的步骤4)包括:对于求出的海洋区域和其他区域的数值范围,构建间隔表设 置各个区域不同疏密的间隔,间隔表区域字段分为兴趣区域和其他区域,不同区域的间隔 设置原则不同,兴趣区域间隔较小,对应的等值线也较密,其他区域间隔相对较大,绘制的 等值线也较稀疏;同一类区域因为数值范围的不同设置不同间隔,所述的数值范围关注的 是范围差所属的区间,海洋区域的数值范围差为maxO-minO。
[0026] 所述的步骤5)包括:通过步骤4)构建的间隔表的映射,得到以下间隔设置,海洋 区域数值范围间隔01〇=[111;[110,;[1^61^310,1]^1〇],其它区域数值范围上界( >)11^1=(111;[111^, interval!^,maxLj 和下界 QIL2 = [minL2, intervalL2,maxL2),合并海洋区域和其他区域 的间隔,得到整体区域的间隔QIA,
[0027] QIA = QILi U QIO U QIL2 (4)
[0028] 式中QIL^QIO和QIL2两两交集都为空。
[0029] 所述的步骤6)包括:利用MATLAB批量读取数据,调用MATLAB等值线绘制指令 contour或contourf,将合并后的间隔QIA应用于该指令,实现自动批量绘制。
[0030] 本发明与现有技术相比具有的有益效果是:本发明通过设置不等间距间隔,确保 海洋区域有更密集的等值线,能重点展现出海洋区域的数值变化,使得在海洋区域中原本 较为稀疏的等值线分布得更加科学、丰富;而在次重要的陆地区域,原本较为密集的等值线 相对趋于稀疏,以降低该区域等值线的混乱程度;海洋区域和陆地区域等值线所体现的整 体信息更加完整,能提供更有意义的参考价值。
【专利附图】
【附图说明】:
[0031] 图1是海陆交错带气象等值线自动绘制方法;
[0032] 图2是陆地表面气压数值分布;
[0033] 图3是海洋表面气压数值分布;
[0034] 图4是等值线绘制成果。
【具体实施方式】:
[0035] 如图1所示,海陆交错带气象等值线自动绘制方法包括如下步骤:
[0036] 1)从多层多变量的海洋气象原始数据文件中读取出待绘制等值线的一层数据,再 获取与该数据格式一致的海陆分界数据,利用海陆分界数据对原始数据做叠加分析,分离 出海洋区域数据;
[0037] 2)设定判断噪点的阈值,遍历数据中的每个像元,若当前像元的数值与周围相连 的八个像元的方差减去整体的方差大于给定的阈值,则认为该像元为噪点,对该像元进行 校正,以此得到海洋区域有效数值范围;
[0038] 3)根据海洋区域的有效数值范围得到全部区域的一个划分;
[0039] 4)分别构建海洋区域和其他区域的间隔表,根据间隔表设置各个区域不同疏密的 间隔;
[0040] 5)合并海洋区域和其他区域的间隔;
[0041] 6)利用MATLAB批量读取数据,并将步骤5)合并后的间隔应用于MATLAB等值线绘 制指令,实现自动绘制。
[0042] 所述的步骤1)包括:从一个多层多变量的海洋气象原始数据文件中读取出待绘 制等值线的一层数据,该层数据是由η行m列的二维规则格网构成,再获取与该数据格式一 致的η行m列的海陆分界数据,海陆分界数据包含与其相对应的二值数据,每个像元都引用 相同的地理位置,海陆分界二值数据中0代表其他,1代表海洋,利用海陆分界数据对原始 数据做叠加分析,分离出海洋区域数据。
[0043] 所述的步骤2)包括:设定一个判断噪点的阈值,遍历数据中的每个像元,若当前 像元的数值f(i,j)与周围相连的八个像元的方差σ 2减去整体的方差^大于给定的阈值, 则认为该像元为噪点,该方法可用以下公式表示:
[0044] 金ZiUa - f(i, j)]2 - 7 > ε ( 1 )
[0045] 式中:gi为f (i,j)点周围邻点的数值;
[0046] 当确认某像元为噪点时,用以下公式计算的结果替换原值,
[0047] f'oj) = (1 - p)f〇,j) + p glilia] ( 2 )
[0048] 式中:f' (i, j)为像元的新亮度;P为该像元是噪点的概率,
[0049] 经以上校正后的海洋区域数据可以得到海洋区域有效数值范围。
[0050] 所述的步骤3)包括:得到整体数值范围,再去除海洋区域的计算结果,以此得到 其他区域的数值范围;海洋区域数值范围Q〇= [min0,max0]可以将其他区域数值范围分为 两个部分,上界QU = (minLpmaxLj和下界QL2 = [minL2,maxL2),它们是全部区域的范围 QA = [minA,maxA]的一个划分;
[0051] QA = QL! U Q0 U QL2 (3)
[0052] 式中QLp Q0与QL2两两交集都为空;
[0053] 若其他数值全部大于海洋区域,则QQ为空集,若其他数值全部小于海洋区域,则 QL2为空集。
[0054] 所述的步骤4)包括:对于求出的海洋区域和其他区域的数值范围,构建间隔表设 置各个区域不同疏密的间隔,间隔表区域字段分为兴趣区域和其他区域,不同区域的间隔 设置原则不同,兴趣区域间隔较小,对应的等值线也较密,其他区域间隔相对较大,绘制的 等值线也较稀疏;同一类区域因为数值范围的不同设置不同间隔,所述的数值范围关注的 是范围差所属的区间,海洋区域的数值范围差为maxO-minO。
[0055] 所述的步骤5)包括:通过步骤4)构建的间隔表的映射,得到以下间隔设置,海洋 区域数值范围间隔01〇=[111;[110,;[1^61^310,1]^1〇],其它区域数值范围上界( >)11^1=(111;[111^, interval!^,maxLj 和下界 QIL2 = [minL2, intervalL2,maxL2),合并海洋区域和其他区域 的间隔,得到整体区域的间隔QIA,
[0056] QIA = QILi U QIO U QIL2 (4)
[0057] 式中QIL^QIO和QIL2两两交集都为空。
[0058] 所述的步骤6)包括:利用MATLAB批量读取数据,调用MATLAB等值线绘制指令 contour或contourf,将合并后的间隔QIA应用于该指令,实现自动批量绘制。
[0059] 实施例:
[0060] (1)利用海陆分界数据对等值线原始数据做叠加分析,分离出海洋部分的数据 [0061] 以2013年5月23日12点0时次的印度洋区域表明气压数值预报产品为例。经度 范围30。E?125° E,纬度范围20。S?30。N,分辨率为476*251。通过海陆分界数据 的叠加分析,分离出海洋和陆地部分数据。图2为陆地区域表面气压数值预报产品数据的 统计图,对该数据的分析可知,陆地区域的气压值范围为600-1100百帕,其分布成锯齿形, 从850-1020区间连续有几个峰值,向两边逐步递减。图3为海洋区域表面气压数值预报产 品数据的统计图,海洋区域的气压值集中在1000-1020区间,其余区间只有少量的噪点。
[0062] (2)采用八邻点法去除海洋区域数据的噪点,获取有效的数值范围
[0063] 设定判断噪点的阈值为1,遍历数据中的每个像元,若当前像元的数值f(i,j)与 周围相连的八个像元的方差σ 2减去整体的方差&大于给定的阈值,则认为该像元为噪 点。经校正后的海洋区域数据可以得到海洋区域有效数值范围。
[0064] (3)根据海洋区域的有效数值范围得到全部区域的一个划分
[0065] 计算得到整体数值范围为600-1100百帕,海洋区域范围为1000-1020百帕,以此 得到全部区域的一个划分为[600,1000] U (1000,1020) U [1020,1100]。
[0066] (4)利用专家经验分别构建海洋区域和其他区域的间隔表,设置间隔
[0067] 根据印度洋区域表面气压分布的特定,设计了映射间隔表,如表2所示。
[0068] 表 1
[0069]
【权利要求】
1. 一种海陆交错带气象等值线自动绘制方法,其特征在于包括如下步骤: 1) 从多层多变量的海洋气象原始数据文件中读取出待绘制等值线的一层数据,再获取 与该数据格式一致的海陆分界数据,利用海陆分界数据对原始数据做叠加分析,分离出海 洋区域数据; 2) 设定判断噪点的阈值,遍历数据中的每个像元,若当前像元的数值与周围相连的八 个像元的方差减去整体的方差大于给定的阈值,则认为该像元为噪点,对该像元进行校正, 以此得到海洋区域有效数值范围; 3) 根据海洋区域的有效数值范围得到全部区域的一个划分; 4) 分别构建海洋区域和其他区域的间隔表,根据间隔表设置各个区域不同疏密的间 隔; 5) 合并海洋区域和其他区域的间隔; 6) 利用MATLAB批量读取数据,并将步骤5)合并后的间隔应用于MATLAB等值线绘制指 令,实现自动绘制。
2. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所述 的步骤1)包括:从一个多层多变量的海洋气象原始数据文件中读取出待绘制等值线的一 层数据,该层数据是由η行m列的二维规则格网构成,再获取与该数据格式一致的η行m列 的海陆分界数据,海陆分界数据包含与其相对应的二值数据,每个像元都引用相同的地理 位置,海陆分界二值数据中0代表其他,1代表海洋,利用海陆分界数据对原始数据做叠加 分析,分离出海洋区域数据。
3. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所 述的步骤2)包括:设定一个判断噪点的阈值,遍历数据中的每个像元,若当前像元的数值 f(i,j)与周围相连的八个像元的方差σ2减去整体的方差p大于给定的阈值,则认为该像 元为噪点,该方法可用以下公式表示: 鲁Z]8=i[gi-f(i,D]2-tT2>£ (1) 式中:gl为f (i,j)点周围邻点的数值; 当确认某像元为噪点时,用以下公式计算的结果替换原值, f'(i, j) = (1 - j) + Ρ [5Σ1Ι1 gi] ( 2 ) 式中:f' (i,j)为像元的新亮度;P为该像元是噪点的概率, 经以上校正后的海洋区域数据可以得到海洋区域有效数值范围。
4. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所述 的步骤3)包括:得到整体数值范围,再去除海洋区域的计算结果,以此得到其他区域的数 值范围;海洋区域数值范围Q〇 = [minO, maxO]可以将其他区域数值范围分为两个部分,上 界QQ = (minL^maxLj和下界QL2 = [minL2,maxL2),它们是全部区域的范围QA = [minA, maxA]的一个划分; QA = QQ U QO U QL2 (3) 式中QU、Q0与QL2两两交集都为空; 若其他数值全部大于海洋区域,则QU为空集,若其他数值全部小于海洋区域,则QL2为 空集。
5. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所述 的步骤4)包括:对于求出的海洋区域和其他区域的数值范围,构建间隔表设置各个区域不 同疏密的间隔,间隔表区域字段分为兴趣区域和其他区域,不同区域的间隔设置原则不同, 兴趣区域间隔较小,对应的等值线也较密,其他区域间隔相对较大,绘制的等值线也较稀 疏;同一类区域因为数值范围的不同设置不同间隔,所述的数值范围关注的是范围差所属 的区间,海洋区域的数值范围差为maxO-minO。
6. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所述 的步骤5)包括:通过步骤4)构建的间隔表的映射,得到以下间隔设置,海洋区域数值范围 间隔〇1〇=[111;[11〇,;[1^61^310,1]^1〇],其它区域数值范围上界( >)11^1=(111;[111^,;[1^61^311^, maxLj和下界QIL2 = [minL2,intervalL2, maxL2),合并海洋区域和其他区域的间隔,得到 整体区域的间隔QIA, QIA = QILi U QIO U QIL2 (4) 式中QIQ、QI0和QIL2两两交集都为空。
7. 根据权利要求1所述的一种海陆交错带气象等值线自动绘制方法,其特征在于所 述的步骤6)包括:利用MATLAB批量读取数据,调用MATLAB等值线绘制指令contour或 contourf,将合并后的间隔QIA应用于该指令,实现自动批量绘制。
【文档编号】G06F17/50GK104102771SQ201410318436
【公开日】2014年10月15日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】杜震洪, 刘仁义, 张丰, 林贤辉, 王叶晨梓 申请人:浙江大学