劉文軍 萬小飛
(江西省測繪應(yīng)急保障服務(wù)中心 江西南昌 330209)
數(shù)字城市是數(shù)字中國地理空間框架的重要組成部分,而地理信息數(shù)據(jù)是數(shù)字城市建設(shè)中的重要組成部分。
一方面,我國正在建設(shè)以數(shù)字信息服務(wù)為目標(biāo)的國家地理信息系統(tǒng),通過對不同技術(shù)手段獲取的各種基礎(chǔ)地理信息進行采集、編輯處理、存貯,建成多種類型的基礎(chǔ)地理信息數(shù)據(jù)庫,并建立數(shù)據(jù)傳輸網(wǎng)絡(luò)體系,為國家和省(市、自治區(qū))各部門提供基礎(chǔ)地理信息服務(wù)。同時,各省、市、自治區(qū)也根據(jù)實際情況,建立了區(qū)域的地理信息系統(tǒng),并形成地理信息基礎(chǔ)數(shù)據(jù)庫及面向服務(wù)的框架數(shù)據(jù)庫。地理信息數(shù)據(jù)具有數(shù)據(jù)量大、類型多樣,層次結(jié)構(gòu)復(fù)雜等特點。
另一方面,社會各行業(yè)對地理信息服務(wù)要求也多種多樣,不同行業(yè)應(yīng)用對地理信息數(shù)據(jù)的要求在屬性、精度、區(qū)域上各不相同,并且地理信息數(shù)據(jù)需求在不斷變化。同時,隨著地理信息系統(tǒng)技術(shù)的發(fā)展,GIS 軟件層出不窮,不同的軟件應(yīng)用平臺都有著各自支持的數(shù)據(jù)格式,其數(shù)據(jù)的存儲和組織形式都存在很大的差異。各個測繪部門地理空間數(shù)據(jù)庫處于分散狀態(tài),孤立存放在各個單位,也沒有統(tǒng)一的管理,數(shù)據(jù)共享與信息交換變得十分困難,被稱為“信息孤島”[1]。因此,在已有的地理信息數(shù)據(jù)和需要提供的數(shù)據(jù)服務(wù)之間出現(xiàn)了較大的沖突。
2009 年,原國家測繪地理信息局制定并印發(fā)了《國家地理信息公共服務(wù)平臺建設(shè)專項規(guī)劃(2009—2015 年)》、《關(guān)于加快推進國家地理信息公共服務(wù)平臺建設(shè)的指導(dǎo)意見》和《國家地理信息公共服務(wù)平臺技術(shù)設(shè)計指南》,這標(biāo)志著我國地理信息公共服務(wù)平臺(以下簡稱“公共服務(wù)平臺”)建設(shè)試點工程正式啟動,但尚處于初級發(fā)展階段。從已建成的公共服務(wù)平臺網(wǎng)站上來分析,可以得出一些結(jié)論:一是該平臺所提供的公開數(shù)據(jù)是有限的,而且基本上都是小比例尺數(shù)據(jù),這些數(shù)據(jù)并不能完全滿足各個專題應(yīng)用部門的應(yīng)用需求;二是用戶要獲取數(shù)據(jù),必須先獲得權(quán)限,根據(jù)不同的權(quán)限獲得相應(yīng)的數(shù)據(jù),顯然這種服務(wù)模式環(huán)節(jié)多、過程復(fù)雜、等待的周期長;三是要構(gòu)建這種平臺應(yīng)用系統(tǒng),需要花費大量的人力、物力和財力,技術(shù)相當(dāng)復(fù)雜,顯然在應(yīng)對突發(fā)事件時快速做出應(yīng)急預(yù)案或者面對大型的業(yè)務(wù),這種獲取數(shù)據(jù)的模式就顯得有些力不從心了。相對而言,目前各專題應(yīng)用部門獲取數(shù)據(jù)的手段大部分仍是組織人員實地測量或購買,從而造成了數(shù)據(jù)的重復(fù)性建設(shè)。因此,對地理空間數(shù)據(jù)的集成和共享問題的研究是非常有必要的。
目前,國內(nèi)的大中型企業(yè)擁有大量可分析的業(yè)務(wù)數(shù)據(jù),要想充分利用系統(tǒng)中的數(shù)據(jù),并使得這些數(shù)據(jù)得到科學(xué)的分析,就必須搭建數(shù)據(jù)倉庫平臺。而ETL(Extract Transform and Load)技術(shù)在數(shù)據(jù)倉庫建設(shè)過程中發(fā)揮著至關(guān)重要的作用,是關(guān)鍵的一環(huán)[1-2]。ETL 是數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)裝載的縮寫,在電信、金融和企業(yè)等領(lǐng)域應(yīng)用的較廣泛,但其數(shù)據(jù)較多來源于各部門的業(yè)務(wù)數(shù)據(jù),并非地理空間數(shù)據(jù)。
基于以上背景及需求分析,嘗試將ETL 技術(shù)和GIS 技術(shù)相結(jié)合[3],將地理空間數(shù)據(jù)作為ETL 過程中的數(shù)據(jù)源,針對多源異構(gòu)空間數(shù)據(jù)進行集成和整合,從而更好地解決“信息孤島”的問題,實現(xiàn)空間數(shù)據(jù)的共享,具有廣泛的應(yīng)用前景。
ETL 可以概括為數(shù)據(jù)抽?。‥xtract)、數(shù)據(jù)轉(zhuǎn)換(Transform)和數(shù)據(jù)裝載(Load)整個過程的總稱[4]。即用戶從指定的數(shù)據(jù)源中抽取出自己感興趣的數(shù)據(jù),按照事先制定的清洗和轉(zhuǎn)換規(guī)則進行數(shù)據(jù)的清洗和轉(zhuǎn)換,最終裝載到目標(biāo)數(shù)據(jù)模型中,供本部門使用。
ETL 技術(shù)包括三個重要的環(huán)節(jié),一是數(shù)據(jù)的抽取,即從不同的數(shù)據(jù)庫或倉庫等系統(tǒng)中讀取數(shù)據(jù),這是一個數(shù)據(jù)讀取的過程,是ETL 技術(shù)的前提;二是數(shù)據(jù)的轉(zhuǎn)換,即按照預(yù)先制定的清洗規(guī)則和轉(zhuǎn)換規(guī)則,將讀取的數(shù)據(jù)進行屬性字段合并、融合、排序、賦缺省值等操作,實現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,這是一個數(shù)據(jù)的清洗和轉(zhuǎn)換的過程,是ETL 技術(shù)的核心[5-6];三是數(shù)據(jù)的裝載,即完成對清洗和轉(zhuǎn)換后的數(shù)據(jù)進行裝載入庫工作,這是一個數(shù)據(jù)的入庫的過程。詳細流程圖見圖1 所示。
圖1 ETL 技術(shù)流程圖
按照國家制定的有關(guān)標(biāo)準(zhǔn)和各個行業(yè)的數(shù)據(jù)應(yīng)用需求,旨在從海量的、復(fù)雜的基礎(chǔ)地理信息數(shù)據(jù)和框架數(shù)據(jù)中提取行業(yè)相關(guān)應(yīng)用的空間數(shù)據(jù),經(jīng)過數(shù)據(jù)的清洗、加工、整理和轉(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)格式的數(shù)據(jù),最后裝載到框架數(shù)據(jù)庫中,提供給各行業(yè)部門應(yīng)用,以達到對多源異構(gòu)空間數(shù)據(jù)有效集成的目的。另外旨在實現(xiàn)對那些未及時更新到數(shù)據(jù)庫中的數(shù)據(jù)(即所謂的第三方數(shù)據(jù))進行入庫處理??紤]到抽取工具的應(yīng)用廣泛性,旨在能夠?qū)TL 數(shù)據(jù)抽取工具集成到不同的GIS 應(yīng)用平臺和操作系統(tǒng)中,實現(xiàn)ETL 數(shù)據(jù)抽取工具的科研價值和商業(yè)價值。
(1)在理論上,闡述了基于ETL 技術(shù)流程下,對基礎(chǔ)地理信息數(shù)據(jù)進行抽取、清洗、加工、整理及轉(zhuǎn)換,最后裝載到框架數(shù)據(jù)庫中的一套思路。在技術(shù)上,應(yīng)用Microsoft.NET 作為開發(fā)環(huán)境,C#作為主要開發(fā)語言,采用ESRI 的ArcEngine 作為GIS 平臺,采用ESRI 的ArcSDE 作為空間數(shù)據(jù)庫引擎,Oracle為后臺數(shù)據(jù)庫,開發(fā)一個主要用于空間數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的工具;
(2)空間數(shù)據(jù)的建模;
(3)以存儲在Oracle 數(shù)據(jù)庫中的Geodatabase 數(shù)據(jù)(GDB 格式)為源數(shù)據(jù),以Shapefile 格式、GDB 格式執(zhí)行抽取后的目標(biāo)數(shù)據(jù),進行試驗測試,并分析試驗結(jié)果。
主要是對ETL 工具的設(shè)計方案的考慮,可以借鑒工作流程的一些概念和思路。其系統(tǒng)技術(shù)流程如圖2 所示。
圖2 技術(shù)路線圖
系統(tǒng)總體架構(gòu)的設(shè)計旨在從訪問基礎(chǔ)地理信息數(shù)據(jù)庫,到數(shù)據(jù)的中間處理,再到目標(biāo)數(shù)據(jù)庫,按照ETL 的流程,這其中包括數(shù)據(jù)的抽取、清洗、加工、整理,再轉(zhuǎn)換為統(tǒng)一標(biāo)準(zhǔn)格式的數(shù)據(jù),最后裝載到目標(biāo)數(shù)據(jù)庫中,發(fā)布到地理信息公共服務(wù)平臺或直接應(yīng)用于各個專題業(yè)務(wù)部門。其系統(tǒng)總體架構(gòu)如圖3 所示。
圖3 系統(tǒng)總體架構(gòu)圖
系統(tǒng)實現(xiàn)步驟:
(1)首先通過連接數(shù)據(jù)庫,訪問到所需要操作的源數(shù)據(jù);
(2)按照應(yīng)用的需求,制定抽取規(guī)則,將全部數(shù)據(jù)或通過規(guī)則定義的數(shù)據(jù)抽取到“目標(biāo)數(shù)據(jù)庫”;
(3)考慮到這些數(shù)據(jù)的保密性因素,需要對所抽取的數(shù)據(jù)進行內(nèi)部處理,包括坐標(biāo)變換、涉密過濾、精度降低或平移拉伸等;
(4)對處理過的數(shù)據(jù)進行裝載入庫,形成專題數(shù)據(jù),以供各部門的使用。
達到的預(yù)期效果。主要包括空間數(shù)據(jù)的建模、數(shù)據(jù)庫連接、數(shù)據(jù)一鍵抽取、數(shù)據(jù)查詢抽取、數(shù)據(jù)轉(zhuǎn)換(坐標(biāo)轉(zhuǎn)換)、及數(shù)據(jù)的入庫(包括第三方數(shù)據(jù)的入庫)等功能模塊的設(shè)計與代碼實現(xiàn)。
筆者從理論上嘗試將ETL 技術(shù)和GIS 技術(shù)相結(jié)合,對基礎(chǔ)地理信息數(shù)據(jù)進行抽取、清洗、加工、整理及轉(zhuǎn)換,最后裝載到框架數(shù)據(jù)庫,從而更好地解決“信息孤島”的問題,實現(xiàn)空間數(shù)據(jù)的共享。