黃雪蓮,楊傳勇,梁敬祖
(佛山市城市規(guī)劃勘測設(shè)計研究院,廣東佛山 528000)
ArcGIS Engine中矢量數(shù)據(jù)疊加分析的實現(xiàn)及應(yīng)用
黃雪蓮?,楊傳勇,梁敬祖
(佛山市城市規(guī)劃勘測設(shè)計研究院,廣東佛山 528000)
在對矢量數(shù)據(jù)疊加分析原理進行分析的基礎(chǔ)上,描述了在ArcGIS平臺下通過ArcGIS Engine開發(fā)編寫插件工具實現(xiàn)矢量數(shù)據(jù)的疊加分析功能的方法,并結(jié)合實際案例展示了ArcGIS Engine下實現(xiàn)疊加分析功能的靈活性和實用性。
疊加分析;ArcGIS Engine;空間分析;地理信息系統(tǒng)
在GIS技術(shù)應(yīng)用的過程當中,被提及最多的問題之一是“與某個要素關(guān)聯(lián)的其他要素是什么”,例如:
(1)某塊土地利用現(xiàn)狀數(shù)據(jù)是屬于哪個行政區(qū)劃的?
(2)如果采用此種規(guī)劃,10年后某區(qū)域范圍土地利用狀況將會是怎樣?
(3)某個鎮(zhèn)區(qū)范圍內(nèi)有多少道路?
(4)哪些房子位于某個開發(fā)區(qū)域之外?
在GIS技術(shù)誕生之前,若需要回答這些問題,就需要制圖人員繪制明確清晰的相關(guān)數(shù)據(jù)范圍到透明紙上,然后把繪制的內(nèi)容進行疊加,通過剪裁等方法得到疊加的范圍,再根據(jù)人工計算的方式得到相關(guān)計算結(jié)果。
在GIS技術(shù)得到廣泛應(yīng)用的今天,我們可以使用GIS中的疊加分析功能解答上述相關(guān)問題,本文將通過對疊加分析原理、ArcGIS Engine下疊加分析的實現(xiàn)以及疊加分析的實際應(yīng)用等方面對疊加分析進行詳細論述。
地理信息系統(tǒng)的一個主要優(yōu)勢在于能夠?qū)IS數(shù)據(jù)進行空間運算以派生新的信息,空間分析是GIS的核心和靈魂,是GIS區(qū)別于一般的信息系統(tǒng)、CAD或者電子地圖系統(tǒng)的主要標志之一??臻g疊加分析就是其中的一個重要實例。
所謂疊加分析是將同一地區(qū)、同一比例尺的兩個或兩個以上數(shù)據(jù)層進行疊加,生成一個新的數(shù)據(jù)層,讓新數(shù)據(jù)層的各個要素具有各疊加層要素的多重屬性或各疊加層要素屬性的統(tǒng)計特征。根據(jù)實際應(yīng)用的需要,疊加分析包括疊加求交(Intersect)、疊加求和(U-nion)。本文以空間數(shù)據(jù)的疊加求交為例來講述疊加分析在實際工作中的應(yīng)用。
GIS以分層的方式組織地理景觀,將地理景觀按主題分層提取,同一地區(qū)的整個數(shù)據(jù)層集表達了該地區(qū)某種地理景觀的內(nèi)容。從實現(xiàn)機制上而言,疊加分析像是一條簡單的數(shù)據(jù)組裝流水線,我們通過疊加分析將參與分析的各要素進行分類,并將關(guān)聯(lián)要素的屬性進行組裝,從GIS實現(xiàn)原理上而言,疊加分析是將有關(guān)主題層組成的數(shù)據(jù)層面,進行疊加產(chǎn)生一個新數(shù)據(jù)層面的操作,其結(jié)果綜合了原來兩層或多層要素所具有的屬性。疊加分析不僅包含空間關(guān)系的比較,還包含屬性關(guān)系的比較。

圖1 求交分析示意圖
基于矢量數(shù)據(jù)的疊加分析可分為拓撲求交過程和屬性分配過程兩個步驟,其詳細過程如圖2所示。
(1)拓撲求交
拓撲求交過程即通過空間關(guān)系運算,得出在空間關(guān)系上相疊加的“要素分組”,每組要素中有兩個要素,然后對分組后的每組要素進行求交運算,通過求交運算得出的幾何對象為要素組內(nèi)兩要素的公共部分。

圖2 拓撲求交流程
拓撲求交過程中空間運算和求交運算均會先給要素賦予“拓撲容差”,根據(jù)“拓撲容差”對要素進行緩沖,然后執(zhí)行相關(guān)操作。
(2)屬性分配
疊加分析不僅生成了新的空間關(guān)系,還將輸入數(shù)據(jù)層的屬性聯(lián)系起來產(chǎn)生新的屬性關(guān)系。
通過圖1可以看出,屬性分配的過程發(fā)生在求交運算完成以后,屬性的來源為求交運算后產(chǎn)生的“要素分組”中各要素的屬性。當求交運算完成后,創(chuàng)建目標要素,由于疊加分析產(chǎn)生目標要素類的屬性是兩個要素屬性的并集,所以目標要素的屬性包含“要素分組”中各個要素的屬性值。
(3)求交后的應(yīng)用
我們進行疊加分析的目的往往是,對參與疊加分析的某個要素類中的部分要素賦予另一個要素類中關(guān)聯(lián)要素的相關(guān)屬性。
通過拓撲求交和屬性分配后得到的是另外一個要素類(圖層),該要素類中的所有要素具有參與分析“要素分組”的屬性,根據(jù)該特征,我們可以通過關(guān)鍵字將求交后的要素關(guān)聯(lián)到需要增加屬性的要素上,達到實際應(yīng)用的目的。
下面通過對疊加分析原理的分析,借助ArcGIS強大的空間分析功能,并結(jié)合ArcGIS Engine組件體系,使用.Net 2005進行開發(fā)實現(xiàn)。
3.1 構(gòu)建疊加分析類
參與疊加分析的GIS數(shù)據(jù)可以為任意的點、線、面要素,而且可以對多個圖層進行疊加分析,得出分析結(jié)果,所以在疊加分析類的構(gòu)建上充分考慮其特征,通過構(gòu)造數(shù)據(jù)疊加分析類對疊加分析進行實現(xiàn)。

圖3 疊加分析實現(xiàn)類結(jié)構(gòu)圖

3.2 關(guān)鍵步驟說明
本類中的關(guān)鍵算法在于求交分析的實現(xiàn),實現(xiàn)過程按照圖2的拓撲求交流程進行,步驟如下:
(1)獲得地圖視圖中參與求交分析的圖層,使用IMAP、IFeatureLayer接口;
(2)構(gòu)建求交后數(shù)據(jù)輸出數(shù)據(jù)源及要素類名稱,使用IWorkspaceName、IFeatureClassName等相關(guān)接口;
(3)構(gòu)建求交分析對象,對參與求交的數(shù)據(jù)進行求交,使用IBasicGeoprocessor接口中的Intersect方法;
(4)對求交結(jié)果進行屬性拷貝,遍歷目標要素類(此為一關(guān)系要素類,將求交各圖層的存在相交關(guān)系的要素關(guān)聯(lián)起來)的所有要素,獲取關(guān)系要素的原始要素,將需要被更新的原始要素的屬性從用于更新的要素的屬性中拷貝過來,使用IFeatureClass、IFeature接口。
我院在一項目中獲得兩份數(shù)據(jù),分別為1999年及2005年線狀地形要素圖,均為同一區(qū)域的.mdb格式數(shù)據(jù)。1999年的線狀要素有屬性信息,但現(xiàn)勢性不足,2005年線狀要素圖現(xiàn)勢性強,但無屬性信息,經(jīng)過比較發(fā)現(xiàn),2005年線狀要素在1999年基礎(chǔ)上有減少,同一要素精度上有 5 cm~10 cm誤差。項目要求使用2005年線狀要素圖,但要將兩幅圖中對比未變化的要素賦上1999年線狀要素的屬性信息。
通過對1999年線狀要素圖層和2005年線狀要素圖層進行疊加求交分析,得到求交后的結(jié)果。如前面所述,求交的結(jié)果中包含了兩個圖層數(shù)據(jù)間的關(guān)聯(lián)關(guān)系。利用這些關(guān)聯(lián)關(guān)系,首先從2005年線狀地物要素類中取出要素,然后從求交結(jié)果數(shù)據(jù)中查看其是否存在,如果存在,則通過該關(guān)系找到1999年線狀地物數(shù)據(jù)中與之對應(yīng)的要素,將1999年線狀要素的屬性賦給2005年對應(yīng)的要素,從而得到我們所需要的成果數(shù)據(jù),如圖5所示。ArcGIS的桌面版軟件ArcMap的求交工具也可實現(xiàn)求交運算,但其結(jié)果是空間數(shù)據(jù)和屬性數(shù)據(jù)的交集,而且改變了數(shù)據(jù)本身,不能一步達到所需要的結(jié)果。我們充分利用ArcGIS Engine提供的相關(guān)組件,實現(xiàn)疊加求交分析功能,并對求交結(jié)果進行后續(xù)處理,以滿足實際作業(yè)的需要,在日常工程中有更多實際意義。

圖5 疊加分析實例
[1]龔健雅.地理信息系統(tǒng)基礎(chǔ)[M].北京:科學(xué)出版社,2001
[2]李魯群等.GIS中空間數(shù)據(jù)疊置分析的優(yōu)化算法設(shè)計[J].山東科技大學(xué)學(xué)報(自然科學(xué)版),2002,21(2)
[3]黨安榮等.ArcGIS 8 Desktop地理信息系統(tǒng)應(yīng)用指南.北京:清華大學(xué)出版社,2003
Research and Application of Vector Data Overlay Analysis Based on ArcGIS Engine
Huang XueLian,Yang ChuanYong,Liang JingZu
(Foshan Urban Planning Surveying Design and Research Institute,F(xiàn)oshan 528000,China)
Based on the analysis of the principle of Vector Data Overlay Analysis,this paper described the method of realizing the function of vector data overlay analysis by using ArcGIS Engine to develop and compile plug-in tools under the platform of ArcGIS.And combining with the actual case,the author also showed the flexibility and practicality of realizing the function of overlay analysis by using ArcGIS Engine.
Overlay Analysis;ArcGIS Engine;spatial analysis;GIS
1672-8262(2010)03-38-03
P208
A
2009—07—15
黃雪蓮(1981—),女,工程師,主要從事地圖制圖與地理信息系統(tǒng)建設(shè)等工作。