當前位置:才華齋>設計>網頁設計>

XML在GIS資料轉換中的應用

網頁設計 閱讀(1.75W)

XML(可擴充套件標記語言),是一種用於標記電子檔案使其具有結構性的標記語言。下面YJBYS小編為大家搜尋整理了關於XML在GIS資料轉換中的應用,歡迎參考閱讀,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生培訓網!

XML在GIS資料轉換中的應用

隨著我國測繪與地理資訊行業的快速發展,湧現出一批優秀的資料採集平臺(如Cass、EPS、Walk等)和GIS基礎平臺(如GeoStar、MapGIS、SuperMap等),再加上國外行業軟體(如AutoCAD、MicroStation、ArcGIS、MapInfo等),這就使得基礎地理資訊資料建設中面臨的空間資料格式多種多樣。城市基礎地理資訊系統建設的核心在於資料及基於資料的服務,因此進行各類資料轉換的研究具有重要的現實意義。

  1 資料交換模式

目前,實現資料交換的模式大致有4種:直接資料訪問模式、資料互操作模式和空間資料共享平臺模式以及外部資料交換模式。直接資料訪問模式是利用軟體自身的開啟或者匯入其他資料格式的功能模組來實現異構資料的訪問,但是這種模式往往會受到資料格式相容性以及軟體功能模組的限制,往往開打或者匯入的資料有一些損失。資料互操作模式和空間資料共享平臺模式提供了較為理想的資料共享方式,適合於成果資料的應用,對於基礎資料的建設不太適合。外部資料交換模式一般能較完整地反應資料的.資訊,如一些軟體商提供了明碼的交換格式(如AutoCAD的DXF格式、ArcGIS的E00格式、MapInfo的MIF格式、EPS的EXF格式、Walk的Wex格式等)以便與其他軟體互動,這種模式在具體的工程應用中更具可操作性和現實性。

很多交換格式雖然能夠詮釋自己的資料格式,但是設計得非常複雜,要完整解析還是比較困難的事情。而且由於資料採集平臺與GIS基礎平臺數據格式的差異,也使得一些交換格式在轉換的時候出現了資料資訊的丟失和資料的冗餘,所以這些交換格式有些時候顯得不太實用。常見的資料採集平臺都提供了指令碼語言,而GIS基礎平臺都提供了元件開發包,這為我們自定義實用的交換格式提供了接。

交換格式的設計須遵循以下幾個原則:(1)滿足空間資料庫建設的需要;(2)能完整地詮釋原始資料格式;(3)能被無損地轉為GIS資料;(4)儘量減少資料的冗餘(5)方便轉換模組的設計(6)轉換過程靈活、適應性強。以XML定義的交換格式就符合這樣的要求。

  2 XML簡介

XML是Extensible Markup Language的簡寫,意為可擴充套件的標記語言。XML提供了一個標準,可以根據實際需要定義新的置標語言,併為這個置標語言規定它特有的一套標籤。準確地說,XML是一種元置標語言,它允許根據提供的規則,制定各種各樣的置標語言。XML有以下特點:

(1)XML文件的內容和結構完全分離。這個特性為XML的應用帶來了很大的好處。基於這樣的特點,企業系統可以輕鬆地實現內容管理和流程管理的徹底分離。

(2)互操作性強。大多數純文字的檔案格式都具有這個優點。純文字檔案可以方便地穿越防火牆,在不同作業系統上的不同系統之間通訊。而作為純文字檔案格式,XML同樣具有這個優點。

(3)規範統一。XML具有統一的標準語法,任何系統和產品所支援的XML文件,都具有統一的格式和語法。這樣就使得XML具有了跨平臺跨系統的特性。

(4)支援多種編碼。相對於普通文字文件而言,XML文件本身包含了所使用編碼的記錄,這方便了多語言系統對資料的處理。

(5)可擴充套件性。XML是一種可擴充套件的語言,可以根據XML的基本語法來進一步限定使用範圍和文件格式,從而定義一種新的語言。

  3 XML交換格式設計

目前,微軟的 FrameWork開發平臺提供了專門的開發包來操作XML檔案,特別是在預先定義好可序列化的類後,可直接將XML檔案反序列化為類的物件,這樣可以大大減輕解析XML檔案的開發工作量。以下是以XML為交換格式的資料轉換的流程:

下面以Walk資料的輸出為例,詳細介紹XML交換格式的定義過程。

一個Walk資料中包含多個圖層,每個圖層中包含要素、註記和符號,每個要素或者註記都有式樣屬性,每個式樣都有一個符號與之對應,要素又包含幾何物件和屬性。因一般GIS平臺中的符號庫都無法相容,因此在交換格式中不設計符號。圖1是設計的可序列化類的UML圖,圖2是XML檔案的例項。

XML檔案可以在Walk平臺下編制WalkScript指令碼程式輸出,讀取時則可用和目標GIS平臺元件解析轉換,轉換時需要詳細瞭解兩種格式之間差異,資料表達方式不同時,用作出最接近的轉換,因轉換不是本文的重點,這裡就不做累述。

總之,利用現有軟體轉換有損失或者冗餘時,以XML定義的交換格式能夠完整地詮釋原始資料格式,在 FrameWork開發平臺下可以方便的讀取並可以簡化轉換模組的設計,可操作性強。但由於XML格式是文字格式,且裡面包含了很多的標籤,這就使轉換的檔案資料量較大,所以這種轉換方法不適合於大資料量的轉換。