陳建義 盧衛(wèi)峰
(國(guó)家林業(yè)局華東林業(yè)調(diào)查規(guī)劃設(shè)計(jì)院浙江杭州310019)
按照方便實(shí)用的原則,國(guó)家林業(yè)局對(duì)森林資源規(guī)劃設(shè)計(jì)調(diào)查(以下簡(jiǎn)稱(chēng)“二類(lèi)”調(diào)查)中小班的編號(hào)順序作了規(guī)定,以行政村(林區(qū)、林班)為編號(hào)單位,在相連小班群內(nèi)按照從上到下,從左到右的順序依次進(jìn)行編號(hào)。這樣的編號(hào)規(guī)則符合人的觀(guān)察習(xí)慣,編制的號(hào)碼有規(guī)律,便于查找。但是,這種在實(shí)際操作過(guò)程中卻給調(diào)查人員帶來(lái)了諸多的不便,如在小班編號(hào)完成后發(fā)現(xiàn)有漏號(hào)、重號(hào)以及新增加小班等問(wèn)題時(shí),就需要重新調(diào)整小班編號(hào)。這相當(dāng)于又進(jìn)行一次小班編號(hào),勢(shì)必耗費(fèi)大量的時(shí)間和人力,工作效率低,人工編號(hào)方式已經(jīng)無(wú)法滿(mǎn)足制圖自動(dòng)化的要求。AcrGIS平臺(tái)上,利用Visual FoxPro 9.0編寫(xiě)程序,按照小班編號(hào)原則對(duì)小班進(jìn)行編號(hào),實(shí)現(xiàn)了小班編號(hào)的自動(dòng)化,可提高工作效率,克服傳統(tǒng)方法編寫(xiě)小班號(hào)的弊端。
首先在ArcGIS中對(duì)小班多邊形(polygon)進(jìn)行唯一編碼編寫(xiě),用于小班對(duì)應(yīng)掛接。將小班多邊形轉(zhuǎn)化為小班點(diǎn)圖層(point),獲取小班點(diǎn)圖層的橫坐標(biāo)值和縱坐標(biāo)值,在小班號(hào)編制區(qū)域內(nèi),按照縱坐標(biāo)由大到小、橫坐標(biāo)從小到大依次進(jìn)行排序,并賦值,增量為1;編制區(qū)域變動(dòng)時(shí),重新從1開(kāi)始賦值。如此反復(fù),即可給每個(gè)小班賦值編號(hào)。
在 ArcGIS中,加載小班面圖層(xb),在屬性表(attribute)中增加 1個(gè)長(zhǎng)整型(Long)的字段,字段名設(shè)置“序號(hào)”,并進(jìn)行小班唯一編碼,用于小班對(duì)應(yīng)掛接。打開(kāi) ArcToolbox下面的Data Management Tools->Features->Feature to point工具,同時(shí)選中“inside(optional)”復(fù)選框,將小班面圖層轉(zhuǎn)化為小班點(diǎn)圖層(xb_bh),并加載剛生成的小班點(diǎn)圖層,在屬性表中增加2個(gè)長(zhǎng)整型的字段,字段名設(shè)置為“x”和“y”,在屬性表中通過(guò)圖形計(jì)算(Calculate Geometry)獲取小班點(diǎn)(xb_bh)的橫坐標(biāo)值(X)和縱坐標(biāo)值(Y)。將小班面圖層(xb)和小班點(diǎn)圖層(xb_bh)放置在同一個(gè)文件夾下。小班點(diǎn)圖層屬性表如圖1所示。
圖1 小班點(diǎn)圖層屬性表
借助Visual FoxPro 9.0開(kāi)發(fā)語(yǔ)言設(shè)計(jì)程序,新建一個(gè)表單(Form),并將“xb.dbf”和“xb_bh.dbf”加入至表單的數(shù)據(jù)環(huán)境中,放入CommandButton控件,借助數(shù)據(jù)庫(kù)SELECT-SQL語(yǔ)句對(duì)屬性庫(kù)進(jìn)行查詢(xún)更新。Command1 click事件代碼如下:
UPDATE xb SET xb.xiao_ban=temp1.xiao_ban from temp1 WHERE temp1.序號(hào)=xb.序號(hào)&&對(duì)小班面數(shù)據(jù)庫(kù)屬性表進(jìn)行小班號(hào)賦值
MESSAGEBOX("完成小班編號(hào)")
浙江省衢州市衢江區(qū)二類(lèi)調(diào)查共有6.5萬(wàn)個(gè)小班,利用上述程序?qū)π“噙M(jìn)行編號(hào),耗時(shí)不到 1分鐘,操作簡(jiǎn)單、方便、快捷、準(zhǔn)確,不會(huì)出現(xiàn)重號(hào)或漏號(hào)的現(xiàn)象。編號(hào)完成后,在ArcGIS中,加載小班面圖層(xb),并對(duì)其進(jìn)行編號(hào)標(biāo)注,可以看到小班編號(hào)符合二類(lèi)調(diào)查成果圖編制規(guī)定,如圖2所示。
圖2 小班編號(hào)結(jié)果
衢州市衢江區(qū)二類(lèi)調(diào)查共計(jì)有6.5萬(wàn)個(gè)小班,如采用傳統(tǒng)方法,每人每天最多能完成1000個(gè)小班編號(hào),依此計(jì)算,完成全部編號(hào)則需要1個(gè)人連續(xù)工作60余天,而采用本方法則不到1分鐘就能完成。借助ArcGIS軟件的特點(diǎn)結(jié)合Visual FoxPro 9.0開(kāi)發(fā)語(yǔ)言設(shè)計(jì)程序,對(duì)圖斑進(jìn)行自動(dòng)編號(hào)的方法,可以節(jié)省大量時(shí)間、人力,極大地提高了工作效率,也可以為其他類(lèi)似的工作提供借鑒。
[1]亢新剛.森林資源經(jīng)營(yíng)管理[M].北京:中國(guó)林業(yè)出版社,2001.
[2]張洪舉.Visual FoxPro權(quán)威指南[M].北京:電子工業(yè)出版社,2007.
[3]鄭旭東,黃新峰,孫紅召,等.ArcGIS中森林小班自動(dòng)編號(hào)方法探討[J].林業(yè)調(diào)查規(guī)劃,2008,33⑶:9-10.
[4]崔彥軍,丁守杰,范麗紅.VB與ArcGIS相結(jié)合森林小班自動(dòng)編號(hào)方法探討[J].山東林業(yè)科技,2013,⑵:95-97.