程 璐
(西南科技大學環(huán)境與資源學院,四川綿陽621010)
GIS的數(shù)據源,是指建立的地理數(shù)據庫所需的各種數(shù)據的來源[1]。數(shù)據源是GIS的重要組成部分[2],數(shù)據源的完整性也影響著GIS系統(tǒng)的應用,完備的數(shù)據源是進行GIS應用和分析的基礎[3]。然而,由于人為的誤操作往往會導致GIS工作空間圖層數(shù)據的無效,這會給GIS系統(tǒng)的應用帶來不便。在Arc GISDesktop中也有數(shù)據源的單個或多個設置,比如設置多個數(shù)據源時,用戶只需在ArcCatalog(地理數(shù)據的資源管理器,用戶通過ArcCatalog來組織、管理和創(chuàng)建GIS數(shù)據)中基于地圖文檔批量設置數(shù)據源。但是此種方法沒有考慮到數(shù)據源的多元存儲方式。在GIS工作空間中,如果數(shù)據不大而且數(shù)據來自同一個文件或者數(shù)據庫,則很方便處理。但是,隨著GIS技術的發(fā)展,其在很多領域都到了廣泛的運用,而海量的數(shù)據則是其“血液”,而如此龐大的數(shù)據可能來自不同的數(shù)據文件或數(shù)據庫存儲。如果像Arc GIS Desktop,在批量處理時,只是逐一地輸入數(shù)據源存儲路徑,則效率非常低。
因此,系統(tǒng)以Visual C#2010 C#為開發(fā)環(huán)境、采用ArcEngine集成技術,開發(fā)出了區(qū)別于Arc GIS Desktop的數(shù)據源設置的數(shù)據源更新系統(tǒng),能夠批量地、高效地更新GIS工作空間中無效的圖層數(shù)據。
圖1 第一次更新結果顯示
圖2 更新結果顯示
本系統(tǒng)在數(shù)據源的設置上,主要選擇了 shapefile、Raster文件格式數(shù)據,MDB數(shù)據庫、GDB數(shù)據庫和Arc SDE數(shù)據庫。是因為這些數(shù)據文件及數(shù)據庫是GIS中比較常用的,且各自都有自己的優(yōu)勢。
Shapefile是一種基于文件方式存儲GIS數(shù)據的文件格式,是GIS中比較通用的一種數(shù)據格式。Raster數(shù)據格式,如遙感影像數(shù)據中的DEM數(shù)據也是GIS中的一個極其重要的信息源。Geodatabase是一種基于RDBMS存儲的數(shù)據格式,其中有兩大類:一是PersonalGeodatabse用來存儲小數(shù)據量數(shù)據;另一種是FileGeodatabse也是用來存儲小數(shù)據量數(shù)據,不過存儲于文件中,文件大小沒有限制。ArcSDEGeodatabse存儲大型數(shù)據,存儲在大型數(shù)據庫中Oracle,SqlServer,DB2等,可以實現(xiàn)并發(fā)操作。
本系統(tǒng)的開發(fā)目標是以一種簡單友好的方式方便用戶批量設置數(shù)據源,所以采用ArcEngine集成技術開發(fā)有針對性的軟件,用戶只需簡單地添加存在數(shù)據無效的地圖文檔和設置各種數(shù)據源,便可以批量地處理。(1)基本功能。主要是打開地圖文檔時,顯示所在路徑,方便用戶尋找;在設置數(shù)據源中,顯示數(shù)據源存儲路徑,為數(shù)據源的更新奠定基礎;在地圖顯示模塊中,以便用戶及時查看數(shù)據更新的情況。(2)設置數(shù)據源。其主要是添加Shape文件、Raster文件、MDB數(shù)據庫,GDB數(shù)據庫及ArcSDE數(shù)據庫多元化地理數(shù)據,同時可顯示每個數(shù)據源的具體數(shù)據情況。(3)更新數(shù)據源。數(shù)據源的更新是整個模塊的重點,在每次更新過程中,都會實時顯示數(shù)據的更新情況。比如數(shù)據是否更新成功,更新后數(shù)據的類型和存儲情況。
在數(shù)據源更新之前,用戶打開地圖文檔,若發(fā)現(xiàn)整個工作空間只有有限個圖層數(shù)據有效,用戶需要對整個地圖文檔的數(shù)據圖層進行更新,打開系統(tǒng)的界面,針對地圖文檔中無效的圖層數(shù)據,添加數(shù)據源完成數(shù)據的第一次更新(如圖1)。從更新結果可以看出,地圖文檔中已經存在的數(shù)據圖層,結果顯示“不變”;從添加的數(shù)據源中,部分數(shù)據更新“成功”,呈綠色字體;然而更新“失敗”的呈紅色字體。針對未更新成功的數(shù)據,繼續(xù)添加其它的數(shù)據源,最后我們再重新更新一次并保存更新后地圖數(shù)據(如圖2)。至此,地圖文檔的所有無效數(shù)據更新完成。
本文利用Arc Engine組件和VS2010開發(fā)工具,設計了區(qū)別于ArcGISDesktop的數(shù)據源設置的數(shù)據源更新系統(tǒng),有效地實現(xiàn)了多元化數(shù)據存儲方式的數(shù)據源批量更新。整個系統(tǒng)功能操作簡單,實現(xiàn)了打開需要更新的地圖文檔、添加不同數(shù)據源、數(shù)據源更新、實時查看地圖文的數(shù)據更新狀況等功能,以簡潔且友好的界面幫助用戶批量處理無效圖層數(shù)據。
參考文獻:
[1]湯國安,劉學軍,閭國年,盛業(yè)華,等.地理信息系統(tǒng)教程[M].北京:高等教育出版社,2007.
[2]陳述彭,魯學軍,周成虎.地理信息導論[M].北京:科學出版社,2000.
[3]胡鵬,黃杏元,華一新.地理信息教程[M].武漢:武漢大學出版社,2002.