姚冰
摘 要:本文通過(guò)對(duì)CASS、MapInfo數(shù)據(jù)格式的分析,采用FME數(shù)據(jù)轉(zhuǎn)換機(jī)制,闡述一種基于FME實(shí)現(xiàn)CASS數(shù)據(jù)到MapInfo數(shù)據(jù)的無(wú)損轉(zhuǎn)換技術(shù)。以一幅1:10000的CASS地形圖為原數(shù)據(jù),進(jìn)行實(shí)例證明,結(jié)果表明:轉(zhuǎn)換模型實(shí)現(xiàn)了CASS與MapInfo數(shù)據(jù)間的無(wú)損轉(zhuǎn)換。
關(guān)鍵詞:CASS;GIS;MapInfo;FME;數(shù)據(jù)轉(zhuǎn)換
1 引言
近年來(lái),隨著地理信息系統(tǒng)對(duì)地理空間數(shù)據(jù)的處理速度與能力取得突破性進(jìn)展,數(shù)據(jù)的轉(zhuǎn)換和共享顯得日益重要。但仍有許多用戶(hù)會(huì)在不同GIS系統(tǒng)間移植空間數(shù)據(jù)時(shí)遇到較大的困難,造成這種困難的主要原因在于空間數(shù)據(jù)格式及模型的多樣性,在進(jìn)行多種數(shù)據(jù)格式的相互轉(zhuǎn)換時(shí)往往需要做大量的軟件開(kāi)發(fā)和很多重復(fù)的數(shù)據(jù)處理工作,即使這樣,也常常容易造成信息的丟失。目前使用的各種轉(zhuǎn)換工具雖然能夠?qū)⒋蟛糠謹(jǐn)?shù)據(jù)轉(zhuǎn)入地理信息系統(tǒng), 但還存在數(shù)據(jù)的損失和圖形數(shù)據(jù)與屬性數(shù)據(jù)不一致等問(wèn)題。為了高效地建立地理信息數(shù)據(jù)庫(kù),經(jīng)常要將各類(lèi)數(shù)字地形圖數(shù)據(jù)轉(zhuǎn)換為符合GIS要求的數(shù)據(jù)。所以如何實(shí)現(xiàn)數(shù)據(jù)格式的無(wú)縫轉(zhuǎn)換,最大的利用其數(shù)據(jù)共享功能,成為目前GIS數(shù)據(jù)建設(shè)的主要問(wèn)題之一。
2. 基于FME建立MapInfo數(shù)據(jù)庫(kù)
2.1 FME軟件
FME(Feature Manipulate Engine) Suite軟件它可用于讀、寫(xiě)、存儲(chǔ)和轉(zhuǎn)換各種空間數(shù)據(jù),具有對(duì)空間數(shù)據(jù)進(jìn)行操作的功能。FME基于OpenGIS組織提出的新的數(shù)據(jù)轉(zhuǎn)換理念“語(yǔ)義轉(zhuǎn)換”, 其實(shí)質(zhì)是根據(jù)OpenGIS的規(guī)則,建立一個(gè)非常詳盡的包含了大量的GIS數(shù)據(jù)模型。然后按照OpenGIS的數(shù)據(jù)模型與各類(lèi)數(shù)據(jù)格式和數(shù)據(jù)模型的對(duì)應(yīng)關(guān)系,在任意兩種數(shù)據(jù)格式之間建立更寬的“數(shù)據(jù)通道”,使得任意兩種數(shù)據(jù)格式和模型之間可以進(jìn)行最大限度不丟失信息的相互轉(zhuǎn)換和表達(dá)。實(shí)現(xiàn)了超過(guò)100種不同空間數(shù)據(jù)格式(模型)之間的相互轉(zhuǎn)換[1]。
為了實(shí)現(xiàn)要素的格式轉(zhuǎn)換,把空間要素看成是與二維或三維圖形相關(guān)聯(lián)的一組屬性名稱(chēng)和屬性值的集合對(duì)屬性的類(lèi)型和屬性值沒(méi)有任何限定,屬性名由一個(gè)或者多個(gè)字符組成典型的數(shù)據(jù)轉(zhuǎn)換由一系列規(guī)則進(jìn)行控制,它們指定了數(shù)據(jù)轉(zhuǎn)換的原則和變換操作對(duì)于存儲(chǔ)在不同系統(tǒng)的不同格式的數(shù)據(jù)可以進(jìn)行下列操作:①聯(lián)結(jié)多樣數(shù)據(jù)源轉(zhuǎn)換為一種目標(biāo)數(shù)據(jù)格式;②在不同的系統(tǒng)間建立連接;③通過(guò)互操作延長(zhǎng)傳統(tǒng)系統(tǒng)的生命周期;④在基于系統(tǒng)和系統(tǒng)間進(jìn)行數(shù)據(jù)交換;⑤提供高質(zhì)量的空間數(shù)據(jù)轉(zhuǎn)換。
2.2 基于FME建立MapInfo數(shù)據(jù)庫(kù)的方法
運(yùn)用FME軟件對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換和處理前,應(yīng)對(duì)需要處理的數(shù)據(jù)進(jìn)行必要的分析。分析后發(fā)現(xiàn)存在許多問(wèn)題,如房屋大多未閉合,許多實(shí)體沒(méi)有屬性或者屬性錯(cuò)誤,而且還存在許多沒(méi)有屬性的殘點(diǎn),其結(jié)果會(huì)導(dǎo)致轉(zhuǎn)換后的圖形根本不能在MapInfo中清晰地區(qū)分空間圖形實(shí)體,并且在入庫(kù)時(shí)也不能將CASS所提供的實(shí)體編碼與系統(tǒng)所設(shè)計(jì)的編碼對(duì)應(yīng)起來(lái)。這些問(wèn)題對(duì)于將來(lái)要進(jìn)行的基于基礎(chǔ)數(shù)據(jù)GIS空間分析是必須要避免和消除的,否則將影響到空間分析結(jié)果的可信度,因此必須對(duì)圖形數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化工作,包括以下幾方面:將CASS圖形數(shù)據(jù)進(jìn)行正確歸層并將所有地物加入實(shí)體編碼、面狀地物閉合、屬性完整性檢查、構(gòu)造輔助邊界(閉合)、連接線狀要素、注記修改、刪除不合理點(diǎn)、線、面和重復(fù)實(shí)體 、自檢等。
接下來(lái)運(yùn)用FME Universal Viewer對(duì)CASS地形圖數(shù)據(jù)檢查其屬性,將要轉(zhuǎn)換的屬性記錄下來(lái)。
運(yùn)用FME Workbench進(jìn)行數(shù)據(jù)轉(zhuǎn)換,需要設(shè)計(jì)轉(zhuǎn)換流程[2]。
3 建立實(shí)例
首先以一幅1:10000地形圖為原數(shù)據(jù),分別運(yùn)用CASS軟件對(duì)原數(shù)據(jù)分別進(jìn)行矢量化、預(yù)處理。然后利用FME Univesal Viewer檢查CASS地形圖的屬性、運(yùn)用FME Workbench設(shè)計(jì)轉(zhuǎn)換流程進(jìn)行數(shù)據(jù)轉(zhuǎn)換。最后,利用MapInfo通用轉(zhuǎn)換器以GDX為例進(jìn)行直接轉(zhuǎn)換,比較其與FME轉(zhuǎn)換的優(yōu)缺點(diǎn)。
3.1 CASS預(yù)處理
(1) 對(duì)于點(diǎn)、線、面數(shù)據(jù),均需要檢查數(shù)據(jù)的層、顏色、代碼等是否出現(xiàn)錯(cuò)誤,并修正其錯(cuò)誤。
(2) 對(duì)于點(diǎn)、線、面數(shù)據(jù),均需要檢查要素的固有屬性(如果有),檢查數(shù)據(jù)的有效性,例如點(diǎn)數(shù)據(jù)需要檢查高程點(diǎn)和比高點(diǎn)的高程值等;線數(shù)據(jù)需要檢查等高線的高程值、水系和道路的名稱(chēng)等;
(3) 對(duì)于點(diǎn)、線、面數(shù)據(jù)均需要檢查要素注記,例如點(diǎn)數(shù)據(jù)的高程注記、控制點(diǎn)注記,其他說(shuō)明注記等是否完備;線數(shù)據(jù)的等高線注記、水系和道路名稱(chēng),其他說(shuō)明注記等是否完備;面數(shù)據(jù)的行政區(qū)劃名稱(chēng)、植被區(qū)名稱(chēng),其他說(shuō)明注記等是否完備,以及這些注記與所注記的要素的間距是否合適,這些注記可以導(dǎo)入到要素的屬性中。
(4) 因注記與其他要素相交而斷開(kāi)的線性要素,應(yīng)根據(jù)需要進(jìn)行連接;因注記與其他要素相交而斷開(kāi)的面狀要素,應(yīng)根據(jù)需要進(jìn)行封閉。
(5) 對(duì)一些沒(méi)有明顯邊界的面狀要素,如植被、土質(zhì)等,可人工添加輔助封閉邊界,用于構(gòu)面。
(6) 自檢。得到的經(jīng)過(guò)與處理的圖如下
3.2 FME軟件實(shí)現(xiàn)CASS與MapInfo的數(shù)據(jù)轉(zhuǎn)換
(1)使用中間軟件FME進(jìn)行數(shù)據(jù)轉(zhuǎn)換前,運(yùn)用FME Universal Viewer進(jìn)行分層查看并記錄CASS地形圖的地圖信息中包括點(diǎn)、線、面要素信息及注記等屬性,點(diǎn)狀要素:需要連接的屬性有GB、NAME,高程點(diǎn)需要ELEV;線狀要素:需要連接的屬性有GB、NAME、TYPE,等高線需要ELEV,如果是輔助線只需要連接GB;面狀要素:需要連接的屬性有GB、NAME、TYPE特別要注意確定是否是面狀要素,若是由于源數(shù)據(jù)不規(guī)范,本應(yīng)該是面狀要素卻是線狀要素的時(shí)候需要在FME中進(jìn)行構(gòu)面;注記:需要連接的屬性有GB、NAMSIZE、FONT、ANGLE。
(2)運(yùn)用FME Workbench 對(duì)CASS數(shù)據(jù)的每一層設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換的流程。其中主要應(yīng)用到的函數(shù)有Jioner、Geometryfilter、GeometryCeocer、Atributefilter、AtributeCeater等等[3]。
得到用MapInfo查看數(shù)據(jù)導(dǎo)出情況,出現(xiàn)下圖轉(zhuǎn)換成功。
4 總結(jié)
采用FME進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,較以前直接用GIS軟件平臺(tái)自帶的轉(zhuǎn)換工具進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,然后進(jìn)行大量的人工處理工作,其效率有很大提高;它能夠進(jìn)行大批量數(shù)據(jù)的自動(dòng)處理,而且不會(huì)出現(xiàn)數(shù)據(jù)要素失真、屬性數(shù)據(jù)部分丟失等現(xiàn)象。實(shí)例證明,本文提出的基于FME的GIS到CAD“無(wú)損”數(shù)據(jù)轉(zhuǎn)換模型,實(shí)現(xiàn)了對(duì)空間數(shù)據(jù)和屬性數(shù)據(jù)快速、無(wú)損的語(yǔ)義轉(zhuǎn)換,充分利用了GIS強(qiáng)大的空間數(shù)據(jù)庫(kù)支持能力和CAD強(qiáng)大的圖形編輯功能,為地圖數(shù)據(jù)的操作和空間數(shù)據(jù)的維護(hù)提供了可行的解決方案,對(duì)實(shí)現(xiàn)數(shù)據(jù)的共享具有重要的理論與現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1] 譚夏梅.AutoCAD與MapInfo的數(shù)據(jù)分析與圖形數(shù)據(jù)轉(zhuǎn)換[J].機(jī)床與液壓,2004(3):140-141
[2] 車(chē)志強(qiáng),宋春燕.AutoCAD向MapInfo的轉(zhuǎn)換[J].土工基礎(chǔ),2004,18(6):58-60
[3] 張超.地理信息系統(tǒng)實(shí)習(xí)教程[M].北京:高等教育出版社,2001