汪升捷 楊帆 凡建林 姚輝
(浙江省測繪科學(xué)技術(shù)研究院 浙江杭州 310023)
測繪領(lǐng)域的日常工作中,充分利用已有資料,解決多種數(shù)據(jù)格式共享,經(jīng)常需要數(shù)據(jù)格式之間的轉(zhuǎn)換[1]。SHP 數(shù)據(jù)和MDB 數(shù)據(jù)是兩種非常常見的數(shù)據(jù)格式,如何實現(xiàn)數(shù)據(jù)格式按照既定要求快速轉(zhuǎn)換[2],是日常數(shù)據(jù)處理工作的中一部分,同時也決定著整個工程項目的質(zhì)量。因而,實現(xiàn)SHP 數(shù)據(jù)和MDB 數(shù)據(jù)庫轉(zhuǎn)換至關(guān)重要。
SHP 格式數(shù)據(jù)全稱shapefile,是一種基于ArcGIS 平臺的矢量數(shù)據(jù)文件,包含空間數(shù)據(jù)的幾何特征和屬性[3]。至少由shp、dbf 和shx 三個文件組成,分別用于存儲地理空間信息、屬性信息以及前兩者之間的關(guān)系索引,是GIS 中比較通用的一種數(shù)據(jù)格式。常用SHP 格式數(shù)據(jù)文件組成部分見圖1。
圖1 常用SHP 格式數(shù)據(jù)文件組成部分
當通過對數(shù)據(jù)的坐標系統(tǒng)定義后,會生成prj 文件存儲坐標系統(tǒng)信息。對SHP 數(shù)據(jù)進行瀏覽使用后,另外產(chǎn)生shp.xml、sbn、sbx 三種文件。其中shp.xml 文件是對元數(shù)據(jù)瀏覽后產(chǎn)生的元數(shù)據(jù)文件,sbn和sbx 文件則存儲空間索引,加速對空間數(shù)據(jù)的讀取。常用SHP 格式數(shù)據(jù)文件組成類型對照見表1。
SHP 數(shù)據(jù)文件大小限制在2GB 內(nèi)。數(shù)據(jù)字段屬性已設(shè)定的無法更改,字段間順序不能調(diào)整,只能調(diào)整顯示順序。
MDB 格式數(shù)據(jù)是ArcGIS 發(fā)展推出的一種基于RDBMS 存儲格式的Geodatabase 數(shù)據(jù)中的一類。因其存儲量小,存儲在Access 的MDB 上,且易于編輯,是目前中小型數(shù)據(jù)庫的主要選擇類型。在ArcGIS 中被劃分為PersonalGeodatabase,中文名為個人地理數(shù)據(jù)庫,MDB 格式可以通過Access 打開編輯。MDB 個人地理數(shù)據(jù)庫及系統(tǒng)文件組成見圖2。
表1 常用SHP 格式數(shù)據(jù)文件組成類型對照表
圖2 MDB 個人地理數(shù)據(jù)庫及系統(tǒng)文件組成
MDB 可以根據(jù)數(shù)據(jù)情況建立要素類數(shù)據(jù)或是要素集,在Access 打開編輯時顯示要素類對應(yīng)文件,在ArcGIS 軟件使用時,要素類和要素集則區(qū)分顯示[4]。MDB 數(shù)據(jù)文件大小限制在4GB 內(nèi)。數(shù)據(jù)字段可根據(jù)需求調(diào)整,字段順序可以通過Access 編輯調(diào)整。MDB 個人地理數(shù)據(jù)庫系統(tǒng)文件說明見表2。
表2 MDB 個人地理數(shù)據(jù)庫系統(tǒng)文件說明
通常情況下,對數(shù)據(jù)的處理主要分為SHP 轉(zhuǎn)換到SHP、SHP 轉(zhuǎn)換到MDB、MDB 轉(zhuǎn)換到SHP 以及MDB 轉(zhuǎn)換到MDB 四類。只針對數(shù)據(jù)的實用性及可操作性做一定要求,ArcGIS 軟件對應(yīng)的轉(zhuǎn)換工具進行批量轉(zhuǎn)換,能完全滿足這部分作業(yè)要求[5]。
除常規(guī)工作外,還存在數(shù)據(jù)轉(zhuǎn)換的前置設(shè)定要求,既對數(shù)據(jù)格式及屬性字段本身有明確的固定設(shè)定。此時再直接采用ArcGIS 軟件工具箱工具直接轉(zhuǎn)換,無法達到前置設(shè)定要求,需要有對應(yīng)方案進行處理[6]。
根據(jù)目前遇到情況并歸類后,主要分為固定格式的MDB 數(shù)據(jù)庫目標和固定格式的SHP 數(shù)據(jù)目標兩大類。
3.3.1 固定格式的MDB 數(shù)據(jù)庫目標
固定格式的MDB 數(shù)據(jù)庫目標可根據(jù)SHP 數(shù)據(jù)源的不同分為同類參數(shù)數(shù)據(jù)庫和非同類參數(shù)數(shù)據(jù)庫。同類參數(shù)數(shù)據(jù)庫指SHP 數(shù)據(jù)源的字段屬性設(shè)定包括字段順序等同目標數(shù)據(jù)庫一致。非同類參數(shù)數(shù)據(jù)庫指SHP 數(shù)據(jù)源的字段屬性設(shè)定或字段順序等同目標數(shù)據(jù)庫不一致。根據(jù)要求描述,有三種方案可以操作實現(xiàn)。
⑴方案一:先根據(jù)給定目標數(shù)據(jù)庫結(jié)構(gòu),人工建立數(shù)據(jù)庫,再將轉(zhuǎn)換后數(shù)據(jù)導(dǎo)入新建立的目標數(shù)據(jù)庫中。
⑵方案二:先利用ArcGIS 軟件對應(yīng)的轉(zhuǎn)換工具對數(shù)據(jù)進行轉(zhuǎn)換,再根據(jù)給定目標數(shù)據(jù)庫結(jié)構(gòu)對轉(zhuǎn)換后的數(shù)據(jù)存儲數(shù)據(jù)庫進行調(diào)整修正。
⑶方案三:先根據(jù)給定目標數(shù)據(jù)庫利用XML 工作空間文檔進行目標空數(shù)據(jù)庫的建立,再將轉(zhuǎn)換后數(shù)據(jù)導(dǎo)入新建立的目標空數(shù)據(jù)庫中。XML 數(shù)據(jù)導(dǎo)出對話框見圖3。具體步驟如下:
圖3 XML 數(shù)據(jù)導(dǎo)出對話框
①根據(jù)提供數(shù)據(jù)庫導(dǎo)出XML 工作空間文檔,結(jié)合數(shù)據(jù)實際情況,設(shè)定導(dǎo)出內(nèi)容和圖層;
②新建個人地理數(shù)據(jù)庫,將上一步導(dǎo)出的XML工作空間文檔導(dǎo)入,形成備用數(shù)據(jù)庫。此步驟能保持數(shù)據(jù)庫格式設(shè)定要求,且無需重新一一對應(yīng)建立;
③利用ArcGIS 軟件對應(yīng)的轉(zhuǎn)換工具進行數(shù)據(jù)轉(zhuǎn)換常規(guī)操作;
④將處理后數(shù)據(jù)加載至對應(yīng)圖層中,數(shù)據(jù)自動進行匹配工作。
如果給定目標數(shù)據(jù)庫本身為空數(shù)據(jù)庫,直接從步驟三開始操作。
(4)三方案比較
方案三相對于方案一,能減少人為錯誤及作業(yè)時間,提高作業(yè)效率;
方案三相對于方案二,能減少數(shù)據(jù)加載后屬性字段結(jié)構(gòu)、長度及順序等繁瑣的信息調(diào)整工作,避免調(diào)整操作中信息的丟失。固定格式的MDB 數(shù)據(jù)庫目標方案比較說明見表3。
表3 固定格式的MDB 數(shù)據(jù)庫目標方案比較說明
如果給定目標數(shù)據(jù)庫只有文字描述,并無數(shù)據(jù)庫形式,則方案三無法執(zhí)行。方案一適合字段結(jié)構(gòu)要求較少的數(shù)據(jù),方案二適合數(shù)據(jù)量較大的數(shù)據(jù)??删C合考慮,并在方案一或方案二中選擇。
3.3.2 固定格式的SHP 數(shù)據(jù)目標
因SHP 格式數(shù)據(jù)的特殊性,其字段信息甚至字段間的順序都不可更改。因此根據(jù)SHP 數(shù)據(jù)用途的不同,對其數(shù)據(jù)質(zhì)量要求也不同,而對應(yīng)采取的處理方式也會不同。
3.3.2.1 與給定目標完全一致
此類數(shù)據(jù)為高質(zhì)量數(shù)據(jù),主要是為以后數(shù)據(jù)建庫等工作使用,除屬性值保持一致外,其字段結(jié)構(gòu)及其屬性值必須保持嚴格一致。根據(jù)要求描述,主要有兩種方案可選擇。
⑴方案四
①現(xiàn)利用ArcGIS 軟件對應(yīng)的轉(zhuǎn)換工具對數(shù)據(jù)進行轉(zhuǎn)換;
②通過與目標格式的比對,對不一致字段之后的所有字段按照目標格式,按順序進行全部重新新建設(shè)置;③將屬性值賦予新建立的正確字段;
④剔除多余、錯誤字段,獲得與目標數(shù)據(jù)結(jié)構(gòu)完全一致成果。
⑵方案五
①SHP 目標格式數(shù)據(jù)清除,形成空數(shù)據(jù)文件,保留字段設(shè)定,SHP 數(shù)據(jù)數(shù)據(jù)清除見圖4;
②將數(shù)據(jù)導(dǎo)入至該空數(shù)據(jù)文件,形成自動匹配,獲得與目標數(shù)據(jù)結(jié)構(gòu)完全一致成果。
圖4 方案五SHP 數(shù)據(jù)數(shù)據(jù)清除
⑶兩方案比較
方案四適合字段結(jié)構(gòu)基本無變化的數(shù)據(jù)文件,方案五適合空間數(shù)據(jù)量較小數(shù)據(jù)文件。當數(shù)據(jù)量大且字段結(jié)構(gòu)變化較大時,需綜合考慮后選擇。固定格式的SHP 數(shù)據(jù)目標完全一致方案比較說明見表4。
表4 固定格式的SHP 數(shù)據(jù)目標完全一致方案比較說明
3.3.2.2 與給定目標基本一致
該類數(shù)據(jù)主要作為保持通用格式使用,其特點是除屬性值及字段順序保持一致外,字段結(jié)構(gòu)主要體現(xiàn)為雙精度、浮點型等類數(shù)據(jù)字段精度和小數(shù)位設(shè)置不一致。針對該要求數(shù)據(jù),目前也有兩種轉(zhuǎn)換方案。
(1)方案六:通過SHP 格式數(shù)據(jù)本身屬性表DBF 進行編輯,采用Microsoft Office Excel 97-2003版本編輯后順序可調(diào)整保持一致,但部分雙精度、浮點型類字段設(shè)定被自動定義;
(2)方案七:通過建立MDB 格式數(shù)據(jù),根據(jù)目標調(diào)整后,導(dǎo)出為SHP 數(shù)據(jù),因MDB 數(shù)據(jù)庫格式中對雙精度、浮點型等類字段的精度和小數(shù)無相關(guān)設(shè)定對話框,導(dǎo)出SHP 數(shù)據(jù)后,該部分字段屬性默認值為0。MDB 和SHP 雙精度字段數(shù)據(jù)類型比較見圖5。
圖5 MDB(右)和SHP(左)雙精度字段數(shù)據(jù)類型比較
(3)兩方案比較
通過作業(yè)比較,方案七比方案六處理更便捷,容易對數(shù)據(jù)進行把控,固定格式的SHP 數(shù)據(jù)目標基本一致方案比較說明見表5。
表5 固定格式的SHP 數(shù)據(jù)目標基本一致方案比較說明
通過固定格式的MDB 數(shù)據(jù)庫目標方案及固定格式的SHP 數(shù)據(jù)目標方案間各自的比較,發(fā)現(xiàn)在數(shù)據(jù)管理上MDB 數(shù)據(jù)庫相對于SHP 數(shù)據(jù)有較大優(yōu)勢。MDB 數(shù)據(jù)庫以數(shù)據(jù)庫的概念管理數(shù)據(jù),同時在ArcGIS 軟件中被劃定為個人地理數(shù)據(jù)庫,有其一定的靈活性和自由性。作為目前使用最廣的中小型數(shù)據(jù)庫載體,數(shù)據(jù)的處理與編輯體驗有較高舒適性,比較適合目前大部分GIS 企業(yè)的生產(chǎn)應(yīng)用模式。
SHP 格式數(shù)據(jù)作為通用格式數(shù)據(jù)得到廣泛使用,但同時存在數(shù)據(jù)管理修復(fù)或是數(shù)據(jù)整理上的缺陷,特別是字段等信息的修改處理上是一大難點。MDB 數(shù)據(jù)庫因結(jié)構(gòu)自身原因,無法與SHP 做到完美匹配對應(yīng),針對兩種格式的數(shù)據(jù)屬性特點,在不影響數(shù)據(jù)使用,滿足數(shù)據(jù)處理的最終要求的基礎(chǔ)上,建議可以考慮適當放寬特定需求,以換取作業(yè)效率。
在大數(shù)據(jù)時代下,數(shù)據(jù)庫的建立使用將會更加頻繁,數(shù)據(jù)的管理將更加有效靈活。以MDB 為存儲基礎(chǔ)的中小數(shù)據(jù)庫將會逐漸取代通用式、過程式的SHP 數(shù)據(jù)。