XML在GIS數據轉換中的應用

來源:文萃谷 1.67W

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格式是文本格式,且裏面包含了很多的標籤,這就使轉換的文件數據量較大,所以這種轉換方法不適合於大數據量的轉換。

熱門標籤