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

?

基于Android 平臺的林業(yè)調(diào)查輔助APP 的設(shè)計研發(fā)

2022-12-01 05:48:34李秀峰
南方林業(yè)科學(xué) 2022年5期
關(guān)鍵詞:輸入框斜距材積

李秀峰

(新羅區(qū)大池鎮(zhèn)人民政府,福建新羅364000)

國家林業(yè)局在《中國智慧林業(yè)發(fā)展指導(dǎo)意見》中指出,智慧林業(yè)是智慧地球的重要組成部分,是未來林業(yè)創(chuàng)新發(fā)展的必由之路,是統(tǒng)領(lǐng)未來林業(yè)工作、拓展林業(yè)技術(shù)應(yīng)用、提升林業(yè)管理水平、增強(qiáng)林業(yè)發(fā)展質(zhì)量、促進(jìn)林業(yè)可持續(xù)發(fā)展的重要支撐和保障[1]。智慧林業(yè)是發(fā)展生態(tài)林業(yè)民生林業(yè)的重要支撐[2-3]。傳統(tǒng)的林業(yè)生產(chǎn)和森林資源調(diào)查是一項綜合性、專業(yè)性很強(qiáng)的復(fù)雜工作,涉及林學(xué)、測繪學(xué)、遙感學(xué)、統(tǒng)計學(xué)等學(xué)科,需要先借助羅盤儀、全站儀、測繩、GPS、圖紙等工具進(jìn)行外業(yè)勘測,然后對勘測的數(shù)據(jù)進(jìn)行內(nèi)業(yè)統(tǒng)計整理[4],工作強(qiáng)度大、工作效率較低、人力投入量大,野外調(diào)查還存在一定的危險性[5-6]。傳統(tǒng)林業(yè)生產(chǎn)經(jīng)營及調(diào)查時,原木材積、立木材積都要查詢相關(guān)的材積計算表,樣地測量時羅盤儀換算和平均樹高胸徑計算需要用計算器,在野外調(diào)查較為不便。

目前,我國基于Android 平臺的林業(yè)調(diào)查APP 相關(guān)課題研究較多,且取得了一些優(yōu)秀的研究成果,其中功能較全面的系統(tǒng)有蔣君志偉的掌上超站儀一體化系統(tǒng)、曾毅的二類調(diào)查一體化系統(tǒng);蔣君志偉以測樹學(xué)、森林經(jīng)理學(xué)、攝影測量、圖像識別技術(shù)和傳感器技術(shù)等原理為手段,在Android Studio 開發(fā)環(huán)境下構(gòu)建系統(tǒng),研究開發(fā)了一種基于掌上超站儀的森林觀測內(nèi)外一體化系統(tǒng)[7];曾毅采用Android 開發(fā)技術(shù)與UCMap 二次開發(fā)平臺實現(xiàn)外業(yè)調(diào)查,并采用C#開發(fā)語言結(jié)合ArcGIS Engine 組件開發(fā)技術(shù)實現(xiàn)內(nèi)業(yè)數(shù)據(jù)分析處理,研發(fā)一套森林資源二類調(diào)查一體化的系統(tǒng)[8]。另有功能單一的Android 輔助APP,如張曉藝[9]結(jié)合測樹學(xué)、攝影測量學(xué)、圖像處理技術(shù)應(yīng)用Android軟件開發(fā)技術(shù)完成了對智能手機(jī)/平板森林計測方法的研究及軟件實現(xiàn);彭染姝等[10]設(shè)計與實現(xiàn)樣地每木檢尺結(jié)構(gòu)化數(shù)據(jù)語音輸入APP;劉翔等[11]設(shè)計與實現(xiàn)木材材積計算器APP;周克瑜等[12]研究實現(xiàn)測樹系統(tǒng)APP;魏斌[13]實現(xiàn)根徑或地徑計算立木材積APP;金煜現(xiàn)等[14]設(shè)計實現(xiàn)森林撫育檢查驗收輔助APP。但是林業(yè)基層單位因受到技術(shù)、方法、區(qū)域規(guī)程、資金及環(huán)境等因素影響,一些APP 無法廣泛普及。針對福建區(qū)域設(shè)計一款基于Android 系統(tǒng)的多功能林業(yè)調(diào)查APP,便于原木材積、二元立木材積、平均樹高胸徑等計算,以及羅盤儀水平距、斜距換算和經(jīng)緯度坐標(biāo)3度帶、6 度帶轉(zhuǎn)換,對當(dāng)?shù)亓謽I(yè)生產(chǎn)和森林資源調(diào)查有一定輔助作用。

1 開發(fā)環(huán)境

目前市場上手機(jī)開發(fā)APP 以安卓系統(tǒng)(Android)和蘋果系統(tǒng)(IOS)為主。之所以選擇Android 系統(tǒng),一是因為其市場占用率高、普及面廣,根據(jù)美國網(wǎng)站通訊流量監(jiān)測機(jī)構(gòu)StatCounter 提供的數(shù)據(jù),2022 年2月Android 操作系統(tǒng)在移動操作系統(tǒng)市場份額占比,全球為70.94%[15],中國為78.86%[16],都以極大的優(yōu)勢在國內(nèi)外市場占主導(dǎo)地位,因此開發(fā)基于Android 系統(tǒng)的APP 更有利于普及;二是開發(fā)環(huán)境Android Studio 基于Java 語言,操作便攜、兼容性好,Android Studio 是谷歌公司推出的一個Android 集成開發(fā)工具,基于IntelliJ IDEA 提供了集成的Android 開發(fā)工具用于開發(fā)和調(diào)試,易學(xué)易懂。此外,目前除了一些微信、支付寶小程序支持跨平臺運(yùn)行,還沒有一款成熟的APP 開發(fā)軟件可以同時適用開發(fā)Android、IOS系統(tǒng)或其他系統(tǒng)。

開發(fā)環(huán)境:Window10 x64 操作系統(tǒng),JDK 14,Android Studio 4.1.1,Android SDK。編程語言:Java。運(yùn)行環(huán)境:Android 操作系統(tǒng)。

2 林業(yè)調(diào)查APP 的界面設(shè)計

林業(yè)調(diào)查APP 界面風(fēng)格簡約,目前按功能分5個模塊(如圖1)分布顯示在主頁,分別是原木材積計算、二元立木材積計算、羅盤儀換算、平均樹高胸徑計算、坐標(biāo)定位轉(zhuǎn)換。主頁及每個功能界面的最上方設(shè)置工具欄(ToolBar),工具欄左右兩側(cè)設(shè)置了不同的菜單(Menu),左側(cè)利用側(cè)滑菜單欄(DrawerLayout)設(shè)置了Home、Email、關(guān)于我們、退出等索引;右側(cè)設(shè)計了5 個功能導(dǎo)航欄,方便各功能模塊之間快速切換。APP 頁面布局大多使用線線布局(LinearLayout),少數(shù)使用相對布局(RelativeLayout)。

圖1 主頁Fig. 1 Home page

3 各功能的設(shè)計和實現(xiàn)

3.1 原木材積計算

根據(jù)中華人民共和國國家標(biāo)準(zhǔn)《原木材積表(GB/T 4814—2013)》[17]:

1)檢尺徑為8~120 cm,檢尺長0.5~1.9 m 原木材積計算公式:

2)檢尺徑為4~13 cm,檢尺長2.0~10.0 m 原木材積計算公式:

3)檢尺徑為14~120 cm,檢尺長2.0~10.0 m 原木材積計算公式:

4)檢尺徑為14~120 cm,檢尺長大于10.2 m 以上的超長原木材積計算公式:

式(1)~式(4)中:V為材積(m3),L為檢尺長(m),D為檢尺徑(cm)。原木的檢尺長、檢尺徑按GB/T 144-2013 的規(guī)定檢量。檢尺徑4~7 cm 的原木材積數(shù)字保留4 位小數(shù),檢尺徑8 cm 以上的原木材積數(shù)字,保留3 位小數(shù)。

將以上公式編入程序中,通過條件判斷將所輸入檢尺長度、檢尺徑的原木數(shù)據(jù)選擇對應(yīng)的公式計算。在布局界面中,分別設(shè)置了長度、尺徑、根數(shù)等輸入框(EditText)和材積框(TextView),在相應(yīng)的輸入框輸入長度、尺徑、根數(shù)程序就會自動計算并將結(jié)果顯示。對輸入框設(shè)置文本監(jiān)聽功能(TextWatcher),改變其中的數(shù)字,程序也會自動計算并將結(jié)果顯示在材積框(如圖2)。為了便于輸入和避免計算時非數(shù)字字符的干擾,長度輸入類型設(shè)置為小數(shù)(inputType="numberDecimal"),尺徑和根數(shù)輸入類型設(shè)置為整數(shù)(inputType="number"),同時程序中通過條件判斷排除非數(shù)字字符(如“.”“0.”)造成公式無法計算的影響,二元立木材積計算、羅盤儀換算、平均樹高胸徑計算都執(zhí)行類似設(shè)置。清除按鍵可以將所有輸入的內(nèi)容都清空并將結(jié)果歸零。

圖2 原木材積計算界面Fig. 2 Interface of logvolume calculation

3.2 二元立木材積計算

本APP 設(shè)計的二元立木材積計算參考1978 年農(nóng)林部頒發(fā)的《全國立木材積表》中適用于福建省地區(qū)的材積表[18],暫時只設(shè)計杉木(Cunninghamia lanceolata)、馬尾松(Pinus massoniana)、闊葉樹、木麻黃(Casuarina equisetifolia)、桉樹(Eucalyptus robusta)等樹類,所以本APP 二元立木材積暫時僅適用于福建省地區(qū)。在樹種下拉框中設(shè)置了7 個別類:杉木、馬尾松、闊葉樹、杉木(人工)、馬尾松(人工)、木麻黃(人工)、桉樹(人工)。

各類樹種材積計算公式如下:

式(5)~式(11)中:V為材積(m3),H為高度(m),D為胸徑(cm)。

界面設(shè)置類似原木材積計算,分別設(shè)置高度、胸徑、株數(shù)3 個輸入框;樹種選擇設(shè)置了下拉框(Spinner),將以上7 類樹預(yù)先列入其中。選擇樹類后,在界面中相應(yīng)的輸入框輸入高度、胸徑、根數(shù),程序通過條件判斷選擇相應(yīng)樹種的計算公式計算,并將結(jié)果顯示(如圖3)。同樣設(shè)置了文本監(jiān)聽,改變其中的數(shù)字,計算結(jié)果也隨之改變。

圖3 二元立木材積計算界面Fig. 3 Interface of binary standing volume calculation

3.3 羅盤儀換算

正方形標(biāo)準(zhǔn)樣地調(diào)查精度較高,是森林資源調(diào)查常用的方法[20-21]。根據(jù)《國家林業(yè)資源連續(xù)清查技術(shù)規(guī)定(2014)》,方形固定樣地面積為667 m2,周界邊長為25.82 m[22]。森林資源調(diào)查667 m2大小的正方形標(biāo)準(zhǔn)地邊界測量時,采用羅盤儀測傾斜角α,皮尺測距,根據(jù)公式,斜距=,用計算器換算出斜距或水平距。一般如果地勢好無障礙遮擋,一站就能測到底,根據(jù)羅盤儀測量出傾斜角α,用計算器能較快速計算出斜距。如果地勢不好或有障礙遮擋,就需要測量兩到三站,根據(jù)公式換算水平距或斜距,較費(fèi)時費(fèi)力。本APP 設(shè)計了一站、二站、三站3 種情況,在計算一站斜距時,輸入水平距和羅盤儀測得的傾斜角α,斜距就會自動計算;計算二或三站時,分別輸入測量出的相應(yīng)傾斜角α 和斜距,就可以快速計算出對應(yīng)的水平距或斜距,并顯示計算結(jié)果(如圖4)。

圖4 羅盤儀換算界面Fig. 4 Interface of compass conversion

3.4 平均樹高胸徑計算

平均樹高和平均胸徑都是森林調(diào)查中重要的測樹因子,平均樹高是反映林木高度平均水平的測樹指標(biāo),平均胸徑是反映林木粗度的基本指標(biāo)[23]。本APP采用算術(shù)平均數(shù)計算得到平均樹高(),其計算公式為;平方平均胸徑是長期以來認(rèn)為最合理的平均胸徑()[24],其計算公式為。在野外森林調(diào)查中,要用計算器快速計算較多樣本的平均樹高和平均胸徑,較為困難,輸入過程中一旦有錯誤,不易檢查和糾正。本功能界面思路很清晰,建立類似Excel 的兩列表格,將樹高和胸徑分兩列輸入框。為了實現(xiàn)表格下滑功能,布局中鍥入了RecyclerView,輸入框(EditText)的輸入內(nèi)容通過SparseArray 存儲調(diào)用。同樣對輸入框設(shè)置監(jiān)聽,每輸入或更改輸入框數(shù)字,結(jié)果就會自動計算并顯示(如圖5)。

圖5 平均樹高胸徑界面Fig. 5 Interface of average tree height and DBH calculation

3.5 坐標(biāo)定位轉(zhuǎn)換

本APP 使用Android 自帶的原生定位獲取經(jīng)緯度。GPS-PROVIDER:通過手機(jī)內(nèi)置的GPS 芯片,利用衛(wèi)星獲取定位信息。在AndroidManifest.xml 文件里配置手機(jī)定位權(quán)限。經(jīng)緯度格式分為3 種:度、度-分、度-分-秒。這里使用的是度-分-秒格式,因為直接獲取的經(jīng)緯度是度格式,需要將十進(jìn)制轉(zhuǎn)換為六十進(jìn)制。再通過一系列公式將經(jīng)緯度轉(zhuǎn)換為3 度帶和6度帶投影平面直角坐標(biāo)[25]。對地理位置變化設(shè)置了監(jiān)聽,一是設(shè)置每3 000 ms(即3 s)更新,二是當(dāng)坐標(biāo)改變時觸發(fā)onLocationChanged 函數(shù),如果傳進(jìn)相同的坐標(biāo),它就不會被觸發(fā)。另外,APP 通過location.getAltitude()函數(shù)獲取相應(yīng)的海拔。在主頁點擊坐標(biāo)定位轉(zhuǎn)換,如果手機(jī)定位功能未開啟,會提示“訪問我的位置信息”,確定后將自動獲取數(shù)據(jù)換算并顯示(如圖6)。

圖6 顯示經(jīng)緯度界面Fig. 6 Interface of display longitude and latitude

4 結(jié)語

智慧林業(yè)是現(xiàn)代林業(yè)發(fā)展趨勢,是當(dāng)前林業(yè)發(fā)展最前沿、最亟待發(fā)展和完善的內(nèi)容[26]。隨著人工智能技術(shù)的不斷發(fā)展,越來越多的新技術(shù)將會應(yīng)用于林業(yè)生產(chǎn)經(jīng)營,從而解放生產(chǎn)力,提高生產(chǎn)效率。本APP在原木材積計算、二元立木材積計算、羅盤儀換算、平均樹高胸徑計算和坐標(biāo)定位轉(zhuǎn)換等功能在Android系統(tǒng)上做了研究探索。目前APP 安裝后僅3.8 MB,占用空間很小,操作簡單明了,對林業(yè)生產(chǎn)和森林資源調(diào)查起到一定的幫助。但是還有不足之處,比如對輸入的數(shù)據(jù)和計算結(jié)果沒有統(tǒng)計、保存和傳輸功能,下一步將繼續(xù)完善數(shù)據(jù)統(tǒng)計、保存和傳輸相應(yīng)功能,減少人工記錄和重復(fù)數(shù)據(jù)錄入,提升調(diào)查內(nèi)業(yè)整理效率。

猜你喜歡
輸入框斜距材積
基于GGB的拖動交互式練習(xí)題
中間法短視距精密三角高程在高層平臺沉降監(jiān)測中的應(yīng)用
拍一拍,圖片識文字
基于雷達(dá)測距與角位置輔助的SINS空中對準(zhǔn)方法
輸入框設(shè)計中需注意的9個細(xì)節(jié)
斜距歸算成水平距離誤差定量分析
測繪通報(2017年2期)2017-03-07 09:58:46
5齡熱墾628材積量季節(jié)生長節(jié)律與氣象因子關(guān)聯(lián)度初步研究
自編翻譯程序
CHIP新電腦(2015年10期)2015-10-15 12:48:23
福建省闊葉樹二元材積方程修訂
機(jī)載毫米波高分辨大斜視合成孔徑雷達(dá)成像
云安县| 门源| 阳高县| 武鸣县| 柘荣县| 雷波县| 大港区| 平和县| 鲁山县| 汶川县| 凤山市| 新乐市| 巴林右旗| 岳西县| 诸暨市| 河西区| 孟村| 旬邑县| 玛曲县| 云林县| 玛纳斯县| 类乌齐县| 勐海县| 宜阳县| 顺平县| 瓮安县| 图们市| 天水市| 安塞县| 金坛市| 沾益县| 武川县| 花莲县| 尤溪县| 平乐县| 唐山市| 孝义市| 庐江县| 平和县| 伊春市| 北京市|