黃思明
(黑龍江省林業(yè)和草原調(diào)查規(guī)劃設(shè)計(jì)院綏化院,黑龍江 綏化 152000)
ArcGIS (地理信息軟件)自誕生以來(lái),其應(yīng)用越來(lái)越廣泛,它不僅能夠管理空間信息數(shù)據(jù),還能對(duì)龐大的數(shù)據(jù)進(jìn)行各種分析和處理。ArcGIS被廣泛應(yīng)用于林業(yè)工作中,能夠輕松地實(shí)現(xiàn)柵格數(shù)據(jù)的鑲嵌以及裁剪、矢量化,對(duì)于各種矢量數(shù)據(jù)也能夠根據(jù)不同的需求,進(jìn)行處理和分析,形成各類成果。
隨著林業(yè)技術(shù)的進(jìn)步和發(fā)展,大數(shù)據(jù)時(shí)代應(yīng)時(shí)而生,云端讓大數(shù)據(jù)的應(yīng)用更加具有實(shí)用價(jià)值。利用大數(shù)據(jù)進(jìn)行全國(guó)林地落界和林地變更,整合林地基礎(chǔ)信息資源,開(kāi)發(fā)建設(shè)我省林業(yè)大數(shù)據(jù)前置平臺(tái),為林業(yè)管理工作提供了信息化手段?;A(chǔ)數(shù)據(jù)的真實(shí)可靠,是平臺(tái)應(yīng)用的前提和必要條件。在以往的林業(yè)管理工作中,很多數(shù)據(jù)沒(méi)有進(jìn)行過(guò)系統(tǒng)的檢查和綜合分析,特別是拓?fù)浞治?,?dǎo)致大數(shù)據(jù)時(shí)代的數(shù)據(jù)應(yīng)用出現(xiàn)很多錯(cuò)誤和問(wèn)題,降低了數(shù)據(jù)使用效率,浪費(fèi)了歷史調(diào)查數(shù)據(jù)的參考價(jià)值,甚至導(dǎo)致數(shù)據(jù)完全不可用。因此數(shù)據(jù)的拓?fù)錂z查,特別是大數(shù)據(jù)時(shí)代的拓?fù)錂z查效率尤為重要。
自ArcGIS 8以后,Geodatabase(地理數(shù)據(jù)庫(kù))已成為一種全新的空間數(shù)據(jù)模型。它是一種開(kāi)放的空間數(shù)據(jù)結(jié)構(gòu),能存放并處理矢量、柵格、多種格式圖片、三維地形等??墒荊eodatabase中不能直接建立拓?fù)潢P(guān)系,需要通過(guò)數(shù)據(jù)集去構(gòu)建拓?fù)潢P(guān)系。同一種要素類(點(diǎn)、線、面)之間的公共點(diǎn)、公共邊等要素是在建立拓?fù)渲?,通過(guò)拓?fù)涞木庉嬤^(guò)程中動(dòng)態(tài)地檢測(cè)到的。例如,我們想對(duì)兩個(gè)面的公共邊進(jìn)行修改或者編輯,那么Geodatabase將自動(dòng)檢測(cè)到與此公共邊要素具有公共幾何關(guān)系的所有其它要素,當(dāng)我們修改該條公共邊要素或者該公共邊上的某個(gè)點(diǎn)時(shí),系統(tǒng)會(huì)自動(dòng)對(duì)該公共邊或公共點(diǎn)所涉及的所有面要素進(jìn)行維護(hù),以保持其原有的拓?fù)潢P(guān)系。這種方法的優(yōu)點(diǎn)在于可以對(duì)特定部分,有選擇的維護(hù)和修改拓?fù)潢P(guān)系,但是對(duì)于大量的數(shù)據(jù)修改就顯得不快捷,耗時(shí)費(fèi)力。
建立拓?fù)潢P(guān)系最重要的就是注意投影與坐標(biāo)設(shè)定。由于拓?fù)潢P(guān)系只能在要素?cái)?shù)據(jù)集里操作,所以在導(dǎo)入數(shù)據(jù)的時(shí)候,投影的設(shè)定一定要與矢量數(shù)據(jù)保持一致。同時(shí)添加拓?fù)湟?guī)則,如不能有面空隙、不能有面重疊。表1是某兩個(gè)林場(chǎng)數(shù)據(jù)在拓?fù)溴e(cuò)誤檢查時(shí),顯示的錯(cuò)誤類型和數(shù)量。
表1 拓?fù)溴e(cuò)誤類型和數(shù)量Tab.1 Type and Quantity of Topology Errors
面重疊可以通過(guò)以下幾種方法進(jìn)行修改。首先可以直接修改要素節(jié)點(diǎn),去除重疊部分。第二種方法是在錯(cuò)誤檢查器中的相應(yīng)錯(cuò)誤上右鍵選擇merge(合并),將重疊部分合并到其中相鄰的一個(gè)面里。第三種方法是在錯(cuò)誤的右鍵選擇create feature(創(chuàng)建要素),將重疊部分生成一個(gè)新的要素,然后利用editor(編輯器)下的merge(合并)把生成的面合并到相鄰的面中。第四種方法是用editor(編輯器)下的clip(裁剪)功能,直接將重疊部分裁除。
面空隙可以通過(guò)以下幾種方法修改。第一種去節(jié)點(diǎn),可以直接修改空隙面上的節(jié)點(diǎn)要素;第二種方法,在該空隙錯(cuò)誤上右鍵選擇create feature(創(chuàng)建要素),此時(shí)空隙部分會(huì)生成一個(gè)新的面要素,然后利用editor(編輯器)下的merge(合并)把生成的面合并到相鄰的面里。第三種在task(創(chuàng)建要素)菜單下選則auto-complete polygon(自動(dòng)完成面)工具,用草圖工具功能自動(dòng)生成多邊形,此時(shí)空隙區(qū)域會(huì)自動(dòng)生成一個(gè)新面,按照上述辦法,再將面合并到相鄰的面里。
無(wú)論基于以上哪種辦法,都需要對(duì)7000多個(gè)錯(cuò)誤逐一修改,工作量無(wú)疑是巨大的而且不能保證全部正確。
拓?fù)錂z查出來(lái)的面錯(cuò)誤,想要實(shí)現(xiàn)批量操作并不能在拓?fù)鋽?shù)據(jù)庫(kù)里進(jìn)行操作,而是需要用數(shù)據(jù)管理工具中要素工具進(jìn)行操作。
在屬性表中添加字段“編號(hào)識(shí)別”,利用字段計(jì)算器計(jì)算該字段,令其等于FID或者OBJECTID,得到如圖結(jié)果。此步的操作目的有二,一是將原始地塊和即將要新生成的面區(qū)別開(kāi)來(lái),二是為了下步屬性的空間鏈接做準(zhǔn)備。
圖1 編號(hào)識(shí)別Fig.1 Number Identification
打開(kāi)工具箱,數(shù)據(jù)管理工具目錄下要素轉(zhuǎn)點(diǎn)。這一步操作的目的是每個(gè)小班面轉(zhuǎn)成其內(nèi)部點(diǎn)。因?yàn)榇颂幍狞c(diǎn)和原始的面屬性是一一對(duì)應(yīng)的,為了便于與最后形成的面在同一位置保證屬性鏈接。注意,轉(zhuǎn)點(diǎn)時(shí)要將“內(nèi)部”項(xiàng)勾上,這樣能保證每個(gè)小班所轉(zhuǎn)的點(diǎn)都會(huì)落在小班面內(nèi)部,避免很多不規(guī)則的小班將中心點(diǎn)落在外面,而影響下一步操作。
同樣的路徑下,要素轉(zhuǎn)線。注意,是要將原始小班面轉(zhuǎn)線。
此步的操作是將上一步轉(zhuǎn)成的線層再生成面層。這樣做的結(jié)果就是將重疊和空隙的部分都將生成獨(dú)立的面狀小班。此時(shí)的面要素已經(jīng)不存在空隙和重疊部分。
此時(shí)可以將拓?fù)潢P(guān)系中檢查出來(lái)的錯(cuò)誤導(dǎo)出,作為參考,對(duì)照相應(yīng)位置錯(cuò)誤是否已被修復(fù)。具體操作如下:數(shù)據(jù)管理工具下-拓?fù)?導(dǎo)出拓?fù)溴e(cuò)誤。此時(shí)會(huì)形成兩個(gè)新的圖層,一個(gè)是線層,一個(gè)是面層。線層代表的是空隙錯(cuò)誤,面層代表的是重疊錯(cuò)誤。
這一步的操作目的是實(shí)現(xiàn)屬性的鏈接。此時(shí)生成面層,屬性是空值,沒(méi)有屬性。而且原始面原有的屬性和字段都不存在,屬性表只有系統(tǒng)自動(dòng)生成字段。第一步轉(zhuǎn)成點(diǎn)層的目的就是為了此時(shí)將屬性進(jìn)行鏈接。具體操作分析工具-疊加分析-空間連接,所得結(jié)果圖2所示。
圖2 空間連接Fig.2 Spatial Connection
篩選編號(hào)識(shí)別字段,“0”值為新形成的面。其中重疊部分單獨(dú)成面,空隙部分也被創(chuàng)建成要素面。
此步的操作就是要消除這些“0”值。有兩種方法,第一種可以逐個(gè)點(diǎn)取,選擇相鄰的適宜的面進(jìn)行逐個(gè)合并。第二種方法就是利用數(shù)據(jù)管理工具中制圖綜合的消除工具。具體操作數(shù)據(jù)管理工具-制圖綜合-消除。此步操作需注意要素的選擇,必須從屬性表中選出屬性為空值的進(jìn)行操作,將面與具有面積最大或公用邊界最長(zhǎng)的鄰近面合并來(lái)消除面。具體操作屬性表-按屬性選擇-編號(hào)識(shí)別=0。
編號(hào)識(shí)別中空值字段已經(jīng)全部被合并。此時(shí)可以再建拓?fù)溥M(jìn)行檢驗(yàn)。
圖3 消除空值Fig.3 Eliminating Null Values
這種方法雖然操作簡(jiǎn)單快捷,準(zhǔn)確率高,但是對(duì)那些面兩端都跨多個(gè)小班的狹長(zhǎng)縫隙和重疊面的操作有一定不準(zhǔn)確,可能會(huì)形成尖銳角。
這種現(xiàn)象主要見(jiàn)于各個(gè)林場(chǎng)的接界處,由于早些年沒(méi)有先進(jìn)的檢查軟件和技術(shù)支持,導(dǎo)致各個(gè)林場(chǎng)的數(shù)據(jù)“各自為政”,匯總?cè)謭D的時(shí)候就會(huì)出現(xiàn)這種肉眼難以察覺(jué)的狹長(zhǎng)縫隙或重疊。雖然此時(shí)拓?fù)溴e(cuò)誤已經(jīng)糾正,但是對(duì)于數(shù)據(jù)的美觀來(lái)講還存在的一定的瑕疵。需要另一樣工具對(duì)其修正。擴(kuò)展模塊下的Data Reviewer工具具有檢測(cè)急銳角化的功能。實(shí)際操作中對(duì)于角度要求一般需大于30度。
圖4 急銳角化校驗(yàn)Fig.4 Sharp Angle Verification
這樣就可以對(duì)整個(gè)數(shù)據(jù)庫(kù)里的急銳角化誤差進(jìn)行檢測(cè)并對(duì)其改正。
拓?fù)潢P(guān)系被用來(lái)描述要素之間的幾何錯(cuò)誤,在確定要素之間的空間位置關(guān)系之后,才能進(jìn)行相應(yīng)的查找和修改,但是需要對(duì)其手工逐一檢查,對(duì)技術(shù)人員的技術(shù)和水平也有相應(yīng)的要求,出錯(cuò)率也相對(duì)高些。大數(shù)據(jù)平臺(tái)的應(yīng)用加快我省實(shí)現(xiàn)數(shù)字化林業(yè)的進(jìn)程,對(duì)生態(tài)林業(yè)的發(fā)展具有非常重要的價(jià)值,大數(shù)據(jù)是需要龐大的數(shù)據(jù)作為基礎(chǔ)支撐,具有大量、高速、真實(shí)等特點(diǎn)。同時(shí)生態(tài)林業(yè)的生存和發(fā)展是一個(gè)長(zhǎng)期且不斷更新的事業(yè),離不開(kāi)大數(shù)據(jù)的支撐,只有通過(guò)大數(shù)據(jù)不斷的積累和演算分析,才能夠更好地為生態(tài)林業(yè)提供更加合理的資源配置方案。這些要求決定了我們對(duì)數(shù)據(jù)的處理在保證其準(zhǔn)確和精確的前提下,提高效率非常重要。利用上述方法屬性的操作基本實(shí)現(xiàn)零失誤,同時(shí)對(duì)于矢量面上角度的要求,可以得到任意角度的檢測(cè)和改正,最重要的是通過(guò)批量處理拓?fù)浯嬖诘膯?wèn)題,可以高效提升作業(yè)效率。