普紹林
(云南省易門縣十街鄉(xiāng)林業(yè)工作站,云南 易門 651100)
ArcGIS軟件已廣泛應(yīng)用于林業(yè)制圖工作,傳統(tǒng)林業(yè)項(xiàng)目制圖時(shí),一般按照從北向南、從西向東的原則編小班號,人們一般憑面層(圖斑)來判斷,逐個(gè)編小班號,費(fèi)時(shí)、費(fèi)力,容易誤編,效率低。ArcGIS軟件沒有現(xiàn)成的小班號編號工具,雖然可以用ArcGIS軟件編寫小班自動(dòng)編號程序,但多數(shù)一線林業(yè)調(diào)查人員難以做到。經(jīng)過多年的林業(yè)工程項(xiàng)目制圖實(shí)踐,總結(jié)出利用ArcGIS10.2和Excel2010相結(jié)合的方法,為林業(yè)項(xiàng)目制圖按頂點(diǎn)小班號自動(dòng)編號。
面層小班按頂點(diǎn)編號,即面層小班按折點(diǎn)縱坐標(biāo)最大值、橫坐標(biāo)最小值編號。按人工編號的思路,每個(gè)小班需要找出縱坐標(biāo)最大值、橫坐標(biāo)最小值的一個(gè)折點(diǎn),每個(gè)小班均參照這個(gè)折點(diǎn)編號。添加Shape矢量面層圖斑號字段值,用要素折點(diǎn)轉(zhuǎn)點(diǎn)工具制作要素折點(diǎn)點(diǎn)層,導(dǎo)出折點(diǎn)點(diǎn)層Excel,制作面層小班折點(diǎn)縱坐標(biāo)最大值、橫坐標(biāo)最小值極坐標(biāo)Excel,在Excel中自動(dòng)編小班號,Shape矢量面層連接Excel,面層小班自動(dòng)編號實(shí)現(xiàn)。
現(xiàn)以易門縣2015年新一輪退耕還林Shape矢量面層小班號自動(dòng)編號為例,說明使用ArcGIS和Excel相結(jié)合的方法,為林業(yè)項(xiàng)目制圖按頂點(diǎn)按村分組小班號自動(dòng)編號的方法和步驟。
自動(dòng)賦值圖斑號是為了建立Shape矢量面層折點(diǎn)點(diǎn)層圖斑號屬性值和Shape矢量面層與Excel連接的連接字段值。圖斑號不重復(fù)。
啟動(dòng)ArcMap,加載Shape矢量面層,打開屬性表,添加X、Y、圖斑號、編號、重復(fù)數(shù)字段,字段類型X、Y字段為雙精度型,默認(rèn)(下步要精確計(jì)算折點(diǎn)坐標(biāo)),其余字段類型均為長整型,默認(rèn)。可用字段計(jì)算器,圖斑號=[FID]+1,自動(dòng)賦值圖斑號。
啟動(dòng)ArcMap,打開要素折點(diǎn)轉(zhuǎn)點(diǎn)工具,輸入要素選擇編好圖斑號的Shape矢量面層,選擇保存路徑,文件名,確定。打開折點(diǎn)點(diǎn)層屬性表,計(jì)算幾何,點(diǎn)的X坐標(biāo),點(diǎn)的Y坐標(biāo)。
啟動(dòng)ArcMap,打開表轉(zhuǎn)Excel工具,將Shape矢量面層折點(diǎn)點(diǎn)層屬性表導(dǎo)出。
用上一步導(dǎo)出的折點(diǎn)點(diǎn)層屬性表Excel表格,制作具有標(biāo)題行的每個(gè)圖斑含有圖斑號、縱坐標(biāo)最大值、橫坐標(biāo)最小值等屬性的唯一一行的折點(diǎn)極坐標(biāo)Excel表格。由于折點(diǎn)點(diǎn)層屬性表列數(shù)較多,可用Excel函數(shù)COUNTIF制作。打開折點(diǎn)點(diǎn)層屬性表Excel表格,全選表格,按圖斑號升序、Y降序、X升序排序,在Z2單元格輸入公式=COUNTIF(X$2:X2,X2),回車,下拉復(fù)制公式,計(jì)算圖斑號第幾次重復(fù),再全選表格,按重復(fù)數(shù)升序排序,刪除第幾次重復(fù)數(shù)大于等于2的行,折點(diǎn)極坐標(biāo)Excel表格制作完成(標(biāo)題行除外,有幾個(gè)圖斑就有幾行)。用Excel函數(shù)COUNTIF制作折點(diǎn)極坐標(biāo)Excel表格界面(圖1)。
圖1 用Excel函數(shù)COUNTIF制作折點(diǎn)極坐標(biāo)Excel表格界面
可用Excel函數(shù)COUNTIF自動(dòng)賦值小班號。打開上一步制作的折點(diǎn)極坐標(biāo)Excel表格,全選表格,按村升序、Y降序、X升序排序,在Y2單元格輸入公式=COUNTIF(D$2:D2,D2),回車,下拉復(fù)制公式,Excel小班號自動(dòng)編號完成。用Excel函數(shù)COUNTIF自動(dòng)賦值小班號界面(圖2)。
圖2 用Excel函數(shù)COUNTIF自動(dòng)賦值小班號界面
啟動(dòng)ArcMap,加載Shape矢量面層,在內(nèi)容列表中右鍵單擊Shape矢量面層,連接和關(guān)聯(lián),連接,連接上一步已賦值小班號的Excel,其擴(kuò)展名為.xls,連接字段選擇圖斑號(連接字段類型相同,值相同),字段計(jì)算器,小班號=[編號],Shape矢量面層小班號自動(dòng)賦值完成。
上一步自動(dòng)賦值的小班號格式為整數(shù)(比如1),林業(yè)調(diào)查小班號的格式為文本(比如001)。啟動(dòng)ArcMap,加載上一步已賦值小班號的Shape矢量面層(小班號字段類型為文本),打開屬性表,添加修改1字段(長整型)、修改2字段(文本)、修改3字段(文本),字段計(jì)算器,修改1=[小班號],打開屬性表,按修改1字段升序排序,在屬性表中選中修改1字段值為個(gè)位數(shù)的行,計(jì)段計(jì)算器,修改2=”00”(英文狀態(tài)雙引號),同樣在屬性表中選中修改1字段值為十位數(shù)的行,字段計(jì)算器,修改2=”0”,清除所選內(nèi)容,字段計(jì)算器,修改3=[修改2]+[小班號]。修改3字段值即為修改好格式的小班號字段值。字段計(jì)算器,小班號=[修改3],用字段計(jì)算器自動(dòng)修改小班號格式完成。用字段計(jì)算器自動(dòng)修改小班號格式界面(圖3)。
圖3 用字段計(jì)算器自動(dòng)修改小班號格式界面
小班號按頂點(diǎn)按村分組自動(dòng)編號標(biāo)注效果界面(圖4)。
圖4 小班號按頂點(diǎn)按村分組自動(dòng)編號標(biāo)注效果界面
利用ArcGIS10.2和Excel2010相結(jié)合的方法,無需編程,可實(shí)現(xiàn)林業(yè)項(xiàng)目制圖嚴(yán)格按照從北向南、從西向東小班號快速準(zhǔn)確自動(dòng)編號,符合林業(yè)小班號編號規(guī)則。