周玉晨,李 昀,林珂卉,沈皓晴,朱 琳,王佐銘
(北京林業(yè)大學(xué) 信息學(xué)院,北京 100083)
森林調(diào)查是獲取森林信息,為林業(yè)管理決策和經(jīng)營方案制訂提供依據(jù)的重要工作。盡管各種先進的遙感技術(shù)在林業(yè)調(diào)查中被廣泛應(yīng)用[1-2],但地面人工外業(yè)調(diào)查仍是不可或缺的信息采集方式。隨著信息化的發(fā)展,包括從早期的掌上電腦PDA到現(xiàn)在的智能手機、平板電腦在內(nèi)的各種智能終端設(shè)備被引入到了野外調(diào)查的數(shù)據(jù)采集記錄中[3-8],取代了傳統(tǒng)以紙質(zhì)媒介記錄數(shù)據(jù)的方式,大大提高了數(shù)據(jù)采集的效率。
隨著技術(shù)進步和智能終端設(shè)備性能的提升,利用智能設(shè)備內(nèi)置的各種傳感器采集信息并集成到數(shù)據(jù)采集軟件中的相關(guān)文獻也不斷涌現(xiàn),如從地理坐標(biāo)和高程信息的采集、記錄[1,3-7],到實現(xiàn)樹高測量[7],更有研究提出利用智能手機內(nèi)置相機實現(xiàn)虛擬角規(guī)的原理[8]。本文正是在此原理基礎(chǔ)上設(shè)計并實現(xiàn)了一款基于Android的森林調(diào)查數(shù)據(jù)采集軟件,實現(xiàn)了虛擬角規(guī)的功能,同時利用觸摸屏實現(xiàn)了在胸徑-樹高散點圖上繪制隨手曲線的功能,為標(biāo)準(zhǔn)地調(diào)查提供了方便手段,本系統(tǒng)集數(shù)據(jù)采集、存儲和處理于一體,適合于生產(chǎn)、科研和教學(xué)等實際應(yīng)用。
考慮到外業(yè)和內(nèi)業(yè)的分工,本系統(tǒng)設(shè)計為移動端模塊和PC端模塊兩部分,移動端軟件主要負(fù)責(zé)數(shù)據(jù)的采集和簡單的數(shù)據(jù)處理等外業(yè)工作,而PC端則是和移動端對接,獲取移動端采集的數(shù)據(jù)后實現(xiàn)數(shù)據(jù)的整合、存儲和復(fù)雜的數(shù)據(jù)處理等內(nèi)業(yè)工作。移動端APP軟件主要分為三大功能,即數(shù)據(jù)采集、數(shù)據(jù)處理和軟件設(shè)置;PC端軟件同樣有三大功能,即數(shù)據(jù)導(dǎo)入,數(shù)據(jù)存儲和數(shù)據(jù)處理。具體各個部分的功能可參見系統(tǒng)整體功能結(jié)構(gòu)圖(圖1)。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
1) 在移動端三大模塊中,數(shù)據(jù)采集模塊的功能是根據(jù)小班調(diào)查過程中所需要采集的數(shù)據(jù)內(nèi)容進行設(shè)計的。根據(jù)實際調(diào)查需要,本系統(tǒng)在制表界面提供胸徑表、樹高表、角規(guī)表這3種基本表的記錄存儲功能,并在算表界面的其他子界面提供了郁閉度的測算記錄以及標(biāo)準(zhǔn)木信息的記錄存儲功能,如圖2、圖3所示。虛擬角規(guī)測量所得到的數(shù)據(jù)同樣記錄在角規(guī)表中。根據(jù)李軼濤[9]調(diào)查數(shù)據(jù)的存儲方法,所有基本表均選擇Excel作為數(shù)據(jù)文件存儲格式,且考慮并實現(xiàn)了滿足不同Excel版本的兼容性要求。系統(tǒng)會利用手機存儲卡的不同目錄對不同類型的基礎(chǔ)數(shù)據(jù)文件進行組織存儲。并且每個數(shù)據(jù)文件將以測量時間、測量地點和樣地號等信息作為文件名,方便用戶對測量記錄進行查看檢索。
2) 數(shù)據(jù)處理模塊滿足了小班調(diào)查中對數(shù)據(jù)的簡單處理需求。制表界面提供了徑階表的自動生成功能,通過對原始胸徑表和樹高表的自動徑階整化得到徑階表。算表界面的常用子界面提供了平均胸徑、平均樹高、平均胸斷面積和蓄積量的計算功能,其他子界面則提供了徒手曲線的繪制功能。
圖2 制表界面圖
圖3 算表界面其他子界面圖
3) 軟件設(shè)置模塊分為生成總表、藍牙分享、參數(shù)設(shè)置和意見反饋4部分。生成總表功能用于該次小班調(diào)查結(jié)束后,將所調(diào)查樣木的原始胸徑樹高信息按樣木號進行匯總,并完成與PC端軟件的數(shù)據(jù)無縫對接工作。藍牙分享通過調(diào)用手機藍牙功能實現(xiàn)不同移動終端數(shù)據(jù)文件的共享。參數(shù)設(shè)置則用于角規(guī)常數(shù)的設(shè)置,根據(jù)不同林地的實際情況和測量精度要求,用戶可選擇0.5,1,2,4等4種角規(guī)常數(shù),通過改變角規(guī)常數(shù)值,虛擬角規(guī)缺口大小會發(fā)生相應(yīng)變化。角規(guī)常數(shù)缺省值為1。
PC客戶端使用C#語言在Microsoft Visual Studio平臺上進行開發(fā),同時也運用了VBA和SQL編程語言,實現(xiàn)了與移動端的無縫對接,配套使用??蓪⒁苿佣藴y得的林分基礎(chǔ)數(shù)據(jù)以Excel文檔格式導(dǎo)入客戶端及數(shù)據(jù)庫進行處理。此外,PC端也可新建基礎(chǔ)表并保存于本地實現(xiàn)獨立使用。相對移動端而言,PC端進行更加復(fù)雜的林分?jǐn)?shù)據(jù)處理,可實現(xiàn)徑階整化,樹高曲線擬合及多種方式的林分蓄積量計算等。其中,多數(shù)計算功能由SQL語句及存儲過程實現(xiàn)。樹高曲線則是借助Excel擬合功能通過宏來實現(xiàn),由整化后的徑階表擬合得到的指數(shù)、對數(shù)、多項式、乘冪等4種不同胸徑樹高曲線,每種曲線對應(yīng)的方程可求出一個林分平均高。用戶可根據(jù)Excel給出的擬合優(yōu)度R2大小或自身經(jīng)驗選擇一種樹高曲線并將相應(yīng)林分平均高填入對話框用于計算。林分蓄積量計算包括了4種常用方法,分別為平均標(biāo)準(zhǔn)木法、標(biāo)準(zhǔn)表法、平均實驗形數(shù)法及一元材積表法。樹高曲線擬合效果及平均標(biāo)準(zhǔn)木法對話框如圖4、圖5所示。
圖4 樹高曲線擬合效果
圖5 平均標(biāo)準(zhǔn)木法對話框
在數(shù)據(jù)采集模塊中,除提供胸徑、樹高測量等數(shù)據(jù)的記錄外,主要設(shè)計實現(xiàn)了角規(guī)測樹功能。劉羽等[8]根據(jù)凸透鏡的成像原理,提出將手機攝像頭看成一組等同于凸透鏡的鏡片組,并給出了虛擬角規(guī)實際尺寸的轉(zhuǎn)換公式:
(1)
式中:l′為角規(guī)的實像尺寸;f為手機攝像頭的物理焦距;BAF為角規(guī)常數(shù)也稱為斷面積系數(shù),通常取值為0.5,1,2,4,本文以此作為實現(xiàn)虛擬角規(guī)的理論基礎(chǔ)。
手機攝像頭獲取到的影像是先采集并呈現(xiàn)在感光元件上,再通過等比例映射顯示到手機屏幕上的。而整個手機屏幕又是像素點的陣列集合,每一個顯示在屏幕中的圖像均由若干個像素點構(gòu)成。因此,只需求出虛擬角規(guī)在屏幕中所占的像素點個數(shù)便可在屏幕中畫出該角規(guī)缺口。由于智能手機需要調(diào)用硬件攝像頭預(yù)覽界面進行測量,而公式(1)給出的虛擬角規(guī)實際尺寸是相較于感光元件尺寸大小的,不能直接換算成屏幕像素點個數(shù),需要通過公式(2)先求出屏幕呈現(xiàn)的角規(guī)尺寸與感光元件尺寸的比例關(guān)系:
K=l′/(s×p)
(2)
式中:K為比例值;l′為虛擬角規(guī)實際尺寸;s為感光元件單位像素尺寸;p為感光元件橫軸分辨率。
有了該比例關(guān)系,再利用屏幕分辨率,便可將虛擬角規(guī)相對于感光元件大小的實際尺寸轉(zhuǎn)化為角規(guī)缺口所占屏幕像素點個數(shù):
N=K×p′
(3)
式中:N為像素點個數(shù);K為上述求得的比例值;p′為手機屏幕分辨率。成像原理如圖6所示,虛線為輔助線,無實際意義。
圖6 虛擬角規(guī)成像原理
為了在硬件攝像頭預(yù)覽圖像上繪制出虛擬角規(guī)缺口,整個測量功能需要采用frameLayout布局,該布局特點是能進行覆蓋堆疊。在底層圖層的View中獲得手機攝像頭的預(yù)覽界面,同時利用頂層圖層繪制虛擬角規(guī)缺口,通過圖層的覆蓋疊加來模擬人眼進行角規(guī)測量時的影像。Android封裝好的SurfaceView類中擁有可以用于自定義繪制界面的Surface,通過調(diào)整屬性值可以自由控制其格式和尺寸,因此利用其作為手機攝像頭預(yù)覽界面顯示的底層類是很好的選擇。利用setPreviewSize()方法可以調(diào)整與手機屏幕相匹配的攝像頭預(yù)覽界面尺寸,保證預(yù)覽界面的可視性。在獲得預(yù)覽畫面時,需要利用Camera.cancelAutoFocus()來實現(xiàn)自動調(diào)焦,提高預(yù)覽界面的清晰程度。由于手機攝像頭受手機機身尺度的影響,不能進行光學(xué)變焦,自動調(diào)焦所改變的虛擬角規(guī)尺寸投影到屏幕不到一個像素點,因此可將手機攝像頭視為固定物理焦距的鏡片組,即自動調(diào)焦對手機攝像頭的物理焦距無明顯影響,轉(zhuǎn)換公式仍可行[8]。
通過讀取相應(yīng)配置文件得到角規(guī)常數(shù),并結(jié)合上述轉(zhuǎn)換公式便可計算出虛擬角規(guī)缺口所占像素個數(shù),便可在手機中央靜態(tài)繪制出虛擬角規(guī)缺口。由于手機型號不同,相應(yīng)手機參數(shù)不同,因此繪制的虛擬角規(guī)缺口也不盡相同。在此,有2種設(shè)計思想:一是將各個型號的手機參數(shù)提前寫在配置文件中,當(dāng)需要繪制虛擬角規(guī)時讓用戶選擇手機型號,進行靜態(tài)繪制;二是不提前創(chuàng)建配置文件,所有手機參數(shù)讓用戶自己輸入,動態(tài)繪制虛擬角規(guī)缺口??紤]到手機型號的多樣化,本系統(tǒng)采用第2種設(shè)計思想,即用戶自己輸入相應(yīng)手機參數(shù),動態(tài)繪制虛擬角規(guī)缺口。本文實驗過程中選擇了小米3和魅族MX2兩款不同型號的手機進行虛擬角規(guī)缺口的繪制和實現(xiàn),由手機產(chǎn)品說明書可知小米3手機攝像頭的物理焦距為3.51mm,單位像素尺寸為1.12μm,橫軸屏幕分辨率為1 080,感光元件橫軸分辨率為3 120;魅族MX2手機攝像頭的物理焦距為4mm,單位像素實際尺寸為1.4μm,橫軸屏幕分辨率為800,感光元件橫軸分辨率為2 464。
利用虛擬角規(guī)功能進行實際測量時,根據(jù)角規(guī)測量的技術(shù)規(guī)程,系統(tǒng)設(shè)置了正反轉(zhuǎn)檢測,若正反轉(zhuǎn)結(jié)果相差超過1則需重新測量,不超過1則可記錄當(dāng)前測量值,減少因測量產(chǎn)生的誤差。
隨手曲線是外業(yè)調(diào)查過程中根據(jù)徑階整化表隨手繪制的胸徑樹高曲線,其主要用于反映胸徑樹高之間的關(guān)系,完成標(biāo)準(zhǔn)木的選取工作。傳統(tǒng)方法是手工在坐標(biāo)紙上進行繪制,工作效率低??紤]目前的智能手機和平板電腦的觸摸屏能夠采集手在屏幕上劃過的軌跡,將其和已錄入的數(shù)據(jù)散點圖功能相結(jié)合就可以實現(xiàn)繪制曲線。本文在移動端軟件中,通過調(diào)用軟件記錄的樣地胸徑、樹高數(shù)據(jù),經(jīng)自動徑階整化后得到徑階表,并在手機屏幕上靜態(tài)繪制坐標(biāo)軸和所得徑階表中的數(shù)據(jù)點,用戶可根據(jù)所給的數(shù)據(jù)點手動在手機屏幕中畫出隨手曲線。繪制完成后,系統(tǒng)會根據(jù)計算得出的平均胸徑找到曲線上對應(yīng)的樹高值,并在屏幕上顯示平均胸徑和平均樹高,以用于標(biāo)準(zhǔn)木的選取。在實現(xiàn)過程中,通過調(diào)用Path.quadTo()方法為手指移動的軌跡繪制貝塞爾曲線,利用bitmap.getPixel()方法獲取曲線上與平均胸徑橫坐標(biāo)相同的像素點在系統(tǒng)坐標(biāo)系中的縱坐標(biāo),再轉(zhuǎn)換成自定義坐標(biāo)系中的縱坐標(biāo),就可以得出平均樹高。圖7給出了隨手曲線示例。
圖7 樹高胸徑隨手曲線
森林資源調(diào)查工作中,數(shù)據(jù)的記錄存儲、相關(guān)數(shù)據(jù)的求算和標(biāo)準(zhǔn)木的篩選是野外工作人員必需完成的任務(wù)?;贏ndroid的角規(guī)測樹及數(shù)據(jù)處理軟件充分利用智能手機屏幕分辨率高、記錄方便的特點,實現(xiàn)了記錄測算的無紙化,減少了數(shù)據(jù)處理的工作量。而在同一片樣地測量的APP使用者之間能通過藍牙實現(xiàn)數(shù)據(jù)傳輸共享,更好地分配測量工作,減少測量次數(shù),為提高工作效率提供了有力的技術(shù)支持。同時PC客戶端輔助功能使得后期數(shù)據(jù)的處理更加便捷和多樣化,為信息提供了更加安全的存儲功能。該款軟件是智能手機應(yīng)用于林業(yè)行業(yè)的一次實踐,同時也可為林業(yè)相關(guān)生產(chǎn)、教學(xué)和科研提供工具。
[1] 馮仲科,黃曉東,劉芳.森林調(diào)查裝備與信息化技術(shù)發(fā)展分析[J].農(nóng)業(yè)機械學(xué)報,2015,46(9):257-265.
[2] 付凱婷.無人機遙感技術(shù)估算桉樹蓄積量的研究[D].南寧:廣西大學(xué),2015.
[3] 劉新.基于PDA的森林資源樣地調(diào)查軟件的研建[D].北京:北京林業(yè)大學(xué),2009.
[4] 張雪芹,張旭,馬琰,等.基于RFID和Android的林木調(diào)查系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2014(5):38-41.
[5] 劉麗芳,蘇亞林,任曉東,等.森林資源二類調(diào)查外業(yè)小班采集系統(tǒng)基于平板電腦在調(diào)查中的運用[J].林業(yè)調(diào)查規(guī)劃,2016,41(1):6-10.
[6] 朱煜.基于Android的森林資源數(shù)據(jù)外業(yè)采集系統(tǒng)研建[D].北京:北京林業(yè)大學(xué),2014.
[7] 李亞東,馮仲科,曹明蘭,等.Android智能手機樹高測量APP開發(fā)與試驗[J].中南林業(yè)科技大學(xué)學(xué)報,2016,36(10):78-82.
[8] 劉羽,趙天忠,張慕博.智能手機實現(xiàn)虛擬角規(guī)的原理與設(shè)計[J].林業(yè)資源管理,2015(3):166-169.
[9] 李軼濤.基于智能手機平臺的林分平均胸徑計算和標(biāo)準(zhǔn)木選取的方法研究[J].林業(yè)科技通訊,2015(11):72-76.