国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Java技術(shù)的林分空間結(jié)構(gòu)指標系統(tǒng)設(shè)計

2017-04-26 00:10:34韓立文竇立君沈麗蓉高宙宇王之舜
電腦知識與技術(shù) 2017年6期
關(guān)鍵詞:軟件系統(tǒng)

韓立文+竇立君+沈麗蓉+高宙宇+王之舜+郭勇

摘要:林分結(jié)構(gòu)指標的精確計算可給生態(tài)、經(jīng)濟、社會、學術(shù)等帶來巨大的價值。然相較人工計算的繁雜低效,簡便高效的計算機極大地減少了人力物力財力的浪費。系統(tǒng)使用的Java語言技術(shù),是時下最流行的計算機編程開發(fā)技術(shù),其高效穩(wěn)定性為系統(tǒng)的開發(fā)提供了可靠的保障。此外,系統(tǒng)利用SQL和Excel的強大功能,并結(jié)合不斷優(yōu)化的算法使得系統(tǒng)的功能逐漸強大并趨近成熟。

關(guān)鍵詞:Voronoi圖; Delaunay三角網(wǎng); Bowyer-Watson算法; 林分空間結(jié)構(gòu); 軟件系統(tǒng)

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)06-0099-03

Abstract:Stand structure indexes of precise calculation can bring ecological, economic, social, academic and other great value. However, compared with manual calculation of multifarious inefficient, simple and highly effective computer greatly reduces the waste of manpower and financial resources. The system uses Java language technology, which is the most popular computer programming technology, providing a reliable guarantee for the development of the system of its efficient stability. In addition, the system uses the powerful functions of the SQL and the Excel, and combined with continuous optimization of the algorithm ,which making the function of the system gradually reaching strong and maturity.

Key words:voronoi diagram; delaunay tin; bowyer-watson algorithm; spatial structure ; software system

林分結(jié)構(gòu)是林分在未遭受破壞的情況下,林分內(nèi)部存在的一些比較穩(wěn)定的結(jié)構(gòu)規(guī)律。林分空間結(jié)構(gòu)決定了林木之間的競爭優(yōu)勢,空間結(jié)構(gòu)的內(nèi)部穩(wěn)定決定著林分成長的健康與否。目前,一般采用三個方面的指標來描述林分結(jié)構(gòu)的狀況,分別是:反映樹種空間隔離程度的混角度[2],反映個體成長的大小比數(shù)[3],反映個體在二維布局上的分布格局的角尺度[4]。此外,相關(guān)的專業(yè)人士又提出兩個指標——描述隨機樣點光環(huán)境測定指數(shù)的開敞度和描述相鄰木對目的樹干擾指數(shù)的單株受壓。

1 林分空間結(jié)構(gòu)指標

1.1 傳統(tǒng)混交度

混交度是目標樹木與周圍林木不屬于同一樹種的數(shù)學測度,其表達式為:

1.2 多樣性混交度

多樣性混交度描述了目的樹與相鄰樹,相鄰樹與相鄰樹之間的隔離程度,其在傳統(tǒng)混交度的基礎(chǔ)之上加入了相鄰樹之間混交度的考量,其表達式為:

其代碼實現(xiàn)如下:

static double To_NotriMingling(int root,int n,int near_tree[])

{Set s = new HashSet();//使用集合統(tǒng)計樹種個數(shù)

for(int i=0;i

{Tree ti=new Tree(near_tree[i]);

if(!to.name.equals(ti.name))

……}

return (1.0*s.size()*Vij/(n*n));}

1.3 角尺度

角尺度是用來表述目的樹周圍相鄰樹分布的勻稱性的測度。其表達式為:

1.4 大小比數(shù)

大小比數(shù)反映目的樹與相鄰樹在比較量上的差異。其表達式為:

1.5 其他指標

2 林分關(guān)鍵處理

2.1 相鄰木處理

傳統(tǒng)處理相鄰木是在整個林分中尋出距離目的樹最短的4棵樹作為相鄰木,這種方法既耗費資源,也限制了結(jié)果的準確性。為此需要一個既保證資源又更加準確的處理方法,而Voronoi圖的最近性和鄰接性,使其成為解決這一問題的可能。

趙春燕也通過Voronoi圖確定相鄰木計算指標,并用實驗數(shù)據(jù)證明Voronoi圖生成的相鄰木數(shù)據(jù)對指標的計算準確度沒有影響。張彩彩在其學位論文中則采用加權(quán)的Voronoi圖計算指標,并同樣用數(shù)據(jù)證明其準確性。

關(guān)于算法的實現(xiàn),參考了Bowyer-Watson算法,使用了Delaunay三角剖分生成Voronoi圖的對偶圖Delaunay三角網(wǎng)。Bowyer-Watson算法的核心是規(guī)則最大化最小角,使網(wǎng)內(nèi)關(guān)聯(lián)的任意四點不共圓。三角剖分需要滿足兩個準則:空圓特性和最大化最小角特性;由此形成的三角網(wǎng)擁有最近性、唯一性、最優(yōu)性和區(qū)域性[1]。其中最近性是處理相鄰木的關(guān)鍵,生成的三角網(wǎng)是以最近的三個點形成三角形,使得點與點之間關(guān)聯(lián)的都是與之最近的點,可理解為最相鄰的樹。

使用Voronoi圖處理相鄰木的優(yōu)點在于不必要去計算繁雜的距離,同時確定相鄰木的數(shù)量,而不是固定的4棵,是視情況而定。具體實現(xiàn)是構(gòu)造三角形鏈表,劃定涵蓋所有點的點集,將點逐一插入三角形之中,使用準則修正三角形,直到完成所有點。

建模實現(xiàn)中,使用Java面向?qū)ο蠹夹g(shù),建立Tree類構(gòu)造樹木對象,從Tree類衍生出Point類,將樹木二維抽象化,使用Point類構(gòu)造點對象參與算法運算,組建三角網(wǎng)。Triangle類構(gòu)造生成的三角形對象,樹木鄰接關(guān)系便清晰可見。

代碼實現(xiàn)如下:

flag=Judge_is_in_triangle(t,p);/*判斷點在哪個三角形中*/…………

flag2=Judge_is_in_circle(new Triangle(t2),new Point(i));/*判斷點與外接圓的關(guān)系*/…………

if(flag2==-1)/*如果點在外接圓內(nèi)*/

{………./*擦除三角形第三邊,點連接三角形三頂點形成新三角形*/}

If(flag2==1)/*如果點在外接圓上和圓外*/

{……/*點連接三角形兩頂點添加一個三角形*/}

2.2 邊界處理

邊界的樹木由于其環(huán)境的特殊,使得其作為參照樹計算出的指標不具價值,因而必要的邊界校正必不可少。傳統(tǒng)的處理方式有距離緩沖區(qū)法、8鄰域大樣地法、第4鄰體判定法。緩沖區(qū)的寬度難以確定,8鄰域大樣地法成倍的增加計算負荷,只有第4鄰體判定法能在不影響結(jié)果的基礎(chǔ)上解決問題,同時還一定程度上減輕計算負荷。但在判定邊界木的問題上適用條件不靈活。

綜上考慮,使用角度判定邊界木,再使用第4鄰體判定法處理邊界木便讓問題簡單很多。當一棵樹的一側(cè)沒有樹時,便可認定其處于邊界,固其夾角的特征便可反映其所處的環(huán)境。邊界木作為其他樹的相鄰木但不作為目的樹,這便是第4鄰體判定法處理邊界的核心。算法實現(xiàn)借用了角尺度的計算函數(shù),一舉兩得的實現(xiàn),此處不再贅述。

3 系統(tǒng)設(shè)計

3.1 數(shù)據(jù)設(shè)計

合理的軟件設(shè)計離不開合理的數(shù)據(jù)模型。基于Java強大的面向?qū)ο蠹夹g(shù)可以系統(tǒng)條理的構(gòu)建數(shù)據(jù)。軟件計算林分指標需要林木的相關(guān)數(shù)據(jù),林木的相關(guān)數(shù)據(jù)需要載體;將林木抽象成樹木對象,將計算所必要的數(shù)據(jù)作為對象的屬性,豐滿樹這個對象。樹木之間的關(guān)系具象化成三角形,由樹木做節(jié)點的大量三角形便形象表達其中關(guān)系。

具體數(shù)據(jù)設(shè)計可參看下面的類圖:

圖1中各類之間的關(guān)系為:Point類依賴Tree類,Point與Triangle類是聚合關(guān)系,Point類是Triangle類的局部,F(xiàn)unction類與Tree、Triangle類之間都是關(guān)聯(lián)關(guān)系。

系統(tǒng)是遵照以上類圖設(shè)計。使用了一個Tree類構(gòu)建基礎(chǔ)的樹對象,其中存儲必要的屬性和方法;從Tree類中局部抽象出Point類,專用于構(gòu)建三角網(wǎng);Triangle類用來構(gòu)建組網(wǎng)的三角形對象,同時也是樹與樹之間的關(guān)系實例;Function類是一個方法類,在Tree對象和關(guān)系Triangle對象基礎(chǔ)上實現(xiàn)各種指標計算。

3.2 數(shù)據(jù)庫設(shè)計

數(shù)據(jù)庫的設(shè)計上保持與類圖的結(jié)構(gòu)基本一致,使用的是關(guān)系型數(shù)據(jù)庫。Tree表和Triangle表都設(shè)置了實體完整性規(guī)則,使用主鍵約束保證數(shù)據(jù)的正確性;同時三個表都設(shè)置了參照完整性規(guī)則,確保了表格之間的關(guān)系約束。使用數(shù)據(jù)庫和類圖的設(shè)計,實現(xiàn)系統(tǒng)的核心元件。

Tree表、Triangle表中的ID屬性是唯一且特殊的,表內(nèi)的ID不允許出現(xiàn)相同的,保證數(shù)據(jù)的準確性。Result表中的ID依賴于Tree表中ID屬性,Tree表中不存在的ID不允許在Result表中使用。Triangle表中的A、B、C三個點同樣依賴于Tree表中的ID,不再贅述。

4 系統(tǒng)功能

系統(tǒng)是基于Java技術(shù)實現(xiàn)的,界面使用的是Java的Swing技術(shù),運用外部美化函數(shù)優(yōu)化界面視覺。數(shù)據(jù)以Excel表格的形式錄入到系統(tǒng)之中,系統(tǒng)將基礎(chǔ)數(shù)據(jù)錄入SQL數(shù)據(jù)庫,算法使用Java面向?qū)ο蠹夹g(shù)實現(xiàn)三角網(wǎng)組網(wǎng)。用戶可以選擇需要計算的指標(角尺度、大小比數(shù)、混交度、開敞度、單株受壓),系統(tǒng)通過計算將結(jié)果反饋到界面上;用戶還可以使用自定義功能自己定義公式計算指標。報表數(shù)出功能能將之前計算的所有結(jié)果整理成Excel表格儲存在原表格目錄下方便日后使用。

程序分為三個階段:第一階段,程序獲取數(shù)據(jù);第二階段,三角網(wǎng)組網(wǎng);第三階段指標計算。原始數(shù)據(jù)導入程序后,程序先將數(shù)據(jù)按照程序格式導入數(shù)據(jù)庫中,而后程序運用算法和數(shù)據(jù)庫操作進行三角網(wǎng)組網(wǎng)。此時,基礎(chǔ)數(shù)據(jù)初始化完成,程序可根據(jù)需求計算相應(yīng)指標并以表格形式輸出結(jié)果。以下是實驗數(shù)據(jù)所計算出的結(jié)果,經(jīng)過驗證,指標結(jié)果均正確。

5 結(jié)束語

計算機的快速發(fā)展不僅推動了社會的發(fā)展,同時也給很多傳統(tǒng)行業(yè)帶來了新的解決方法。軟件是計算機得以服務(wù)社會的關(guān)鍵,將傳統(tǒng)的方法替換成適應(yīng)時代的新思路是每個時代人的責任。時下最流行的Java編程技術(shù)使得這種實現(xiàn)變得簡單高效。林學的很多方面非常需要計算機的支持,搭上計算機的高速列車將給林業(yè)的發(fā)展帶來不可想象的進步。當然,全新的數(shù)學支持,算法的架構(gòu)都是必不可少的。數(shù)字的時代,要用數(shù)字的方法解決問題。

參考文獻:

[1] 趙春燕,李際平,李建軍.基于Voronoi圖和Delaunay三角網(wǎng)的林分空間結(jié)構(gòu)量化分析[J].林學科學,2010(6).

[2] 湯孟平,唐守正,雷相東.等.兩種混交度的比較[J].林業(yè)科學,2004(5).

[3] 惠剛盈.一個新的林分空間結(jié)構(gòu)參數(shù)——大小比數(shù)[J].林業(yè)科學 1998(8).

[4] 惠剛盈.角尺度——一個描述林木個體分布格局的結(jié)構(gòu)參數(shù)[J].林業(yè)科學,1998(7).

[5] 惠剛盈.角尺度——一個描述林木個體分布格局的結(jié)構(gòu)參數(shù)[J].林業(yè)科學,1998(7).

猜你喜歡
軟件系統(tǒng)
軟件系統(tǒng)的復雜網(wǎng)絡(luò)之研究
基于改進蟻群算法的嵌入式系統(tǒng)軟硬件劃分
基于數(shù)據(jù)融合的掘進機截齒磨損狀態(tài)監(jiān)測
機電運維系統(tǒng)在馬巢高速營運管理中的應(yīng)用研究
計算機控制系統(tǒng)的軟件抗干擾技術(shù)
開發(fā)行政事業(yè)單位內(nèi)控評價系統(tǒng) 破解管理瓶頸
會計之友(2016年8期)2016-04-20 15:46:26
提高計算機軟件系統(tǒng)維護效率的方法研究
電動汽車智能充電樁的設(shè)計與實現(xiàn)
PLC工程應(yīng)用分析
高校畢業(yè)生就業(yè)跟蹤反饋系統(tǒng)中的影響因素分析
福泉市| 莱芜市| 高尔夫| 尤溪县| 延寿县| 定安县| 苍溪县| 浦北县| 梅州市| 信宜市| 通城县| 万全县| 富民县| 杭州市| 巴中市| 连南| 大同县| 洪雅县| 荔波县| 庆城县| 涞源县| 大连市| 鹤岗市| 偏关县| 台南市| 宕昌县| 柘城县| 松滋市| 遂昌县| 兴安盟| 卢龙县| 泊头市| 株洲县| 建平县| 武陟县| 承德市| 海门市| 绵竹市| 河北省| 灵璧县| 泗洪县|