• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種Zedgraph的改進(jìn)方法在大數(shù)據(jù)變形信息可視化中的應(yīng)用

      2022-07-23 05:53:24羅保林
      現(xiàn)代測(cè)繪 2022年3期
      關(guān)鍵詞:類庫(kù)坐標(biāo)軸繪圖

      羅保林,張 拯,金 飛

      (1.成都市勘察測(cè)繪研究院,四川 成都 610031;2.成都天佑智云科技發(fā)展有限公司,四川 成都 610031)

      0 引 言

      現(xiàn)代變形監(jiān)測(cè)以多元性、融合性、實(shí)時(shí)性、大數(shù)據(jù)為特點(diǎn)。然而對(duì)于大體量監(jiān)測(cè)數(shù)據(jù)的展示,當(dāng)前仍然以傳統(tǒng)的純文本形式輸出,很難讓用戶及時(shí)、快速地了解被監(jiān)測(cè)對(duì)象的運(yùn)營(yíng)狀況,因此在現(xiàn)代變形監(jiān)測(cè)數(shù)據(jù)管理系統(tǒng)中,將大量監(jiān)測(cè)數(shù)據(jù)和分析結(jié)果以圖形代替文本形式輸出是必不可少的。當(dāng)前,常用的圖形展繪圖表類庫(kù)有TeeChart、水晶報(bào)表、FusionCharts、Amcharts等,該類圖表類庫(kù)功能強(qiáng)大,但作為付費(fèi)非開源控件,其繪圖數(shù)據(jù)不能根據(jù)需求自定義,且在大數(shù)據(jù)變形監(jiān)測(cè)展示中存在一定的壁壘,應(yīng)用相對(duì)較少。與商業(yè)圖表類庫(kù)相比,在變形監(jiān)測(cè)信息管理系統(tǒng)中,免費(fèi)開源圖表類庫(kù)(如Zedgraph、Open-Flash-Chart以及MsChat)以其小巧、二次開發(fā)便捷、可根據(jù)實(shí)際需求定制化修改等特點(diǎn)得到越來(lái)越多的應(yīng)用。

      Zedgraph是基于.Net框架,采集主流C#語(yǔ)言開發(fā)的開源圖表顯繪類庫(kù),可根據(jù)任意數(shù)據(jù)集快速創(chuàng)建2D線狀圖、條狀圖、餅狀圖,支持Windows Form窗體應(yīng)用程序和ASP.NET Web網(wǎng)頁(yè)程序,并支持多語(yǔ)言開發(fā)[1]。與其他統(tǒng)計(jì)類圖表控件相比,Zedgraph具有高度的靈活性,使用與擴(kuò)展方便,且作為動(dòng)態(tài)圖表類庫(kù),具有一定的人機(jī)交互性。但在用于具有大體量、多維度等特點(diǎn)的現(xiàn)代變形監(jiān)測(cè)信息展示中,Zedgraph仍存在數(shù)據(jù)格式不匹配,多類型數(shù)據(jù)同時(shí)顯繪難以區(qū)分,圖形操作交互性差,不能顯繪三維變形圖形等不足。部分國(guó)內(nèi)外學(xué)者對(duì)Zedraph在變形信息可視化中的應(yīng)用也進(jìn)行了探討,但均停留在簡(jiǎn)單的應(yīng)用,對(duì)其存在的不足未進(jìn)行分析[2-4]。因此,本文基于Microsoft Visual Studio 2010平臺(tái),采用C#語(yǔ)言對(duì)Zedgraph源代碼進(jìn)行二次開發(fā),剖析了其系統(tǒng)結(jié)構(gòu),實(shí)現(xiàn)了與多維數(shù)據(jù)庫(kù)表的關(guān)聯(lián)匹配,增強(qiáng)了該圖表類庫(kù)的交互操作功能,并進(jìn)一步通過集成常規(guī)Kalman濾波、方差補(bǔ)償自適應(yīng)Kalman濾波兩種變形信息處理模型,有效提高了該類庫(kù)在現(xiàn)代大數(shù)據(jù)變形監(jiān)測(cè)可視化表達(dá)中的實(shí)用性。

      1 Zedgraph系統(tǒng)構(gòu)架

      根據(jù)Zedgraph圖表類庫(kù)的功能、結(jié)構(gòu)和顯示方式,大致可分為控制面板層(MasterPane)、繪圖面板層(GraphPane)和圖形顯繪層(Chart)。整體的從屬關(guān)系構(gòu)架呈樹狀結(jié)構(gòu)如圖1所示,Zedgraph圖表類庫(kù)的一個(gè)圖形窗口只能有一個(gè)控制面板,但控制面板作為所有圖形的載體,可以包含多個(gè)繪圖面板及其他附屬繪圖功能,一個(gè)繪圖面板可包含多張繪圖紙以顯示最終的效果圖。

      圖1 Zedgraph圖表類庫(kù)系統(tǒng)框架結(jié)構(gòu)

      Zedgraph的控件界面繼承于.Net的UserControl接口,該接口允許用戶將該圖表控件添加到VS平臺(tái)的工具箱中,進(jìn)行拖拽式新建,方便開發(fā)者的使用。

      MasterPane繼承于.Net的PaneBase類,作為Zedgraph圖形界面的最底層框架,它可以操控一個(gè)或多個(gè)GraphPane繪圖板,并可對(duì)GraphPane進(jìn)行布局、排列和優(yōu)化顯示效果等。若只需要繪制一張圖表時(shí)MasterPane將被GraphPane完全覆蓋,因此無(wú)需對(duì)其進(jìn)行設(shè)置,采用默認(rèn)值提高開發(fā)效率。

      GraphPane作為最主要的圖形實(shí)現(xiàn)模塊,幾乎所有用戶需要的圖形效果都在其中實(shí)現(xiàn),且具有高度的靈活性,幾乎所有的圖形屬性都擁有默認(rèn)值,用戶只需要根據(jù)需求修改特定屬性值即可快速達(dá)到想實(shí)現(xiàn)的效果。其中最常用的包括坐標(biāo)軸、數(shù)據(jù)組、標(biāo)題、背景、注釋等。坐標(biāo)軸(Axis)類又包含坐標(biāo)格網(wǎng)、坐標(biāo)軸注釋、刻度等屬性。數(shù)據(jù)組(CurveItem)類是實(shí)現(xiàn)圖形界面的關(guān)鍵,它包含了所繪圖形的全部坐標(biāo)數(shù)據(jù)PointPairList,以及線型、顏色、尺寸、是線狀圖、柱狀圖還是餅狀圖等對(duì)圖形進(jìn)行詳細(xì)表達(dá)的屬性信息。

      Chart作為所繪圖形的顯示界面,在該界面中可對(duì)圖形進(jìn)行拖動(dòng)、放大縮小等一些基本操作。

      文本注釋類(TextObj)、箭頭類(ArrowObj)等作為圖形修飾類,可放置在Zedgraph圖表類庫(kù)中的任意位置,使圖形更加美觀易讀。

      2 面向變形信息的Zedgraph二次開發(fā)技術(shù)

      2.1 與現(xiàn)代變形信息數(shù)據(jù)庫(kù)表的關(guān)聯(lián)匹配

      變形監(jiān)測(cè)成果包括:數(shù)據(jù)報(bào)表成果、圖形分析成果、項(xiàng)目資料等。其中,多維大體量數(shù)據(jù)信息可視化表達(dá)作為變形監(jiān)測(cè)成果數(shù)據(jù)的重要組成部分,其通過直觀、立體、簡(jiǎn)潔、有效的組合提煉,可將用戶所關(guān)注的信息一覽無(wú)余地呈現(xiàn)在眼前,用戶可以快速、方便地獲得信息和知識(shí),以實(shí)現(xiàn)對(duì)監(jiān)測(cè)對(duì)象高效管理。傳統(tǒng)小體量變形監(jiān)測(cè)數(shù)據(jù)庫(kù)大多采用單表的方式進(jìn)行存儲(chǔ)[5](表1),Zedgaph中提供了DataSourcePointList類以支持該類型的一維數(shù)據(jù)表[6]。但對(duì)于現(xiàn)代多維度大數(shù)據(jù)變形監(jiān)測(cè),基本采用多維表的方式進(jìn)行存儲(chǔ)[7](表2),該存儲(chǔ)方式減少了點(diǎn)名字段的數(shù)據(jù)冗余,將單表的負(fù)荷進(jìn)行分散,提高了數(shù)據(jù)入庫(kù)及查詢的效率,降低了單個(gè)數(shù)據(jù)表?yè)p壞對(duì)其他點(diǎn)數(shù)據(jù)的影響。

      表1 傳統(tǒng)小體量變形監(jiān)測(cè)數(shù)據(jù)表

      表2 現(xiàn)代大數(shù)據(jù)變形監(jiān)測(cè)數(shù)據(jù)表(a)點(diǎn)名為1的表

      (b)點(diǎn)名為2的表

      為了適配該類型數(shù)據(jù)表,本文在DataSourcePoint-List數(shù)據(jù)類和GraphPane.AddCurve()方法的基礎(chǔ)上新增AddCurves(DataTable dt,int Xcol,int Ycol,string Title,string Ylable=“值”)方法,該方法根據(jù)指定dt中的Xcol列為X軸數(shù)據(jù),多個(gè)Ycol列為Y軸數(shù)據(jù),可同時(shí)繪制多維圖形。

      使用時(shí)可將表2以時(shí)間為主鍵組合為一個(gè)表:Table(時(shí)間,1號(hào)監(jiān)測(cè)值,1號(hào)濾波值,2號(hào)監(jiān)測(cè)值,2號(hào)濾波值),將該表直接傳入函數(shù)方法即可實(shí)現(xiàn)快速高效的變形信息顯繪。

      2.2 交互式操作的定制化

      Zedgraph在顯示固定格式和維度的數(shù)據(jù)上具有較好的效果,但對(duì)于現(xiàn)代變形監(jiān)測(cè)數(shù)據(jù)庫(kù)中大體量、多維度、多類型的監(jiān)測(cè)信息展示則存在明顯不足。以線狀圖形為例,從數(shù)據(jù)庫(kù)中讀取繪圖數(shù)據(jù)到DataTable數(shù)據(jù)表中,再將其傳入2.1節(jié)中的AddCurves方法,實(shí)現(xiàn)變形曲線圖的繪制。但根據(jù)不同的數(shù)據(jù)顯示需求,從數(shù)據(jù)庫(kù)中讀取的變形曲線條數(shù)和數(shù)據(jù)量也不相同,因此,在曲線量不定的情況下調(diào)用AddCurves方法,循環(huán)繪制各條曲線時(shí)只能為每一條賦值一個(gè)隨機(jī)的顏色來(lái)進(jìn)行區(qū)分。在需要繪制大量變形曲線時(shí),會(huì)出現(xiàn)不同曲線顏色相近而不能區(qū)分、曲線太多堆疊混亂、坐標(biāo)軸刻度間隔和顯示范圍不合適等問題。為了方便用戶對(duì)數(shù)據(jù)的查看,本文在Zedgraph原有功能的基礎(chǔ)上,新增了可對(duì)繪圖界面進(jìn)行個(gè)性化設(shè)置的人機(jī)交互窗口,如圖2所示。

      圖2 Zedgraph繪圖界面格式化設(shè)置窗口

      圖形設(shè)置(圖2a)可實(shí)現(xiàn)對(duì)線狀、柱狀、餅狀圖的基本屬性修改。對(duì)線狀圖可修改圖例顯示文字,可選擇圖形顯示方式、節(jié)點(diǎn)形狀、大小、線寬和顏色等。對(duì)柱狀圖可修改圖例顯示文字,可選擇填充顏色和顏色漸變方式。對(duì)餅狀圖可修改圖例顯示文字,可選擇每塊餅的顏色及文字顯示內(nèi)容。當(dāng)圖形中存在多組數(shù)據(jù)時(shí),可取消對(duì)不需要查看的數(shù)據(jù)的勾選,使圖形界面更簡(jiǎn)潔,可讀性更強(qiáng)。除了對(duì)各類型圖形的基本屬性進(jìn)行設(shè)置以外,此處還可以在不改變數(shù)據(jù)的條件下實(shí)現(xiàn)折線圖、柱狀圖、曲線圖、散點(diǎn)圖之間的快速切換。

      坐標(biāo)軸相關(guān)設(shè)置(圖2b)可實(shí)現(xiàn)對(duì)坐標(biāo)軸Lable注釋文字的內(nèi)容、顏色、邊框、字體的修改,對(duì)坐標(biāo)軸刻度步進(jìn)大小、刻度文字方向、坐標(biāo)軸顯示范圍及坐標(biāo)軸格網(wǎng)顯示與否等屬性的設(shè)置。

      圖表標(biāo)題設(shè)置可實(shí)現(xiàn)對(duì)當(dāng)前繪圖面板標(biāo)題文字的內(nèi)容、顏色、邊框、字體等的修改。

      注釋信息設(shè)置(圖2c)可根據(jù)需要簡(jiǎn)單、快捷的在圖形界面的任意位置繪制文本注釋信息和箭頭指向,而不需要修改后臺(tái)源代碼,并可設(shè)置注釋內(nèi)容的顏色、邊框、字體、透明度和旋轉(zhuǎn)角等。注釋信息的位置分為相對(duì)于框架和相對(duì)于坐標(biāo)系兩種類型。相對(duì)于坐標(biāo)系的注釋主要用于對(duì)圖形中某個(gè)點(diǎn)或特征變化位置的說明,在圖形放大縮小或拖動(dòng)時(shí),注釋也會(huì)跟隨圖形一起移動(dòng)。相對(duì)于框架的注釋,不隨圖形的變化而變化。

      限差設(shè)置,主要為顯示變形數(shù)據(jù)的限差范圍而設(shè)計(jì)。限差線不同于數(shù)據(jù)曲線,它不是兩坐標(biāo)點(diǎn)間的連線,它是一條只有Y值的無(wú)邊界直線。Zedgraph不具備顯繪該類型線的功能。通過對(duì)其顯示性質(zhì)的分析,發(fā)現(xiàn)其顯示效果與坐標(biāo)軸和坐標(biāo)格網(wǎng)的效果相似,均為無(wú)邊界直線且不隨數(shù)據(jù)曲線的變化而變化。因此,本文在繪制坐標(biāo)軸的Scale類中根據(jù)坐標(biāo)軸的繪制方法新增限差線的繪制方法DrawErr(),將該方法添加到GraphPane類中繪制邊框、坐標(biāo)軸、坐標(biāo)格網(wǎng)的方法Draw()中進(jìn)行實(shí)現(xiàn)。

      2.3 多元異構(gòu)變形監(jiān)測(cè)算法的集成與可視化

      Kalman濾波因其所用的信息都是時(shí)域內(nèi)的量,除了可以對(duì)一維平穩(wěn)的隨機(jī)過程進(jìn)行濾波估計(jì)外,還可以對(duì)多維的、非平穩(wěn)的隨機(jī)過程進(jìn)行估計(jì)[8]。因此,Kalman濾波在變形監(jiān)測(cè)數(shù)據(jù)處理中得到了廣泛的應(yīng)用,本文也將其作為常用的處理分析函數(shù)集成到Zedraph類庫(kù)中方便后續(xù)的開發(fā)和用戶使用。

      濾波曲線的可視化。本文在Zedgraph的GraphPane類中新增了ShowFilterData屬性,并將KalmanFilter濾波類在GraphPane的原有繪圖方法AddCurve( string label,double x,double y,Color color,SymbolType symbolType)中實(shí)例化,從而實(shí)現(xiàn)根據(jù)ShowFilterData屬性的變化決定是否繪制濾波曲線,而無(wú)需改變對(duì)原有繪圖方法的調(diào)用,減少了后續(xù)開發(fā)及應(yīng)用難度。

      3 應(yīng)用及性能測(cè)試

      改進(jìn)的Zedraph圖表類庫(kù)已在多個(gè)項(xiàng)目中得到了有效的應(yīng)用。本文以某城市邊坡的安全自動(dòng)化監(jiān)測(cè)系統(tǒng)為例進(jìn)行測(cè)試分析,該系統(tǒng)利用天寶GNSS三星雙頻接收機(jī)進(jìn)行組網(wǎng),采用單基站CORS原理實(shí)現(xiàn)監(jiān)測(cè)站的高精度定位[10]。系統(tǒng)中監(jiān)測(cè)站均勻布設(shè)于滑坡體的各個(gè)特征位置,基準(zhǔn)站建立在檢測(cè)區(qū)外視野開闊且相對(duì)穩(wěn)定的地方。理論上所有設(shè)備安裝完成后將不再拆除,以避免重復(fù)安裝帶來(lái)的誤差。監(jiān)測(cè)數(shù)據(jù)采用4G網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程傳輸,實(shí)現(xiàn)了邊坡變形的實(shí)時(shí)自動(dòng)化監(jiān)測(cè)。

      本文以高程數(shù)據(jù)進(jìn)行應(yīng)用測(cè)試分析。系統(tǒng)采樣間隔默認(rèn)為5 s。為了測(cè)試圖形顯示性能,分別按1 d、3 d和7 d進(jìn)行圖形顯繪,測(cè)試結(jié)果如表3所示。

      表3 Zedgraph改進(jìn)前后的繪圖效率對(duì)比

      由表3可知,在改進(jìn)前后繪圖的效率基本相同,原因是本文僅對(duì)Zedraph的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了擴(kuò)充以適應(yīng)現(xiàn)代大數(shù)據(jù)變形監(jiān)測(cè)數(shù)據(jù)庫(kù)表的結(jié)構(gòu),而對(duì)AddCurve()顯繪方法未做修改。但從用戶體驗(yàn)角度,本文將繪圖前的數(shù)據(jù)編組設(shè)計(jì)到了后臺(tái)線程執(zhí)行,在顯繪類似7 d數(shù)據(jù)這樣的耗時(shí)操作時(shí)避免了主線程界面出現(xiàn)假死的現(xiàn)象。

      通過與現(xiàn)代大數(shù)據(jù)變形監(jiān)測(cè)數(shù)據(jù)庫(kù)表的關(guān)聯(lián),可實(shí)現(xiàn)一行代碼添加表中所有需要顯示的數(shù)據(jù)到Zedraph圖形界面,極大的降低了編程難度。圖3為讀取并顯繪的1-3號(hào)斷面監(jiān)測(cè)點(diǎn)一天的實(shí)測(cè)數(shù)據(jù)和濾波數(shù)據(jù)。

      圖3 1-3號(hào)斷面監(jiān)測(cè)點(diǎn)觀測(cè)值及濾波值圖形

      由圖3可知,多條曲線的同時(shí)繪制會(huì)降低圖形的可讀性,這也是所有圖表控件共同存在的弊端。一般情況下都是采用重復(fù)調(diào)用法解決,即根據(jù)不同的數(shù)據(jù)選擇組合(此例為6類數(shù)據(jù)共有63種選擇組合)來(lái)重復(fù)調(diào)用AddCurve()方法進(jìn)行數(shù)據(jù)重整理并重繪變形曲線。該方法在大數(shù)據(jù)量的情況下效率極為低下,表3中已予證明。改進(jìn)后的Zedgraph擁有人機(jī)交互操作界面,可直接在圖形界面中右鍵打開設(shè)置窗口,在圖2(a)圖形設(shè)置窗口中直接對(duì)各數(shù)據(jù)類型進(jìn)行勾選以快速實(shí)現(xiàn)變形曲線顯示或隱藏。該方法未對(duì)數(shù)據(jù)進(jìn)行任何的變動(dòng),因此不需要調(diào)用AddCurve()方法進(jìn)行數(shù)據(jù)整理和圖形重繪,整體效率極高。

      根據(jù)上述方法,分別對(duì)各監(jiān)測(cè)點(diǎn)的變形曲線進(jìn)行查看,如圖4所示。

      圖4 各監(jiān)測(cè)點(diǎn)變形曲線圖

      由圖4可知,監(jiān)測(cè)點(diǎn)的原始觀測(cè)數(shù)據(jù)波動(dòng)較大,1號(hào)監(jiān)測(cè)點(diǎn)觀測(cè)值波動(dòng)范圍為7 cm,2號(hào)監(jiān)測(cè)點(diǎn)觀測(cè)值波動(dòng)范圍為11 cm,3號(hào)監(jiān)測(cè)點(diǎn)觀測(cè)值波動(dòng)范圍為12 cm。符合RTK測(cè)量的厘米級(jí)精度的特點(diǎn)。濾波后的數(shù)據(jù)相對(duì)平滑,實(shí)現(xiàn)了預(yù)期的去噪效果,數(shù)據(jù)質(zhì)量有了顯著提高,滿足本系統(tǒng)邊坡沉降監(jiān)測(cè)的需求。且濾波后的數(shù)據(jù)均在33.37 m的最低高程限差范圍內(nèi),該邊坡目前相對(duì)穩(wěn)定。

      4 結(jié) 語(yǔ)

      本文分析了Zedgraph圖表類庫(kù)在現(xiàn)代大數(shù)據(jù)變形監(jiān)測(cè)可視化表達(dá)中的不足,并對(duì)其系統(tǒng)組成和構(gòu)架進(jìn)行了分析研究,運(yùn)用C#語(yǔ)言對(duì)源碼進(jìn)行改進(jìn)和功能拓展,實(shí)現(xiàn)了其與多維數(shù)據(jù)表的關(guān)聯(lián)匹配,設(shè)計(jì)了可對(duì)圖表進(jìn)行個(gè)性化定制的人機(jī)交互界面,加入了常用的變形分析算法模型。經(jīng)多個(gè)項(xiàng)目應(yīng)用驗(yàn)證,改進(jìn)后的Zedgraph圖表類庫(kù)在多維度變形數(shù)據(jù)分類查詢及圖表顯示界面的自定義等方面具有較高的實(shí)用價(jià)值,且通過方法集成與嵌套,有效降低了該類庫(kù)調(diào)用的空間復(fù)雜度,實(shí)現(xiàn)了對(duì)多維大數(shù)據(jù)變形信息可視化表達(dá)進(jìn)行改進(jìn)的預(yù)期目標(biāo)。但目前變形分析算法僅集成了標(biāo)準(zhǔn)Kalman濾波和方差補(bǔ)償自適應(yīng)Kalman,在后續(xù)研究中可基于此進(jìn)行拓展與完善。另外,隨著現(xiàn)代變形監(jiān)測(cè)信息化、可視化的不斷發(fā)展,對(duì)構(gòu)建三維圖表進(jìn)行變形分析表達(dá)可作為下一步研究方向。

      猜你喜歡
      類庫(kù)坐標(biāo)軸繪圖
      來(lái)自河流的你
      “禾下乘涼圖”繪圖人
      用坐標(biāo)軸平移妙解斜率和(或積)為定值問題
      用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
      Python在數(shù)據(jù)可視化中的應(yīng)用
      基于HTML5 Canvas繪圖技術(shù)應(yīng)用
      數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
      軟件工程(2017年12期)2018-01-29 17:35:55
      數(shù)據(jù)結(jié)構(gòu)可視化類庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
      巧用仿射變換妙解高考解析幾何題
      Surfer和ArcView結(jié)合在氣象繪圖中的應(yīng)用
      河北遙感(2015年2期)2015-07-18 11:11:14
      大荔县| 宁国市| 尤溪县| 五莲县| 盐城市| 桃源县| 平顺县| 开江县| 寿光市| 德州市| 信阳市| 平潭县| 福安市| 信阳市| 新丰县| 侯马市| 红安县| 沾益县| 成武县| 且末县| 肥乡县| 镇宁| 清水县| 孝义市| 遵义县| 绥棱县| 房产| 柞水县| 陆丰市| 颍上县| 罗源县| 普陀区| 孟州市| 略阳县| 甘泉县| 万州区| 鹤山市| 方山县| 台前县| 洪江市| 梁山县|