劉文軍,吳俐民,方源敏
(1.深圳市勘察測繪院有限公司,廣東深圳 518028;2.昆明市測繪管理中心,云南昆明 650093;3.昆明理工大學國土資源工程學院,云南昆明 650093)
隨著“十二五”規劃的頒布及實施,“數字城市”的建設已成為各個省份的重頭戲。“數字城市”所產生的數據表現為多類型、多尺度、多語義等特性。正是由于數據的多源性和異構性的存在,使得數據共享與信息交換變得十分困難,被稱為“信息孤島”[1]。為了建設好各省的基礎地理信息公共服務平臺,便于實現GIS數據和信息的持續利用,必須將這些多源異構的空間數據進行集成,最終整合成統一標準的數據。
對于多源異構空間數據集成的研究,國內外已有相關文獻。Timo thy L.N yerges于1989 年[2]就地球空間數據集成的結構、步驟和方法進行了討論;Dan Lee于1993 年[3]和 C.B.Jones于1996 年[4]在數據多尺度問題上進行了研究;2000年李軍、費云川[5]在理論上,對地球空間數據集成研究狀況及存在的問題做了詳細的分析,并初步概括了地球空間數據集成的發展方向。同年,宋關福、鐘耳順等人[6,7]提出了多源空間數據無縫集成(SMIS)技術,并探討了SMIS技術在GIS軟件開發中的應用;有關這方面的研究還有很多[8~10]。以上的文獻主要是針對空間數據集成的理論和常用的解決方案的研究,將ETL技術與GIS技術結合的文獻卻很少。基于以上的分析與不足,本文嘗試在多源異構空間數據集成理論基礎上,采用ETL技術,在預先定義好的抽取規則和轉換規則下,進行了數據的集成抽取、清洗、轉換,最后裝載到框架數據庫。
地理空間數據是GIS的操作對象,是GIS所表達的現實世界經過模型抽象的實質性內容[11]。可以從地理數據來源和表現形式來分析空間數據的多源異構性。
從地理數據來源分析:目前,地理數據的來源有現存的地圖數據、遙感影像數據、用全站儀或GPS實測的數據、國民經濟的各種統計數據等,其來源廣泛。而不同的數據源或采集方式不同的數據,所應用的軟件也不同,最終導致這些數據的存儲格式及結構都各不相同,這就增加了數據重復建設的成本。
從地理數據的表現形式分析[11]:由于地理數據表達的是現實世界中具有幾何特征的對象,如地貌、海拔、植被、河流、建筑等,所表達對象的多樣決定了地理數據的多語義性;不同的GIS專題應用系統,對數據的比例尺和精度要求也有很大的差異,同時也存在著同一時間不同空間的數據以及同一空間在不同時間的數據,因而地理數據表現出多時空性和多尺度性;由于GIS軟件層出不窮,不同的GIS軟件平臺都有自己所支持的數據格式,如Esri公司的ARC/INFO Coverage、Shapefile格式;AutoCAD的 DXF格式、DWG格式;MapInfo的MID、MIF格式等,這又導致了地理數據的存儲格式多樣性。
正因為地理空間數據的多源異構性的存在,使得地理空間數據的共享和集成問題日益突出,因此,有必要將多源異構空間數據轉換成統一的標準格式的框架數據,達到不同GIS應用系統或各個業務部門數據共享的目的。
ETL是數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程[12]。是構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。具體地說,ETL包括三個主要的環節,一是數據抽取,將數據從不同的操作平臺或者數據庫等那些最初的業務系統中讀取出來,是所有工作的前提;二是數據轉換,是對抽取得到的數據,在預先定義好的轉換規則下,進行轉換的過程,包括字段的合并與拆分、排序、賦缺省值以及數據的聚合等操作;三是數據裝載,負責將轉換完成的數據裝載到數據倉庫中。其概模型如圖1所示。

圖1 ETL概念模型圖
ETL是建立數據倉庫的必要步驟,而數據倉庫的建立是為了滿足大多數遺留下來的異構的系統、應用、商務流程以及數據源構成的應用環境所需,以實現“數據集中化、業務綜合化、管理扁平化、決策科學化”目的[13]。為此,ETL技術主要應用于商業智能方面[14~17],其數據來自于各個部門的人文數據、經濟數據或業務數據等。
ETL在商業智能方面的應用較廣泛,但其數據主要來源于不同部門的人文數據、經濟數據或業務數據等,而并非是帶有地理實體屬性信息的空間數據。為此,本文嘗試將地理空間數據作為ETL的數據源,探討基于ETL的多源異構空間數據集成模式的研究。
由于不同GIS軟件系統之間圖形數據格式的不同,使得空間數據的共享成為難題。目前GIS產業界實現數據共享與集成的方式大致三種,即:數據格式轉換模式、數據互操作模式和直接數據訪問模式。
(1)數據格式轉換模式
數據格式轉換模式就是把其他格式的數據經過專門的數據轉換程序轉換成該系統的數據格式,并復制到當前系統的數據庫或文件中。這是一種傳統的GIS數據集成方法,也是當前GIS軟件系統數據共享與集成的主要辦法。目前,業界公認的幾種重要的空間數據格式有:Esri公司的ArcInfo Coverage、Shapefile和E00格式;AutoDesk的DXF格式和DWG格式;MapInfo的MIF格式和MID格式;Intergraph的DGN格式等等[7]。
數據格式轉換模式存在的一些弊病有:一是信息丟失問題。由于在空間對象中缺乏統一的描述方法,不同格式數據所描述的空間數據模型不盡相同。DXF格式著重描述空間對象的圖形表達(顏色、線型)等,而忽略了屬性數據和空間對象之間的拓撲關系;E00格式側重于描述空間對象的關系(如拓撲關系)而忽略了其圖形表達能力。因此,CAD數據輸出為E00格式將丟失顏色、線型等信息;而ArcInfo數據輸出到DXF時則會損失拓撲關系和屬性數據等有價值的信息;二是數據轉換過程復雜。要想將a格式的數據轉換成b格式的數據,首先要使用軟件A將a格式數據輸出為中間格式,再使用軟件B輸入已轉換的中間格式,最終輸出為b格式數據。尤其是在數據不斷更新的情況下,不同GIS系統的數據格式轉換及其頻繁而復雜。
(2)數據互操作模式
數據互操作模式是OpenGIS Consortium(OGC)制定的規范。GIS互操作是指在異構數據庫和分布計算的情況下,GIS用戶在相互理解的基礎上,能透明地獲取所需的信息[18]。OGC為數據互操作制定了統一的規范,從而使得一個系統同時支持不同的空間數據格式成為可能。根據OGC頒布的規范,數據服務器(Data Servers)是指提供數據源的軟件,數據客戶(Data Clients)是指使用數據的軟件,數據客戶使用某種數據的過程就是發出數據請求,由數據服務器提供服務的過程,其最終目的是使數據客戶能讀取任意數據服務器提供的空間數據。
數據互操作規范為多源數據集成帶來了新的模式,但是這一模式在實際應用中存在著缺陷,究其原因是:其一是一個軟件要訪問其他軟件的數據是通過數據服務器(即被訪問數據格式的宿主軟件)來實現的,因此用戶必須同時擁有這兩個GIS軟件,并且同時運行,才能完成整個數據互操作過程;其二是每種格式的宿主軟件都要按照統一的規范實現數據訪問接口,才能真正實現數據互操作。
(3)直接數據訪問模式
直接數據訪問是在一個GIS軟件中通過利用空間數據引擎的方法來實現對其他軟件數據格式的直接訪問、存取和空間分析[7]。直接數據訪問不僅避免了繁瑣的數據轉換過程,而且在一個GIS軟件中訪問某種軟件的數據格式不要求用戶擁有該數據格式的宿主軟件,也不需要運行該軟件。
從上述角度來看,直接數據訪問提供了一種更為經濟實用的多源數據共享模式。但是直接數據訪問同樣存在著一些不足之處:一是由于空間數據格式多樣性的存在,使得不同GIS軟件數據組織各不相同,沒有一個專門的軟件能夠支持所有數據格式直接訪問;二是客戶軟件要為每一種要直接訪問的宿主軟件數據格式編寫讀寫驅動,在宿主軟件數據格式不公開,或者宿主軟件數據格式發生變化的情況下,客戶軟件就必須投入大量的人力和財力去研究該宿主軟件的數據格式,這是不可取的。
針對空間數據存在著來源、尺度、類型、組織方式和軟件支撐平臺的差異性的問題,及對空間數據三種集成方式進行了討論和對比,本文嘗試將ETL技術應用于空間數據集成中,擬設計出一個主要用于空間數據抽取、轉換、裝載的工具,旨在將多源異構空間數據集成為基礎數據,再通過一鍵抽取功能形成框架數據。
(1)系統整體概述
在本系統整個過程中,所操作的數據是1∶5萬某市煙草種植項目建設及規劃數據,這些數據存儲于專用服務器上,以Oracle 11g數據庫進行管理,數據格式為ShapeFile(位于地理數據庫(Geodatabase)中),存貯這些數據的數據庫被稱為“源數據庫”。系統總體過程可以概括為:
①首先通過連接數據庫,訪問到所需要操作的源數據;
②按照業務應用的需求,制定抽取規則,將全部數據或通過規則定義的數據抽取到“目標數據庫”;
③考慮到這些數據的保密性因素,需要對所抽取的數據進行內部處理,包括坐標變換、涉密過濾、精度降低或平移拉伸等;
④對處理過的數據進行裝載入庫,形成專題數據,以供各部門的使用。
(2)技術方案
主要是對ETL工具的設計方案的考慮,可以借鑒工作流的一些概念和思路。其系統技術流程如圖2所示。

圖2 系統技術流程圖
(3)實例驗證及結果分析
本實驗的實例數據是某年1∶5萬某市煙草種植項目建設及規劃數據,來源于該市基礎地理信息中心,這些數據是按照國家標準1∶5萬矢量數據的建庫規則及各要素分類編碼規范執行。本實驗主要測試了一鍵抽取、查詢抽取及第三方數據入庫的功能。
①執行一鍵抽取過程
在成功連接數據庫后,將數據庫中所存儲的空間數據讀取出來,通過選取空間數據,執行一鍵抽取的過程,本實驗選取的是6個圖層(點、線和面)要素類進行抽取,在執行抽取過程中,其詳細的空間圖形數據并不會顯示,整個過程是在后臺中完成的,如圖3所示。對于抽取所得到的結果將直接入庫,存儲在事先新建好的要素數據集(SDE.OFB)中,以系統執行該操作的時間來命名。執行一鍵抽取前后的數據結果可以通過SDE連接Oracle數據庫進行查看,分別如圖4和圖5所示。這個過程只能操作數據庫中的已存儲的數據。

圖3 執行一鍵抽取過程

圖5 執行一鍵抽取后SDE.OFB數據集

圖4 執行一鍵抽取前 SDE.OFB 數據集
②執行查詢抽取過程
為了滿足用戶需求的多樣性,一些用戶并不需要全部的數據,而只是需要提取其中的部分數據,查詢抽取模塊可以很好解決這一問題。與一鍵抽取模塊相比,查詢抽取過程既能操作數據庫中的已存儲的數據,也可以操作存儲于本機上的未及時更新到數據庫中的數據。由于篇幅原因,本文只對前者的數據進行實驗:
連接數據庫成功后,獲取數據庫中的空間數據,選擇目標數據添加至視圖控件中進行瀏覽顯示,再選擇圖層,定義篩選條件,最終執行查詢。實驗過程中選擇線圖層 LJTB_EST_L_DITCH,篩選條件為“V04_NAMEBASE=‘河南中煙’”。整個執行過程及查詢結果截圖如圖6~圖9所示。

圖6 選擇圖層

圖7 定義篩選條件

圖9 高亮顯示查詢到的結果
對于根據定義篩選條件執行查詢抽取得到的結果,可以對其進行入庫處理或保存為本地ShapeFile格式文件。為了區分一鍵抽取得到的數據,對于查詢抽取得到的數據的命名,采用執行該操作時的系統時間來命名,如圖10所示。

圖10 執行查詢抽取后數據集結果
③第三方數據入庫
考慮到數據的現勢性問題,有些數據并未及時更新到數據庫中,因此有了第三方數據的存在,為了使這些數據能夠入庫并進行相關的操作,本系統專門開發了這一模塊。為了區分數據一鍵抽取和查詢抽取得到的結果,系統專門另外創建了一個矢量數據集并命名為Third,用于存儲第三方的入庫數據。入庫后該數據在數據庫同樣以執行該操作時的系統時間進行命名。實例驗證過程及結果如圖11~圖12所示。

圖11 第三方數據入庫

圖12 第三方數據入庫后結果
④據的集成
針對一鍵抽取以及查詢抽取所得到的數據和各業務部門已有的數據進行集成。如圖13~圖14所示。

圖13 集成前數據顯示

圖14 集成后數據顯示
(1)在本系統中只實現了對ShapeFile格式的矢量數據建模、抽取、轉換及入庫,對于其他格式的數據(如遙感影像數據、CAD格式數據、MapGIS格式數據等)抽取、轉換及入庫的開發工作并未實現,這也正是下一步工作中的主要研究重點;
(2)由于實驗環境和硬件設備的限制,實驗過程中沒有一臺專門用于存貯數據的后臺服務器,為此,在下一步的工作中有必要增加一臺專用服務器,用于存儲數據,以便模擬更真實的數據庫環境,尤其是在“大數據(Big Data)”時代下就更有必要了;
(3)在數據轉換模塊執行數據的內部處理時,只進行了空間數據的坐標轉換,在數據的保密性方面未能考慮到位,在后續的研究與工作中將會繼續考慮數據的脫敏處理,包括數據的精度調整、去噪處理、拉伸平移等;
(4)執行數據抽取和入庫時的效率(即時間復雜度)未曾考慮,在今后研究中可以在不同抽取方式下對比其時間復雜度,探討出效率更優、時間更短的抽取方式。
[1] 崔鐵軍.地理信息服務導論[M].北京:科學出版社,2009:5~10.
[2]L N yerges T L.Schema integration analysis for the development of GIS databases[J].Int.J.Geographical Information Systems,1989,3(2):153 ~183.
[3]Dan Lee.An ideal means for multiple GIS data transformation and represents[J].Proceedings of the Third Workshop on Geographical Information System,Beijing,1993(1):66 ~79.
[4]Jones C B,Kidner D B,Luo L Q etal.Database design for multi2scale spatial information system[J].Int.J.GeogarPhical Information Systems,1996(10):901 ~920.
[5]李軍,費云川.地球空間數據集成研究概況[J].地理科學進展,2000,19(3):203 ~211.
[6]宋關福,鐘耳順,劉紀遠等.多源空間數據無縫集成研究[J].地理科學進展,2000,19(2):110~115.
[7]鐘耳順,王康弘,宋關福等.GIS多源數據集成模式評述[A].中國 GIS年會(深圳)論文集[C],深圳,1999.
[8] 王雅琴,陶華學,高華等.基于GML的多源異構數據交換模式研究[J].測繪科學,2006,31(2):88~90.
[9]周順平,魏利萍,萬波等.多源異構空間數據集成的研究[J].測繪通報,2008(5):25~27.
[10]楊春成,何列松,謝鵬等.基于空間數據庫引擎的多源地理空間數據管理[J].測繪科學技術學報,2010,27(5):366~370.
[11]李楊,李天文,崔晨等.多源空間數據集成技術綜述與前景展望[J].測繪與空間地理信息,2009,32(1):102~106.
[12]龔瓊宇,李曉,劉棟等.ETL技術在公共衛生數據共享中的應用研究[J].中國衛生工程學,2009,8(1):54 ~56.
[13]繆嘉嘉,鄧蘇,劉青寶.ETL綜述[J].計算機工程,2004,30(3):4 ~6.
[14]汪立軍.超市數據倉庫與數據挖掘的研究[J].計算機與數字工程,2007,35(9):79 ~82.
[15]代志遠.ETL在電力生產運維分析系統中的設計與實現[D].青島:山東大學,2009.
[16]王磊.基于ETL的信合數據整合模型及解決方案[D].武漢:湖北工業大學,2011.
[17]尤欣.ETL技術在商業智能中的應用[J].電腦應用技術,2004(74):17~21.
[18]黃裕霞,Cliff Kottman,柯正誼等.可互操作的GIS研究[J].中國圖像圖形學報,2001,6(9):925~931.
[19]陳楠.多源空間數據集成的技術難點分析和解決策略[J].計算機應用研究,2005(10):206~208.