文 敏,任藍(lán)翔,陽勝男,胡中岳,鄒 琪,鄒澤林
(國家林業(yè)和草原局中南調(diào)查規(guī)劃設(shè)計院,長沙 410014)
林業(yè)制圖是林業(yè)信息化過程不可缺少的環(huán)節(jié),也是林業(yè)調(diào)查規(guī)劃設(shè)計的重要過程。建設(shè)項目使用林地的審核審批是實行林地總量控制和定額管理的重要措施,是為貫徹森林法合理節(jié)約使用林地的重要抓手。根據(jù)國家林業(yè)局第35號令《建設(shè)項目使用林地審核審批管理辦法》、林資發(fā)〔2015〕122號《國家林業(yè)局關(guān)于印發(fā)<建設(shè)項目使用林地審核審批管理規(guī)范>和<使用林地申請表><使用林地現(xiàn)場查驗表>的通知》文件的要求,原國家林業(yè)局發(fā)布了《建設(shè)項目使用林地可行性報告編制規(guī)范》[1],對建設(shè)項目使用林地現(xiàn)狀圖的制作提出了具體要求。使用林地現(xiàn)狀圖是建設(shè)項目使用林地可行性報告的重要組成部分,也是對項目用地范圍使用林地情況的直觀體現(xiàn),其正確與否,直接影響到建設(shè)項目使用林地的審批。因此在技術(shù)上應(yīng)簡化步驟,統(tǒng)一操作流程,減少錯誤。
在實際工作中,對于鐵路、公路、風(fēng)電等線性建設(shè)項目使用林地現(xiàn)狀圖,主要存在的問題有:線性建設(shè)項目由于比例尺及作圖精度等要求,圖幅數(shù)量多達(dá)幾十張甚至上百張,如需要一幅一幅制作,耗時長,難度大,且易出錯,甚至標(biāo)準(zhǔn)不統(tǒng)一;表格標(biāo)注法難以隨圖幅變化而動態(tài)變化,需要分幅調(diào)整表格標(biāo)注,耗時、易出錯;在遇到現(xiàn)狀圖某因子需要修改時,難以批量修改,即使保存了多個ArcMAP文件,仍舊需逐幅圖修改[2-4]。本文以某鐵路建設(shè)項目使用林地現(xiàn)狀圖為例,基于數(shù)據(jù)驅(qū)動工具和工廠化制圖插件,對批量輸出使用林地現(xiàn)狀圖方法進(jìn)行研究,實現(xiàn)了批量出圖。需要的軟件為ArcGIS 10.2.2和對應(yīng)版本的mapping production插件。
項目制圖需要收集的數(shù)據(jù)為項目區(qū)用地范圍、項目區(qū)涉及的地形圖或遙感影像、森林資源管理一張圖、行政界線。
數(shù)據(jù)預(yù)處理主要包括柵格數(shù)據(jù)的預(yù)處理和矢量數(shù)據(jù)預(yù)處理。柵格數(shù)據(jù)的預(yù)處理主要是對收集到的遙感影像進(jìn)行配準(zhǔn)、校正、融合、拉伸。對地形圖進(jìn)行地類配準(zhǔn)。矢量數(shù)據(jù)預(yù)處理包括項目區(qū)用地范圍及項目區(qū)使用林地小班圖層的處理。項目區(qū)用地范圍通常為CAD格式數(shù)據(jù),需通過ArcGIS的導(dǎo)出及要素轉(zhuǎn)面功能將項目區(qū)用地范圍處理成面要素類型的shp格式。林地小班圖層通過項目用地范圍與森林資源管理一張圖相交后生成,并刪除非林地要素,并按需標(biāo)注的字段添加字段,填寫屬性。
數(shù)據(jù)驅(qū)動工具是通過創(chuàng)建索引圖層要素,將整個圖幅按比例尺和出圖頁面分割成若干圖幅。通過對索引要素進(jìn)行遍歷,能實現(xiàn)圖幅的批量出圖,保證了制圖幅面及標(biāo)準(zhǔn)的統(tǒng)一。該工具包括格網(wǎng)索引要素和帶狀地圖索引要素工具[5]。本文選擇創(chuàng)建格網(wǎng)索引要素工具,輸入的數(shù)據(jù)選擇項目用地范圍,比例尺設(shè)置為1∶5000,先創(chuàng)建該比例尺下的接圖表,再通過數(shù)據(jù)驅(qū)動工具,實現(xiàn)圖幅的自動化加載。
在使用林地現(xiàn)狀圖制圖中,由于小班數(shù)量多,常規(guī)標(biāo)注會導(dǎo)致標(biāo)注互相壓置,并對圖形產(chǎn)生遮蓋,難以滿足制圖要求。而利用標(biāo)注轉(zhuǎn)注記工具,通過人工調(diào)整耗時耗力,并且如果數(shù)據(jù)因某些原因需修改,那么每一次都得重新調(diào)整。而mapping production插件工具能實現(xiàn)表格動態(tài)加載功能,根據(jù)數(shù)據(jù)庫數(shù)據(jù)的變化而變化,從而實現(xiàn)動態(tài)加載。該工具是由Esri公司開發(fā),不同版本的ArcMAP對應(yīng)不同版本的mapping production插件[6-7]。本文基于ArcGIS 10.2.2版本的對應(yīng)的mapping production插件,實現(xiàn)表格動態(tài)加載。
批量輸出使用林地現(xiàn)狀圖流程主要包括制圖頁面設(shè)置、數(shù)據(jù)驅(qū)動頁面設(shè)置、添加標(biāo)注、輸出現(xiàn)狀圖4個步驟。
制圖頁面的設(shè)置主要包括出圖大小、標(biāo)題、圖幅號、指北針、比例尺、圖例、調(diào)查人、制圖人、審查人、制圖單位、制圖日期。出圖大小的設(shè)置主要通過頁面和打印設(shè)置中大小和方向來設(shè)置,本次選擇A3大小,橫向。設(shè)置好出圖大小后,依次插入標(biāo)題、圖幅號、植被針和比例尺。圖幅號通過插入動態(tài)文本的方式,可實現(xiàn)圖幅號隨著圖幅變化而變化,不用手動修改,具體方法為【插入】—【動態(tài)文本】—【數(shù)據(jù)驅(qū)動頁面頁碼】,圖幅號一般可置于右上角。再依次在圖幅左下角插入調(diào)查人、制圖人、審查人,右下角插入制圖單位、制圖日期。按圖1所示,調(diào)整好各項制圖元素的位置。
圖1 制圖頁面設(shè)置
加載制圖需要的各項圖層,項目小班圖層各地類的顏色填充按照《建設(shè)項目使用林地可行性報告編制規(guī)范制作》,并保存為內(nèi)置樣式,方便以后制作類似現(xiàn)狀圖時調(diào)用。項目區(qū)行政界線圖層加載后,選擇村界對應(yīng)樣式,并標(biāo)注縣鄉(xiāng)村名。森林資源一張圖加載后,標(biāo)注林地落界小班號。加載制圖需要的地形圖或遙感圖底圖,進(jìn)行配準(zhǔn)。圖例中可提前將各要素調(diào)整設(shè)置對齊,實現(xiàn)圖例隨圖層的變化而自動變化。保存好制作完成的制圖頁面,設(shè)置相對存儲路徑,也可作為模板方便其他項目制圖使用。
按出圖比例尺創(chuàng)建,調(diào)整格網(wǎng),選擇數(shù)據(jù)驅(qū)動工具。在【系統(tǒng)工具箱】中找到【數(shù)據(jù)驅(qū)動頁面】中【格網(wǎng)索引要素】或者【帶狀地圖所索引要素】工具,點擊格網(wǎng)索引要素工具,打開對話框,輸出要素填寫創(chuàng)建的格網(wǎng)存儲路徑及名稱、輸入要素選擇項目用地范圍,將使用頁面單位和比例復(fù)選框打上“√”,點擊確定,即可生成格網(wǎng)。如圖2所示,根據(jù)用地范圍位置調(diào)整格網(wǎng)使用地范圍數(shù)據(jù)位置在格網(wǎng)中間。打開數(shù)據(jù)驅(qū)動工具,點擊【設(shè)置數(shù)據(jù)驅(qū)動頁面】,打開對話框,【定義】選項卡,將啟用數(shù)據(jù)驅(qū)動頁面打上“√”,圖層選擇創(chuàng)建的格網(wǎng),【范圍】選項卡中大小選100%,指定使用選百分比。如圖2所示。
圖2 格網(wǎng)索引要素設(shè)置
根據(jù)《建設(shè)項目使用林地塊可行性報告編制規(guī)范》(LY/T 2492—2015),使用林地現(xiàn)狀圖標(biāo)注可采取分式符號標(biāo)注和表格標(biāo)注兩種方法。標(biāo)注的主要因子應(yīng)至少包括小班序號、面積、現(xiàn)狀地類、森林類別和林地保護(hù)等級五項因子。本文分別介紹表格標(biāo)注法和分式注記法兩種方法。
3.3.1 表格標(biāo)注法
常規(guī)分式標(biāo)注會導(dǎo)致標(biāo)注互相壓置,并對圖形產(chǎn)生遮蓋,難以滿足制圖要求。而采取分式標(biāo)注利用標(biāo)注轉(zhuǎn)注記工具,需耗費大量人工調(diào)整,耗時耗力,并且如果數(shù)據(jù)因某些原因需修改,那么每一次都得重新調(diào)整,人工粘貼表格標(biāo)注法易出錯、耗時長。而mapping production插件工具能實現(xiàn)表格動態(tài)加載功能,根據(jù)數(shù)據(jù)庫數(shù)據(jù)的變化而變化,從而實現(xiàn)動態(tài)加載。具體步驟如下:
1)插入動態(tài)表格:點擊【插入】—【Graphic Table Element】,打開New Table對話框,選擇 Item to Row,點擊Wizard。
2)設(shè)置表格格式:打開Set Table Format 對話框,【W(wǎng)idth】選項卡下選擇【Auto Fit cells】,表格的寬度會根據(jù)字段寬度的調(diào)整而調(diào)整?!綡eight】選項卡下選擇【Table Design】,【Size】選擇500,默認(rèn)值為100,當(dāng)圖幅中字段記錄數(shù)較多時,不能完全顯示,建議填大一點。并勾選Make content items equal ,勾選Auto Wrap Columns and Rows,選擇Header and Footer on each row or column。點擊【下一步】。
3)選擇數(shù)據(jù):打開【Select data sources from the list】對話框,選擇【林地小班】圖層,勾選Always keep table dynamically synchronized with data frame(隨著格網(wǎng)的變化而變化數(shù)據(jù)),勾選Define Filters,點擊【下一步】。
4)選擇標(biāo)注字段:打開【Defining table fields】對話框,選擇要在現(xiàn)狀圖中的顯示的字段,小班序號、小班面積、地類、森林類別、林地保護(hù)等級等字段,并按順序依次排列,勾選show Field Aliases in Table Header(顯示字段別名),點擊【下一步】。
5)設(shè)置過濾條件:打開【Defining filters】對話框,選擇【林地小班】,點擊【Filter】,打開【Data Filters】對話框,【Base Selection】選項卡選擇【Visible Extent】,勾選Honor Definition Query,點擊【Add Filter】-【Sorting Filter】,打開【Sort Options】對話框,點擊【Add Table Fields】,打開【Table Fields Selector】對話框,點擊【使用林地地塊序號】,依次點擊【OK】,【完成】。
6)完善表格:雙擊生成的動態(tài)表格,會出現(xiàn)最后一行空行,需要刪除。打開【Table Format】對話框,選擇【Table Format】選項卡,點擊【Table Design】,打開【Item To Row Table Design】對話框,選擇f1,點擊【Table Layout】—【Delete】—【Rows】,依次點擊【OK】,【確定】。
7)表格對齊圖框:為保證每一個生成的標(biāo)注表格都位于圖框左下角,雙擊生成的動態(tài)表格,打開【Table 屬性】對話框,選擇【大小和位置】選項卡,錨點選項中選擇圖框左下角,該設(shè)置使動態(tài)表格的左下角與圖框左下角對齊。
3.3.2 分式標(biāo)注法
選擇項目小班圖層,雙擊打開圖層屬性對話框,選擇標(biāo)注選項卡,在表達(dá)式中填入如下表達(dá)式:""& vbNewLine & [地類] & "-"& [森林類別] &"-"& [林地保護(hù)等級],并進(jìn)行標(biāo)注樣式美化,點擊應(yīng)用。該方法標(biāo)注會導(dǎo)致分式標(biāo)注壓蓋及某些標(biāo)注不顯示。主要可通過兩種方法改進(jìn),Maplex引擎標(biāo)注及設(shè)置偏移量等調(diào)整或者將標(biāo)注轉(zhuǎn)為注記,通過手動移動使標(biāo)注不壓蓋圖層。但由于線性項目的小班數(shù)量較多,手動移動需耗費較長時間,且屬性每修改一次,均需重新移動標(biāo)注。因此在較多小班時,該方法的效率會低于表格標(biāo)注法。
現(xiàn)狀圖輸出有兩種方式可選擇,分別為pdf格式和jpg格式。如采取分式標(biāo)注法,則可以選擇導(dǎo)出pdf格式。選擇動態(tài)表格標(biāo)注法,應(yīng)采取Python代碼的方式,逐幅導(dǎo)出。
3.4.1 導(dǎo)出pdf格式
在ArcMAP菜單欄點擊【文件】—【導(dǎo)出地圖】,打開導(dǎo)出地圖對話框,保存類型選擇pdf,【選項】區(qū)域選擇頁面,【頁面】選擇全部,導(dǎo)出單個pdf文件,也可根據(jù)需要按頁面范圍導(dǎo)出單個pdf文件。如圖3所示。
圖3 導(dǎo)出pdf格式示例
3.4.2 導(dǎo)出jpg格式
在ArcMAP菜單欄點擊【地理處理】,選擇【Python】,打開Python編輯器,輸入圖4所示代碼,敲擊兩次【Enter】鍵,程序即可運行,批量出圖。
圖4 導(dǎo)出jpg格式代碼
代碼中"C:Users10251Desktopwmaa"+str(pageNum)+".jpg"為導(dǎo)出的現(xiàn)狀圖存儲路徑,resolution=400表示輸出的現(xiàn)狀圖分辨率為400。
1)本文基于數(shù)據(jù)驅(qū)動工具和動態(tài)表格,實現(xiàn)了圖幅號及出圖頁面的動態(tài)化加載,保證了制圖圖幅標(biāo)準(zhǔn)統(tǒng)一,基于Python代碼實現(xiàn)了自動出圖,減少了人工操作,提高了工作效率,保證了出圖標(biāo)準(zhǔn)統(tǒng)一。
2)相比較分式標(biāo)注和人工粘貼表格標(biāo)注法而言,基于工廠化制圖插件(mapping production)的動態(tài)表格標(biāo)注法,實現(xiàn)了小班注記隨頁面小班的變化而變化,解決了實際工作中分式標(biāo)注法需大量人工調(diào)整避免壓蓋的問題、人工粘貼表格標(biāo)注法易出錯、耗時長的問題。
3)基于數(shù)據(jù)驅(qū)動和工廠化制圖插件輸出使用林地現(xiàn)狀圖的方法研究也可以運用于采伐設(shè)計、造林設(shè)計其他類型的林業(yè)專題圖制作,只需將使用林地小班圖層替換成相應(yīng)圖層,并修改相應(yīng)比例尺即可。