李學(xué)淵,李成尊,趙 博
基于ArcGIS Engine的數(shù)據(jù)文件到Shapefile轉(zhuǎn)換方法及其實(shí)現(xiàn)
李學(xué)淵1,李成尊2,趙 博1
(1.中國地質(zhì)大學(xué)(北京),北京 100083;2.中國國土資源航空物探遙感中心,北京 100083)
地理數(shù)據(jù)的多源性導(dǎo)致存儲(chǔ)格式的多樣性,使其難以在同一GIS平臺(tái)下實(shí)現(xiàn)互操作與空間分析,這有礙于信息的共享。為此,以ArcGIS為基礎(chǔ)平臺(tái),采用ArcGIS Engine組件進(jìn)行集成二次開發(fā),通過對(duì)數(shù)據(jù)文件進(jìn)行訪問和空間參考的定義、空間與屬性信息的轉(zhuǎn)換來實(shí)現(xiàn)Excel型數(shù)據(jù)文件至Shapefile型矢量文件的轉(zhuǎn)換,以初步實(shí)現(xiàn)地理信息間的共享與操作,進(jìn)而給出了直觀的、可視化的數(shù)據(jù)管理與表達(dá)。用此方法實(shí)現(xiàn)了山西省寧武縣煤炭資源的采礦權(quán)文件之轉(zhuǎn)換,即Access→Excel→Shapefile文件。結(jié)果表明,其不僅體現(xiàn)出了針對(duì)初始文件的降維性、無損性以及可視性的轉(zhuǎn)換表達(dá),還可將記錄信息重組(分解)為空間信息與屬性信息,對(duì)于前者,礦權(quán)圖層可與遙感影像疊合成圖;后者(礦種、開采方式等)可與前者實(shí)現(xiàn)無縫鏈接,并可據(jù)以獲取相應(yīng)的開發(fā)利用現(xiàn)狀信息,以便開展資源遙感監(jiān)測(cè)。
ArcEngine;Shapefile;數(shù)據(jù)文件;數(shù)據(jù)轉(zhuǎn)換;空間信息;屬性信息
隨著地理信息資源內(nèi)容與種類的日益增多,地理數(shù)據(jù)呈現(xiàn)出“多源異構(gòu)”的特點(diǎn),從而導(dǎo)致常用的地理信息系統(tǒng)(GIS)軟件無法讀取有效信息的問題。例如,地理數(shù)據(jù)除紙質(zhì)材料外,大部分是以數(shù)據(jù)文件(如.xls、.txt、.dbf、.mdb 等)與矢量文件形式儲(chǔ)存,而前者并不能為GIS軟件透明地獲取所需信息。這樣就有必要對(duì)具有多源性、不同格式的地理數(shù)據(jù)進(jìn)行集成化,使之兼容于不同的GIS平臺(tái),以實(shí)現(xiàn)數(shù)據(jù)共享與互操作;再者,在異構(gòu)分布數(shù)據(jù)庫中獲取所需信息,為用戶提供決策性服務(wù)等亦顯得尤為重要。
通常,相關(guān)研究僅涉及在不同的GIS平臺(tái)下相應(yīng)矢量文件間的轉(zhuǎn)換與操作[1-5],但是,有關(guān)非矢量數(shù)據(jù)(如 Excel型數(shù)據(jù)文件)與矢量數(shù)據(jù)(如Shapefile)間的互相轉(zhuǎn)換則鮮有述及。雖然,國內(nèi)外主流GIS軟件普遍具有強(qiáng)大的空間分析、查詢及顯示功能,但并不兼容以數(shù)據(jù)文件格式存儲(chǔ)的地理信息,亦尚未配置相應(yīng)的數(shù)據(jù)轉(zhuǎn)換功能。目前,實(shí)現(xiàn)多源數(shù)據(jù)共享的方式大致有數(shù)據(jù)格式轉(zhuǎn)換模式、數(shù)據(jù)互操作模式、直接數(shù)據(jù)訪問模式和開放式數(shù)據(jù)庫互接模式[6]等4種。為此,本文借助程序設(shè)計(jì),開發(fā)出了Excel型數(shù)據(jù)文件到Shapefile文件的轉(zhuǎn)換工具,以避免數(shù)字矢量化過程以及多次中間轉(zhuǎn)換過程,具有一定的實(shí)用性。
ArcGIS主要有 Shapefile、Coverage和 Geodatabase 3種數(shù)據(jù)存儲(chǔ)格式。其中Shapefile是一種基于文件方式存儲(chǔ)GIS矢量數(shù)據(jù)的文件格式,用于描述無拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)的空間與屬性特征,該文件格式至少包括坐標(biāo)文件(.shp)、索引文件(.shx)和屬性文件(.dbf)。
坐標(biāo)文件由文件頭和實(shí)體信息組成,實(shí)體信息包括記錄頭與記錄內(nèi)容(如表1所示)。實(shí)體信息以記錄段為基本單位,每條記錄段中可用一組或一系列坐標(biāo)來描述點(diǎn)、線或面等實(shí)體的幾何特征[7]。

表1 坐標(biāo)文件組織結(jié)構(gòu)Tab.1 Organization of the coordinate file
索引文件由文件頭與定長記錄組成,每條記錄包括了坐標(biāo)文件中對(duì)應(yīng)記錄的偏移量,并與坐標(biāo)文件形成邏輯對(duì)應(yīng)關(guān)系,通過索引文件可以直接定位幾何實(shí)體的坐標(biāo)信息。
屬性文件為DBF文件,由頭文件與實(shí)體信息組成。屬性文件通過與坐標(biāo)文件對(duì)應(yīng)的記錄索引順序來儲(chǔ)存相關(guān)的屬性名稱及相應(yīng)的屬性信息。
數(shù)據(jù)文件主要是指文檔文件(如.xls、.txt、.doc等)與數(shù)據(jù)庫文件(如.dbf、.mdb 等)。通常,用于描述地理數(shù)據(jù)的Excel型數(shù)據(jù)文件(.xls)的結(jié)構(gòu)如表2所示。

表2 數(shù)據(jù)文件(.xls)結(jié)構(gòu)Tab.2 Organization of the data file(.xls)
數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì)方案如下:
(1)通過鏈接和嵌入數(shù)據(jù)庫接口,以訪問Excel文件,并對(duì)其記錄進(jìn)行必要解析;
(2)根據(jù)需求,調(diào)用ArcGIS Engine類庫中的相應(yīng)接口,以獲取文件中的空間(坐標(biāo))與屬性數(shù)據(jù),隨之定義相應(yīng)的空間參考系;
(3)進(jìn)行空間與屬性信息的轉(zhuǎn)換,生成相應(yīng)的Shapefile文件要素類(圖1)。

圖1 數(shù)據(jù)轉(zhuǎn)換流程Fig.1 Process of data conversion
對(duì)數(shù)據(jù)的訪問貫穿于整個(gè)轉(zhuǎn)換過程。這里,將存儲(chǔ)于Excel文件中的記錄作為源數(shù)據(jù),通過訪問函數(shù)來讀取相應(yīng)的坐標(biāo)值(如經(jīng)緯度)、屬性名稱及相應(yīng)的屬性信息,之后寫入用于存儲(chǔ)點(diǎn)結(jié)構(gòu)類型的數(shù)組中,同時(shí)計(jì)算記錄個(gè)數(shù)。
空間參考是GIS數(shù)據(jù)的骨骼框架及數(shù)字模擬的基礎(chǔ),其包含地理數(shù)據(jù)的坐標(biāo)系統(tǒng)及坐標(biāo)精度,它通過定義數(shù)據(jù)集的地理坐標(biāo)系統(tǒng)或投影坐標(biāo)系統(tǒng)來對(duì)地理要素進(jìn)行精準(zhǔn)定位[8]。因此,沒有任何空間參考的地理數(shù)據(jù)在轉(zhuǎn)換過程中是毫無意義的。
ArcGIS Engine提供了一系列用于管理地理數(shù)據(jù)坐標(biāo)系統(tǒng)的便捷工具,它既能調(diào)用不同的組件,以創(chuàng)建地理要素的空間參考系,亦可將WGS 84坐標(biāo)系與北京54坐標(biāo)系或西安80坐標(biāo)系進(jìn)行相互轉(zhuǎn)換。這樣,具有時(shí)序性、多維性、區(qū)域性特征的要素或要素?cái)?shù)據(jù)集中的隱含信息即可顯式表達(dá),并可形成空間連續(xù)分布的綜合信息,進(jìn)而支持空間分析與決策處理。
空間信息是指地理要素的空間分布特征,即地理實(shí)體的位置、形狀、大小、空間關(guān)系及區(qū)域結(jié)構(gòu)等,轉(zhuǎn)換過程主要涉及點(diǎn)、線和面等幾何類型實(shí)體的坐標(biāo)信息(如經(jīng)緯度坐標(biāo)、北京54坐標(biāo)系或西安80坐標(biāo)系等),其對(duì)應(yīng)的ESRI字段類型分別為esriGeometryPoint、esriGeometryPolyline 和 esriGeometryPolygon,以及據(jù)以定義的地理實(shí)體空間特征。這里,點(diǎn)(point)可用一組X、Y坐標(biāo)來描述;線(polyline)由起始點(diǎn)和終結(jié)點(diǎn)構(gòu)成;而面(polygon)則由組成多邊形的點(diǎn)數(shù)和點(diǎn)組成[9]。因此,任何幾何對(duì)象的創(chuàng)建都必須以點(diǎn)實(shí)體的產(chǎn)生為前提,本文旨在通過ArcGIS Engine提供的相關(guān)接口來讀取點(diǎn)結(jié)構(gòu)類型數(shù)組中的坐標(biāo)信息,并寫入 Shapefile坐標(biāo)文件中,在用于存放要素?cái)?shù)據(jù)集的工作空間中創(chuàng)建相應(yīng)的Shapefile文件(圖2)。

圖2 空間信息轉(zhuǎn)換Fig.2 Conversion of the spatial information
屬性信息是指除空間信息之外描述地理要素的屬性特征數(shù)據(jù),相應(yīng)轉(zhuǎn)換應(yīng)以屬性特征字段的創(chuàng)建為前提,并存儲(chǔ)于Shapefile屬性文件中。屬性信息與空間信息的轉(zhuǎn)換同步完成,共存于整個(gè)轉(zhuǎn)換過程中。數(shù)據(jù)文件中的屬性信息在Excel文件中是以記錄方式進(jìn)行存儲(chǔ),可通過特定的標(biāo)識(shí)符與地理要素的空間信息建立關(guān)聯(lián)。一般而言,同種要素?cái)?shù)據(jù)集具有相同的屬性字段,而屬性信息則各具差異,故為了使創(chuàng)建的字段具有普適性,建議依據(jù)字段創(chuàng)建函數(shù),以便遍歷整個(gè)文件中的屬性字段名。那么,通過Arc-GIS Engine提供的不同類型的接口和對(duì)象,即可讀取文件中的字段名,并可對(duì)其Name屬性與Type屬性進(jìn)行修改,然后再逐一讀取數(shù)據(jù)文件中的屬性信息,并向已創(chuàng)建字段中添加相應(yīng)信息(圖3)。

圖3 屬性信息轉(zhuǎn)換Fig.3 Conversion of the attribute information
至此,通過對(duì)數(shù)據(jù)文件的訪問、空間參考的定義以及空間與屬性信息的轉(zhuǎn)換,就將Excel型數(shù)據(jù)文件成功轉(zhuǎn)換為Shapefile矢量文件,收到了預(yù)期效果。
采礦權(quán)是指民事主體依法在取得采礦許可證規(guī)定范圍內(nèi),開采礦產(chǎn)資源和獲得所開采礦產(chǎn)品的權(quán)利?,F(xiàn)以采礦權(quán)資料為例,探討上述方法在礦產(chǎn)資源調(diào)查中的應(yīng)用。
實(shí)驗(yàn)區(qū)位于山西省北部寧武縣境內(nèi)(地理坐標(biāo)112°20'17″~ 112°26'45″E,38°59'35″~ 39°05'25″N),面積約為100 km2,區(qū)內(nèi)煤炭(亦賦存少量鋁土礦)資源豐富,儲(chǔ)量可觀、煤質(zhì)優(yōu)良、埋藏較淺,主要以地下開采方式為主。
本區(qū)煤炭資源開采規(guī)模較大、開采程度較高,是山西省地質(zhì)災(zāi)害和礦山環(huán)境地質(zhì)問題最為嚴(yán)重的地區(qū)之一。對(duì)此,有必要利用先進(jìn)的“3S”技術(shù)來進(jìn)行礦產(chǎn)資源開發(fā)利用狀況和礦山環(huán)境的遙感監(jiān)測(cè),以便為維護(hù)礦業(yè)秩序和進(jìn)行礦區(qū)環(huán)境綜合整治提供依據(jù)。
上述信息如果全部以Access數(shù)據(jù)庫的格式存儲(chǔ),則顯然無法實(shí)現(xiàn)在ArcGIS平臺(tái)下的信息直接共享,故而需先將其轉(zhuǎn)換為Excel文件,文件中包含采礦點(diǎn)的區(qū)域坐標(biāo)、采礦權(quán)許可證號(hào)、礦山名稱、開采主礦種代號(hào)、開采方式、采礦權(quán)有效期限、有效期起止時(shí)間等多項(xiàng)內(nèi)容。
在Excel文件中儲(chǔ)存的信息,具有結(jié)構(gòu)直觀、易于操作、讀寫便捷等優(yōu)點(diǎn)。然而,這種將空間信息(如區(qū)域坐標(biāo))與屬性信息(如礦山名稱)并行表達(dá)的信息存儲(chǔ)與管理形式,在總體上,必然有損其可讀性及可操作性。
另外,一系列不同的記錄可組織起Excel文件的“多維”觀測(cè)實(shí)體,這顯然不利于對(duì)信息的各種直接提取、分析與操作。不管是客觀上,還是主觀上都要求一種能夠體現(xiàn)出降維性、無損性、替代性的可視化表達(dá)。因此,將其兼容于ArcGIS提供的空間操作平臺(tái)中是極其必要的。
如圖4所示,除在界面上直觀顯示的平面圖層(二維)以外,每個(gè)圖斑亦有相應(yīng)的屬性信息(一維)與之對(duì)應(yīng)。這樣,即將Excel文件中的“多維(記錄信息)”觀測(cè)對(duì)象轉(zhuǎn)換為空間上的“三維(空間-屬性信息)”表達(dá),顯然具有較強(qiáng)的實(shí)用價(jià)值。

圖4 采礦權(quán)Shapefile及其屬性Fig.4 Shapefile of exploitation right and its attribute
在ArcGIS平臺(tái)下的采礦權(quán)Shapefile文件與Excel型的采礦權(quán)資料格式不同,在Shapefile文件中存儲(chǔ)的礦權(quán)信息實(shí)質(zhì)上是針對(duì)Excel文件中各條記錄進(jìn)行空間上的有序重組,從而使得幾何實(shí)體(空間信息)-記錄(屬性信息)間的無縫(無損耗與冗余)鏈接得以實(shí)現(xiàn)。另外,以最新時(shí)相的IKONOS遙感影像為底圖,疊置上述采礦權(quán)Shapefile文件(如圖5所示)。這樣,實(shí)驗(yàn)區(qū)內(nèi)有關(guān)礦產(chǎn)資源的分布狀況便一目了然。

圖5 采礦權(quán)與影像疊加顯示Fig.5 Superposition display of the exploitation right and remote sensing image
依據(jù)采礦權(quán)Shapefile文件的屬性信息(如開采礦種、開采方式等),采用人機(jī)交互方法提取實(shí)驗(yàn)區(qū)內(nèi)礦業(yè)活動(dòng)圖斑或礦業(yè)活動(dòng)點(diǎn)的信息,即可得到礦山開采狀況與開發(fā)占地信息,提取結(jié)果如表3所示。

表3 礦山開采狀況信息提取Tab.3 Information extraction of the exploitation present
受制于數(shù)據(jù)格式的差異,致使某些描述地理信息的數(shù)據(jù)文件無法在ArcGIS平臺(tái)下實(shí)現(xiàn)兼容操作。本文在理論與轉(zhuǎn)換技術(shù)層面進(jìn)行了初步探討,旨在建立數(shù)據(jù)文件(Excel型)與矢量結(jié)構(gòu)文件(Shapefile型)在信息上的重組(記錄文件→屬性信息+空間信息)以及相關(guān)的空間分析,具有一定的實(shí)用價(jià)值。在ArcGIS平臺(tái)下,基于AE組件集,利用C#語言,通過實(shí)現(xiàn)Excel到Shapefile文件的數(shù)據(jù)訪問、空間參考定義、空間信息與屬性信息轉(zhuǎn)換,實(shí)現(xiàn)了多源異構(gòu)地理數(shù)據(jù)的共享。
采用本文方法,即可將Access(Excel)型采礦權(quán)登記資料轉(zhuǎn)換為Shapefile型采礦權(quán)文件,其可為礦產(chǎn)資源調(diào)查提供基礎(chǔ)地理數(shù)據(jù),以便適時(shí)獲取客觀數(shù)據(jù),并形成綜合分析與評(píng)價(jià)報(bào)告。其中包括實(shí)現(xiàn)了采礦權(quán)文件與遙感影像之疊合成圖,及其與屬性信息(礦種、開采方式等)間的無縫鏈接,獲得了預(yù)期的實(shí)驗(yàn)效果。
存在的問題主要為:一方面,在轉(zhuǎn)換模型與系統(tǒng)功能上還需進(jìn)一步完善,如擴(kuò)充對(duì)圖形的編輯和制圖功能,添加地圖符號(hào)、線型選擇、圖斑填充和字體庫等;另一方面,隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,有必要開發(fā)出基于WebGIS的多來源、多格式數(shù)據(jù)轉(zhuǎn)換系統(tǒng),以便可通過對(duì)象管理、中件與插件等技術(shù)與非GIS系統(tǒng)集成,為實(shí)現(xiàn)海量數(shù)據(jù)的共享和系統(tǒng)服務(wù)面的擴(kuò)大提供優(yōu)越的方法與途徑。
[1] 任東風(fēng),徐立軍,才 藝.CAD到ArcGIS數(shù)據(jù)轉(zhuǎn)換問題[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,29(增刊1):25-27.
[2] 彭晶晶.MapGIS數(shù)據(jù)向ArcGIS轉(zhuǎn)換研究[D].北京:中國地質(zhì)科學(xué)研究院,2008.
[3] 黃 云.MapGIS向ArcGIS數(shù)據(jù)格式轉(zhuǎn)換方法探討[J].地礦測(cè)繪,2010,26(1):33 -35.
[4] 劉祥磊,馬 靜.基于ArcEngine的ArcGIS矢量數(shù)據(jù)到KML文件轉(zhuǎn)換方法研究[J].國土資源遙感,2007(3):98-101.
[5] 孔 毅,張志強(qiáng),趙崇亮.基于 ArcGIS的CAD數(shù)據(jù)入庫研究[J].測(cè)繪通報(bào),2010(5):54 -56.
[6] 詹發(fā)新,付海波,茍浩遠(yuǎn).GIS地理空間數(shù)據(jù)共享的探討[J].北京測(cè)繪,2005(5):11-14.
[7] ESRI.ESRI Shapefile Technical Description[M].RedLand CA,United States of America:Environmental Systems Research Institute,1998:2-5.
[8] 杜清運(yùn).空間信息的結(jié)構(gòu)、表達(dá)及其理解機(jī)制[J].武漢測(cè)繪科技大學(xué)學(xué)報(bào),1998,23(4):388 -393.
[9] 宋艷敏,陳東銀.基于ArcEngine與OGR庫的Shapefile文件到KML格式轉(zhuǎn)換方法研究[J].國土資源遙感,2009(2):110-113.
The Method for Transformation from the Data File Based on ArcGIS Engine to the Shapefile
LI Xue-yuan1,LI Cheng-zun2,ZHAO Bo1
(1.China University of Geosciences(Beijing),Beijing 100083,China;2.China Aero Geophysical Survey and Remote Sensing Center for Land and Resources,Beijing 100083,China)
The multisource geographical data may correspond to the diversity of storage formats and,as a result,the storage formats fail to carry out relevant interoperation and spatial analysis,which hinders the information sharing.The authors have hence developed a model for transformation from the Excel data file to Shapefile vector files by virtue of a secondary development based on the ArcGIS Engine modules,which include file access,defining the spatial reference,transformation of spatial and attribute information.As a more visualized expression,this data management method has preliminarily filled the gap between various geographical data and provided the sharing or operating.At the same time,the exploitation right file transformation from Access to Excel and then to Shapefile formats has realized,which is also a transformed expression with the nature of non - destruction,dimensional reduction and visuality in comparison with that of the original files.The essence of this method lies in resolving the information as the record format into the spatial and attribute format.The former format means the superposition of exploitation layer and corresponding remote sensing image,and seamless connection exists between the latter(like mineral species,mining pattern etc.)and the former.On such a basis,the exploitation information of the present situation can be obtained,and the remote sensing monitoring of mineral resources can be carried out.
ArcEngine;Shapefile;Data file;Data conversion;Spatial information;Attribute information
P 208
A
1001-070X(2011)03-0156-05
2010-12-13;
2011-02-04
李學(xué)淵(1984-),男,在讀碩士研究生,主要從事遙感與地理信息系統(tǒng)方面的研究。
(責(zé)任編輯:丁 群)