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

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

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

圖3 疊加分析實現類結構圖

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

圖5 疊加分析實例
[1]龔健雅.地理信息系統基礎[M].北京:科學出版社,2001
[2]李魯群等.GIS中空間數據疊置分析的優化算法設計[J].山東科技大學學報(自然科學版),2002,21(2)
[3]黨安榮等.ArcGIS 8 Desktop地理信息系統應用指南.北京:清華大學出版社,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,Foshan 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—),女,工程師,主要從事地圖制圖與地理信息系統建設等工作。