梁志強(qiáng)
(黑龍江省林業(yè)監(jiān)測規(guī)劃院,黑龍江 哈爾濱 150080)
森林資源規(guī)劃設(shè)計調(diào)查是林業(yè)發(fā)展規(guī)劃、經(jīng)營、管理的基礎(chǔ)性調(diào)查工作,從調(diào)查開始到最終提交成果資料所用時間較長,內(nèi)業(yè)數(shù)據(jù)處理手段直接影響到工作效率。地理信息系統(tǒng)軟件在林業(yè)等領(lǐng)域方面得到了廣泛的應(yīng)用,空間要素的圖形管理功能很強(qiáng)大,但屬性數(shù)據(jù)管理功能有限,由于其使用矢量文件數(shù)據(jù)格式的特性,其數(shù)據(jù)表(dBase格式)可以使用Visual FoxPro數(shù)據(jù)庫管理工具的命令語句進(jìn)行單獨讀取和操作[1],在保證格式類型和記錄順序滿足要求的條件下,不會影響矢量文件的使用,該系統(tǒng)的研發(fā)主要是對DBF文件進(jìn)行管理,實現(xiàn)資源調(diào)查屬性數(shù)據(jù)的高效化管理。
Visual FoxPro簡稱VFP,是Microsoft公司推出的數(shù)據(jù)庫開發(fā)軟件,在桌面型數(shù)據(jù)庫應(yīng)用中,處理速度極快,是日常工作中的得力助手,目前最終版本為VFP9.0。
Visual FoxPro在現(xiàn)在的數(shù)據(jù)庫管理系統(tǒng)應(yīng)用來說已經(jīng)很少見,但是對于基于文件式的林業(yè)矢量數(shù)據(jù)處理來說,VFP卻有其獨特的應(yīng)用優(yōu)勢:
(1)其操作簡單、易學(xué)、極大地方便了軟件的開發(fā),數(shù)據(jù)處理以命令方式執(zhí)行,只要掌握命令的語法規(guī)則和具體的關(guān)鍵詞,就很容易實現(xiàn)對數(shù)據(jù)進(jìn)行增加、刪除、修改、查詢、統(tǒng)計等功能。
(2)對結(jié)構(gòu)化查詢語言(SQL)的支持,并可以實現(xiàn)SQL命令與VFP關(guān)鍵字命令的同時使用,比其他具有很好的優(yōu)勢,實現(xiàn)方法簡單,支持SQL語句的嵌套操作。
(3)程序的編寫是基于命令行的執(zhí)行方式,可對屬性表直接進(jìn)行操作及管理。
(4)與地理信息Shape文件數(shù)據(jù)庫表(.DBF格式)的兼容。
地理信息系統(tǒng)已在林業(yè)等行業(yè)得到應(yīng)用,地理信息軟件可交互的地理信息數(shù)據(jù)格式為矢量文件,至少由主文件 (*.shp),索引文件 (*.shx),dBase表文件(*.dbf)三個基本文件組成[2],其中.DBF是數(shù)據(jù)庫文件,操作系統(tǒng)安裝VFP后,直接雙擊.DBF就可以打開,并顯示記錄信息。在保證矢量文件的完整性的前提下,我們可以在不改變.DBF文件記錄順序的情況下,直接編輯.DBF文件,實現(xiàn)數(shù)據(jù)因子間的邏輯關(guān)系檢查,屬性因子演算分析、統(tǒng)計匯總等功能,或者保持關(guān)鍵字一致的情況下,單獨編輯.DBF文件,待編輯完成后,通過關(guān)鍵字進(jìn)行關(guān)聯(lián)數(shù)據(jù),關(guān)聯(lián)后轉(zhuǎn)換成Foxplus版本,不影響矢量文件的操作,這樣對林業(yè)圖斑屬性數(shù)據(jù)的處理就變成了關(guān)系型數(shù)據(jù)庫的處理,具有很好的操作性,技術(shù)方法和執(zhí)行效率都得到很大的提高。
2.1.1 數(shù)據(jù)庫標(biāo)準(zhǔn)化 將外業(yè)調(diào)查的數(shù)據(jù)進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,ShapeFile文件被地理信息系統(tǒng)軟件打開只能顯示一張屬性表內(nèi)容,即不支持多表結(jié)構(gòu),在實際應(yīng)用中需要將小班因子、樹種組成、立地等基礎(chǔ)信息轉(zhuǎn)換成一個標(biāo)準(zhǔn)表。
2.1.2 因子閾值標(biāo)準(zhǔn)化 按照標(biāo)準(zhǔn)及技術(shù)規(guī)程等規(guī)范屬性因子閾值,保證數(shù)據(jù)在處理過程中,閾值滿足規(guī)劃設(shè)計要求。
通過相關(guān)因子進(jìn)行數(shù)據(jù)演算分析。按照樹種組成信息演算優(yōu)勢樹種組、優(yōu)勢樹種;按照優(yōu)勢樹種年齡演算樹種齡級、齡組;按照地貌、坡位、坡度、土層厚度及土壤等信息演算立地類型;演算小班公頃蓄積、散生木公頃蓄積、地位級、經(jīng)營措施、群落結(jié)構(gòu)、天然更新等級等信息。
設(shè)計小班因子閾值標(biāo)準(zhǔn)化檢查、邏輯檢查,數(shù)據(jù)因子間邏輯關(guān)系的正確性驗證,以保證統(tǒng)計表間關(guān)系的一致。
計算喬木林、疏林地控制樣地平均蓄積與平均公頃小班蓄積的誤差值。
根據(jù)規(guī)劃設(shè)計調(diào)查的統(tǒng)計表結(jié)構(gòu),編寫統(tǒng)計匯總程序。統(tǒng)計過程中根據(jù)統(tǒng)計表內(nèi)容篩選統(tǒng)計關(guān)鍵因子,進(jìn)行分類匯總,生成臨時表,最后通過操作臨時表進(jìn)行數(shù)據(jù)匯總,提高統(tǒng)計速度。
2.6.1 小班調(diào)查卡片打印程序 使用VFP的報表系統(tǒng),按照調(diào)查卡片結(jié)構(gòu)進(jìn)行設(shè)計,版面控制為A3紙張,一張紙正反面打印4個小班數(shù)據(jù)。將小班數(shù)據(jù)按照林班、小班進(jìn)行排序,程序讀取小班數(shù)據(jù),加載到報表系統(tǒng),實現(xiàn)打印功能的設(shè)計。在實際操作中,可以在臺式機(jī)安裝虛擬打印機(jī),將小班調(diào)查簿轉(zhuǎn)換成PDF文件,方便數(shù)據(jù)存檔等。
圖1報表設(shè)計器
2.6.2 統(tǒng)計表轉(zhuǎn)換程序 VFP可以通過調(diào)用Excel對象,實現(xiàn)對Excel表格的操作,實現(xiàn)統(tǒng)計結(jié)果的轉(zhuǎn)換,生成的Excel文件便于調(diào)查人員編寫報告和調(diào)查單位數(shù)據(jù)審核等。主要命令代碼為:
eole=CREATEOBJECT('Excel.application')
eole.Workbooks.Open(_xls1)
eole.ActiveSheet.cells(2,1).value=_value
eole.ActiveWorkbook.SaveAs(_xls2)
2.6.3 Excel表的批量打印 將轉(zhuǎn)換后的統(tǒng)計表文件按單位建立文件夾,轉(zhuǎn)換時并對Excel文件按打印順序編碼。程序讀取文件夾,遍歷文件夾的中的Excel文件,發(fā)送到打印機(jī)中,實現(xiàn)打印操作。
eole.Workbooks.Open(_xls1)
eole.ActiveSheet.PrintOut
本文介紹了基于VFP森林資源規(guī)劃設(shè)計調(diào)查數(shù)據(jù)處理系統(tǒng)的實現(xiàn)的技術(shù)簡介及具體的設(shè)計實現(xiàn)步驟,VFP語法簡單,處理速度快,在實際工作中十分實用,尤其VFP可以實現(xiàn)對Excel文件的讀寫操作,實現(xiàn)了統(tǒng)計結(jié)果的Excel格式的文件輸出。該系統(tǒng)的設(shè)計對地理信息系統(tǒng)屬性數(shù)據(jù)的管理功能進(jìn)行了補(bǔ)充,可以實現(xiàn)地理信息系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)的相互結(jié)合,增強(qiáng)數(shù)據(jù)處理的能力,提高數(shù)據(jù)處理的工作效率。