摘 要:多源數(shù)據(jù)格式之間的無(wú)損轉(zhuǎn)換是目前不同GIS系統(tǒng)間數(shù)據(jù)共享的一個(gè)關(guān)鍵問(wèn)題。隨著南方CASS和MAPGIS系統(tǒng)在“數(shù)字國(guó)土”工程中的應(yīng)用越來(lái)越廣泛,它們間的數(shù)據(jù)共享也變得越來(lái)越重要。然而,由于平臺(tái)的不同,如果直接采用軟件提供的功能進(jìn)行數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)的丟失和失真將非常普遍。因此研究南方CASS到MAPGIS的無(wú)損數(shù)據(jù)轉(zhuǎn)換具有重要意義,本文在對(duì)比分析這兩種軟件平臺(tái)的數(shù)據(jù)結(jié)構(gòu)和組織基礎(chǔ)上,設(shè)計(jì)相應(yīng)的轉(zhuǎn)換規(guī)則和算法,通過(guò)編程實(shí)現(xiàn)了南方CASS到MAPGIS的數(shù)據(jù)轉(zhuǎn)換,試驗(yàn)結(jié)果表明本文方法是可行和有效的。
關(guān)鍵詞:南方CASS;MAPGIS;數(shù)據(jù)轉(zhuǎn)換
中圖分類(lèi)號(hào):TP311.13
Discussion of DataConversion from South CASS to MAPGIS
LiuYing
(Engineer Assistant/ Undergraduate/ First Surveying and Mapping Institute ofHunan Province, Hengyang 421001
E-MAIL: ly163.china @163.com)
Abstract: It is key issue that the losslessconversion among multi-source data format in data sharing among the differentGIS systems. As the increasingly wide application of South CASS and MAPGISsystem in the "Digital Land" project, the data sharing between them hasalso become more and more important. However, due to the different platforms,data loss and distortion will be very common if convert data through directlyuse of the functions offered by software. That is why it is significant to studynon-destructive data transformation from South CASS to MAPGIS. This paper isbased on comparative analysis of data structures and organizations of these twosoftware platforms, designs rules and the conversion algorithm, in order to reachthe data conversion between South CASS to MAPGIS, and the test results showthat the method is feasible and effective.
Keywords: South CASS;MAPGIS; data conversion
1 引言
南方CASS是南方公司在AutoCAD平臺(tái)上開(kāi)發(fā)的GIS前端數(shù)據(jù)采集系統(tǒng)。主要應(yīng)用于地形成圖、地籍成圖、工程測(cè)量三大領(lǐng)域。目前,南方CASS以其強(qiáng)大的數(shù)據(jù)采集編輯功能和易于學(xué)習(xí)操作等優(yōu)勢(shì)在工程測(cè)繪領(lǐng)域獲得了廣泛的應(yīng)用。
MAPGIS是武漢中地公司研制的大型基礎(chǔ)地理信息系統(tǒng)平臺(tái)。它是一個(gè)集數(shù)字制圖、數(shù)據(jù)庫(kù)管理及空間分析為一體的軟件系統(tǒng),是進(jìn)行現(xiàn)代化管理和決策的先進(jìn)工具。MAPGIS憑借先進(jìn)的空間數(shù)據(jù)管理技術(shù)和強(qiáng)大的地圖制圖功能,已成為國(guó)內(nèi)主流的GIS軟件之一。
在GIS基礎(chǔ)測(cè)繪和地理信息建庫(kù)過(guò)程中,南方CASS和MAPGIS這兩種軟件的數(shù)據(jù)是很常見(jiàn)的。MAPGIS的數(shù)據(jù)分析方法具有專(zhuān)業(yè)化特征,現(xiàn)存的南方CASS并不完全適合于完成GIS任務(wù),同時(shí),它們之間數(shù)據(jù)結(jié)構(gòu)的不一致性,導(dǎo)致MAPGIS無(wú)法直接操作CASS數(shù)據(jù)。因此如何實(shí)現(xiàn)數(shù)據(jù)從CASS到MAPGIS的無(wú)損轉(zhuǎn)換,成為目前GIS基礎(chǔ)地理信息數(shù)據(jù)庫(kù)建設(shè)領(lǐng)域中一個(gè)迫切需要解決的問(wèn)題。
2 南方CASS與MAPGIS的數(shù)據(jù)分析
2.1 圖形與屬性
CASS與MAPGIS系統(tǒng)的共同特點(diǎn)是:它們都有地理坐標(biāo)系,都能把目標(biāo)和參考系統(tǒng)聯(lián)系起來(lái),都能描述圖形數(shù)據(jù)的拓?fù)潢P(guān)系,也都能處理非圖形(屬性)數(shù)據(jù)。它們的主要區(qū)別在于:CASS處理的對(duì)象多為規(guī)則幾何圖形及其組合,它的圖形處理能力極強(qiáng),但屬性功能相對(duì)較弱。CASS圖形中的每一個(gè)實(shí)體都有唯一的實(shí)體編碼,用來(lái)表示地物類(lèi)別;而MAPGIS處理的多為自然目標(biāo),有分維特征(海岸線、地形等高線等),因而圖形處理的難度大,MAPGIS的屬性庫(kù)內(nèi)容結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,圖形和屬性的相互操作十分頻繁。在坐標(biāo)系方面,CASS系統(tǒng)一般只采用高斯投影直角坐標(biāo),而MAPGSI可以根據(jù)需要采用不同的坐標(biāo)?傊,MAPGIS在地理信息建庫(kù)方面,比南方CASS具有更好的專(zhuān)業(yè)化特征,能表達(dá)的信息也更豐富,因此數(shù)據(jù)從南方CASS到MAPGIS的無(wú)損轉(zhuǎn)換是可行的。
2.2 圖層、塊與區(qū)域
南方CASS中的圖層(layer)對(duì)應(yīng)于地形中的一個(gè)專(zhuān)題(如鐵路、河流、線界、電力線等),可以看成相同類(lèi)型地物的聚集,其包括了地物的空間數(shù)據(jù)和屬性數(shù)據(jù),如:居民地層中可以存放房屋的空間數(shù)據(jù)(線、面),也可以存放房屋的各種屬性(文本注記);而MAPGIS的圖層只能是點(diǎn)、線、面、文本之中的一種,或是復(fù)合類(lèi)型。所以在轉(zhuǎn)換過(guò)程中,可能會(huì)出現(xiàn)CASS中的多個(gè)圖層數(shù)據(jù)對(duì)應(yīng)于MAPGIS中一個(gè)圖層數(shù)據(jù)的問(wèn)題,這可以通過(guò)數(shù)據(jù)疊加實(shí)現(xiàn)。多數(shù)情況下,南方CASS是用“塊”(block)來(lái)表示點(diǎn)狀地物,而MAPGIS通過(guò)專(zhuān)門(mén)的點(diǎn)狀符號(hào)庫(kù)來(lái)表達(dá),所以在數(shù)據(jù)轉(zhuǎn)換時(shí),要注意南方CASS塊與MAPGIS點(diǎn)狀符號(hào)間的對(duì)應(yīng)。
2.3 線型和顏色
幾何特征為線的專(zhuān)題對(duì)象需采用不同的線型來(lái)表達(dá),如大車(chē)路、機(jī)耕路、小路表示的線型就會(huì)不同。在南方CASS中,由于不同類(lèi)型的專(zhuān)題對(duì)象放在不同的圖層,對(duì)象的線型可以隨層,也可單獨(dú)設(shè)定,而MAPGIS則提供了專(zhuān)門(mén)的線型庫(kù)來(lái)表達(dá)對(duì)象的線型信息。在數(shù)據(jù)轉(zhuǎn)換時(shí),如果某類(lèi)對(duì)象的線型都采用了隨層方式,則只要將層的線型與MAPGIS的線型庫(kù)對(duì)應(yīng)即可,由于這種情況只需讀取一次層的線型信息,因此可以提高轉(zhuǎn)換效率。然而,當(dāng)對(duì)象的線型采用單獨(dú)設(shè)定的方式時(shí),必須逐一讀取對(duì)象的線型信息后才能轉(zhuǎn)換。此外,在CASS和MAPGIS的顏色系統(tǒng)存在一定的差異:對(duì)于同一種顏色,兩者的顏色碼不一樣,所以在轉(zhuǎn)換過(guò)程中,還要處理好顏色的對(duì)應(yīng)關(guān)系。
2.4 文件格式
南方CASS軟件是基于AutoCAD平臺(tái)開(kāi)發(fā)的GIS軟件,所以它支持AutoCAD的所有格式,常用的有*.DWG,*.DXF,*.CAS,其中*. CAS是南方CASS的標(biāo)準(zhǔn)交換格式,它用文本信息描述了文件中的空間和屬性數(shù)據(jù)。
MAPGIS的數(shù)據(jù)文件類(lèi)型很多,例如: WT(點(diǎn)文件)、WL(線文件)、WP(區(qū)文件)、MPJ(工程文件)和RBM(內(nèi)部柵格數(shù)據(jù)文件)等三十多種。WT主要是指各種文字注記、子圖等圖形要素;WL主要是指各種線型圖形要素;WP主要是指經(jīng)拓?fù)渲亟?gòu)成各種面域圖形要素。這三種格式是MAPGIS最常用的矢量圖形格式。在數(shù)據(jù)轉(zhuǎn)換前,應(yīng)根據(jù)轉(zhuǎn)換規(guī)則先建立MAPGIS的模板文件,并在模板文件中定義地物的符號(hào)、屬性結(jié)構(gòu)等。
3 南方CASS向MAPGIS的數(shù)據(jù)轉(zhuǎn)換流程
MAPGIS軟件提供了AutoCAD的DXF格式到它的圖形格式(*.WT、*.WL)的轉(zhuǎn)換接口。采用該轉(zhuǎn)換接口可以解決一些簡(jiǎn)單圖形的轉(zhuǎn)換要求,在圖形的完整性和精度上,轉(zhuǎn)換的結(jié)果還是能達(dá)到一般的應(yīng)用需求的。但隨著圖形數(shù)據(jù)量和復(fù)雜度的增加,采用MAPGIS提供的轉(zhuǎn)換功能便出現(xiàn)了明顯的問(wèn)題:轉(zhuǎn)換過(guò)程往往需要花費(fèi)很長(zhǎng)時(shí)間,甚至發(fā)生死機(jī)現(xiàn)象;此外,還會(huì)發(fā)生坐標(biāo)不一致,數(shù)據(jù)膨脹等問(wèn)題;最主要的是轉(zhuǎn)換后的屬性信息基本上都丟失了,這樣的數(shù)據(jù)無(wú)法滿足建設(shè)基礎(chǔ)地理信息數(shù)據(jù)庫(kù)的需要;诖,本文為解決MAPGIS提供的轉(zhuǎn)換功能存在的若干缺陷問(wèn)題,設(shè)計(jì)了南方CASS到MAPGIS的轉(zhuǎn)換算法,并在CASS環(huán)境下采用VBA編程實(shí)現(xiàn)了該轉(zhuǎn)換算法。整個(gè)轉(zhuǎn)換流程可分為三個(gè)步驟:轉(zhuǎn)換前預(yù)處理、讀入CASS數(shù)據(jù)、輸出MAPGIS格式數(shù)據(jù)。
1)轉(zhuǎn)換前預(yù)處理:根據(jù)轉(zhuǎn)換規(guī)則,在EXCEL文檔中建立轉(zhuǎn)換前后CASS與MAPGIS的數(shù)據(jù)項(xiàng)對(duì)應(yīng)關(guān)系表,主要內(nèi)容包括:層、線型、顏色、塊(符號(hào))的對(duì)應(yīng)關(guān)系,程序啟動(dòng)時(shí)首先讀入該EXCEL文檔,并在內(nèi)存區(qū)建立相應(yīng)的映射關(guān)系。同時(shí),為了在MAPGIS中保存從南方CASS轉(zhuǎn)換過(guò)來(lái)的屬性數(shù)據(jù),需要定義轉(zhuǎn)換后的MAPGIS模板文件屬性結(jié)構(gòu)。例如,在CLKZD.WT模板文件中為控制點(diǎn)對(duì)象定義的屬性一般有:ID、目標(biāo)標(biāo)識(shí)碼、要素代碼、控制點(diǎn)代碼、控制點(diǎn)名稱等。
2) 讀入CASS實(shí)體數(shù)據(jù)。首先需要定義一個(gè)選擇集(AcadSelectionSet)并選擇所有的實(shí)體對(duì)象;然后遍歷該選擇集,逐一讀取每個(gè)對(duì)象的相關(guān)數(shù)據(jù)。為使轉(zhuǎn)換程序具有更好的穩(wěn)健性,不宜直接從底層讀取CASS文件,應(yīng)采用CAD系統(tǒng)提供的API(Application Program Interface)函數(shù),因?yàn)檫@些函數(shù)一般都經(jīng)過(guò)了開(kāi)發(fā)商的嚴(yán)格測(cè)試。在幾何數(shù)據(jù)讀取方面,由于不同類(lèi)型對(duì)象調(diào)用的API函數(shù)不同,如點(diǎn)、線類(lèi)型對(duì)象的幾何數(shù)據(jù)調(diào)用Corodinates函數(shù)讀取,而塊類(lèi)型對(duì)象的幾何數(shù)據(jù)需要調(diào)用InsertionPoint函數(shù)讀取。因此,在讀取對(duì)象的幾何數(shù)據(jù)前,應(yīng)先采用SelectCase控制語(yǔ)句對(duì)其類(lèi)型進(jìn)行判斷。在屬性數(shù)據(jù)讀取方面,由于CASS中實(shí)體的屬性主要來(lái)源于兩方面:CAD系統(tǒng)定義的屬性和CASS的擴(kuò)展屬性,因此讀取屬性數(shù)據(jù)有兩種方式:利用CAD系統(tǒng)提供的對(duì)象屬性名(如Layer,LineType等)和GetXData函數(shù)(用于讀取CASS的擴(kuò)展屬性數(shù)據(jù))。
3) 寫(xiě)入MAPGIS數(shù)據(jù)。在步驟2完整地讀取CASS實(shí)體的幾何和屬性數(shù)據(jù)基礎(chǔ)上,為在MAPGIS中正確寫(xiě)入數(shù)據(jù),需要依據(jù)步驟1中編制的轉(zhuǎn)換規(guī)則,充分考慮CASS和MAPGIS間的數(shù)據(jù)項(xiàng)對(duì)應(yīng)關(guān)系,例如:南方CASS中代碼為131100的控制點(diǎn)實(shí)體,轉(zhuǎn)換后對(duì)應(yīng)于MAPGIS中的CLKZD.WT文件,在該文件中提供了相應(yīng)的屬性表定義。與讀取數(shù)據(jù)方式類(lèi)似,在寫(xiě)入數(shù)據(jù)時(shí),采用MAPGIS的SDK(SoftDevelopment Kit)提供的庫(kù)函數(shù)實(shí)現(xiàn),例如:可以采用Append函數(shù)往MAPGIS的WL文件中寫(xiě)入二維線實(shí)體,AppendFile函數(shù)將一個(gè)文件添加到工作區(qū)等。
數(shù)據(jù)轉(zhuǎn)換的流程如下圖所示:
4 數(shù)據(jù)轉(zhuǎn)換實(shí)例
為驗(yàn)證本文方法的可行性和有效性,在地籍建庫(kù)過(guò)程中,應(yīng)用該轉(zhuǎn)換程序?qū)?shù)據(jù)從南方CASS到MAPGIS的轉(zhuǎn)換進(jìn)行了試驗(yàn)。通過(guò)將轉(zhuǎn)換前CASS數(shù)據(jù)和轉(zhuǎn)換后MAPGIS數(shù)據(jù)進(jìn)行對(duì)比分析,證明該方法在實(shí)現(xiàn)CASS到MAPGIS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換是成功的,它保證了在滿足實(shí)體空間和屬性信息轉(zhuǎn)換精度的基礎(chǔ)上,實(shí)現(xiàn)了實(shí)體在轉(zhuǎn)換過(guò)程中的重新分層、分類(lèi)以及轉(zhuǎn)換后數(shù)據(jù)組織的一致性,并且基本上實(shí)現(xiàn)了數(shù)據(jù)的無(wú)損轉(zhuǎn)換,從而提高了數(shù)據(jù)在轉(zhuǎn)換后應(yīng)用的可能性,減少了重新編輯的工作量。
以某部分地籍?dāng)?shù)據(jù)為例,CASS到MAPGIS數(shù)據(jù)轉(zhuǎn)換前后的圖形見(jiàn)圖2、圖3.
圖2 轉(zhuǎn)換前在CASS中的瀏覽圖
圖3 轉(zhuǎn)換后在MAPGIS中的瀏覽查詢圖
5 結(jié)語(yǔ)
隨著“數(shù)字國(guó)土”工程及對(duì)已建成的數(shù)據(jù)庫(kù)的更新與維護(hù)在全國(guó)范圍內(nèi)的全面鋪開(kāi),原有的CASS格式的測(cè)繪成果可作為“數(shù)字國(guó)土”的重要數(shù)據(jù)源, 同時(shí)MAPGIS軟件作為國(guó)內(nèi)重要的基礎(chǔ)地理信息平臺(tái),其應(yīng)用也越來(lái)越廣泛,因此研究數(shù)據(jù)從CASS到MAPGIS的高效無(wú)損轉(zhuǎn)換具有現(xiàn)實(shí)意義。本文通過(guò)對(duì)這兩種軟件平臺(tái)的數(shù)據(jù)結(jié)構(gòu)和組織進(jìn)行對(duì)比分析,設(shè)計(jì)相應(yīng)的轉(zhuǎn)換規(guī)則和算法,通過(guò)編程成功地實(shí)現(xiàn)了CASS到MAPGIS的數(shù)據(jù)轉(zhuǎn)換,促進(jìn)了CASS與MAPGIS的無(wú)縫集成,降低了GIS應(yīng)用系統(tǒng)的建設(shè)成本。
參 考文 獻(xiàn):
[1] 南方測(cè)繪儀器有限公司.數(shù)字化地形地籍成圖系統(tǒng)CASS50用戶手冊(cè)[M].廣州:南方測(cè)繪儀器有限公司,2005.
[2] 武漢中地?cái)?shù)碼科技有限公司.MAPGIS地理信息系統(tǒng)實(shí)用教程[M].武漢:武漢中地?cái)?shù)碼科技有限公司,2003.
[3] 周利,岳國(guó)森.CASS數(shù)據(jù)格式轉(zhuǎn)換為MapInfo數(shù)據(jù)格式的設(shè)計(jì)[J].西部探礦工程, 2004.
[4] 龔健雅.地理信息系統(tǒng)基礎(chǔ)[M].北京:科學(xué)出版社,2001.
[5] 鐘世彬,鄭貴洲. AutoCAD和MAPGIS間的數(shù)據(jù)轉(zhuǎn)換[J].測(cè)繪科學(xué),2005.
[6] 張樂(lè),趙淑玲.關(guān)于測(cè)繪科學(xué)數(shù)據(jù)共享服務(wù)建設(shè)的探討[J].測(cè)繪與空間地理信息, 2006.