劉文龍 鄭智江 董運洪 許明元
(中國地震局第一監(jiān)測中心,天津 300180)
大面積區(qū)域水準資料綜合信息管理系統(tǒng)的設計與實現(xiàn)1
劉文龍 鄭智江 董運洪 許明元
(中國地震局第一監(jiān)測中心,天津 300180)
基于Oracle的區(qū)域水準數(shù)據(jù)庫并采用C/S結構(客戶機/服務器結構),本文設計和開發(fā)了基于該數(shù)據(jù)庫的信息管理軟件平臺。將大面積區(qū)域水準資料經過規(guī)范化整理及數(shù)據(jù)恢復處理后通過軟件導入數(shù)據(jù)庫,并通過數(shù)據(jù)檢索、瀏覽、編輯、備份、恢復等功能實現(xiàn)了對水準數(shù)據(jù)的有效管理。
區(qū)域水準 數(shù)據(jù)庫 管理系統(tǒng) 數(shù)據(jù)恢復
劉文龍,鄭智江,董運洪,許明元,2015.大面積區(qū)域水準資料綜合信息管理系統(tǒng)的設計與實現(xiàn).震災防御技術,10(4):996—1003. doi:10.11899/zzfy20150418
大面積區(qū)域水準觀測作為地震預測預報科學研究的一種重要手段,具有點網布設范圍廣且相對穩(wěn)定、觀測時間跨度長、觀測數(shù)據(jù)精度高、更新周期短等特點。如何對大面積區(qū)域水準數(shù)據(jù)進行有效管理是一個具有重要意義的課題。而當前工作人員仍延續(xù)了逐年累積紙質資料和光盤數(shù)據(jù)的傳統(tǒng)數(shù)據(jù)管理方式,該管理方式為中國地震局第一監(jiān)測中心保存了幾十年的水準觀測資料,這些資料充分完整,數(shù)據(jù)可查可讀,對大面積水準數(shù)據(jù)管理具有重要價值。但是隨著水準數(shù)據(jù)的逐年累加,長達幾十年的水準點之記、觀測文件、觀測成果以及儀器檢查等數(shù)據(jù)越來越顯得臃腫,并且由于水準資料數(shù)據(jù)量大、涉及的種類繁多、數(shù)據(jù)格式不規(guī)范等問題,使工作人員無法方便快速的查詢,這給平時資料管理工作帶來了很大的困難(鄭智江,2012)。在這種情況下,傳統(tǒng)數(shù)據(jù)管理方式已經不能滿足當前的業(yè)務需求,因此很有必要建設一個能對大面積區(qū)域水準資料進行規(guī)整入庫、數(shù)據(jù)信息瀏覽及快速查詢、提取的系統(tǒng),提高工作效率,減少工作失誤。本文開發(fā)的大面積區(qū)域水準資料綜合信息管理系統(tǒng),基于Oracle數(shù)據(jù)庫及C/S結構(客戶機/服務器結構)實現(xiàn)了對歷年水準數(shù)據(jù)的批量入庫、數(shù)據(jù)備份及轉移、數(shù)據(jù)查詢?yōu)g覽、數(shù)據(jù)輸出打印等功能,該系統(tǒng)的開發(fā)對大面積區(qū)域水準資料的管理運行、用戶使用具有重要意義。
1.1 數(shù)據(jù)庫設計
該系統(tǒng)數(shù)據(jù)庫由水準區(qū)域表、水準點表、水準測線表、水準測線節(jié)點表、水準儀和水準標尺表、水準儀器檢查表、水準標尺組合表、水準標尺檢查表、水準測段表、水準測段觀測表、水準測段成果表11個表組成。數(shù)據(jù)庫邏輯關系如圖1所示。

圖1 數(shù)據(jù)庫E-R圖Fig.1 E-R diagram of the database
11個表的定義如下:
(1)水準大區(qū)域表:水準大區(qū)域名稱、位置、形狀等特性定義。一個區(qū)域分劃一條記錄。
(2)水準點表:水準點屬性定義,可生成點之記。一個水準點一條記錄。
(3)水準測線表:水準測線名稱、位置、形狀等特性定義。水準測線必定屬于某一水準區(qū)域(不跨越區(qū)域),一條測線一條記錄。
(4)水準點測線節(jié)點表:①定義所有的水準點在測線上的順序號;②定義節(jié)點。節(jié)點指屬于兩條水準測線以上共有的水準點。同時定義水準點在各個水準線上的順序號。一個測線中水準點對應一條記錄。
(5)水準測段表:測段是指兩個相鄰水準點間的部分。定義測段名稱、起始點、啟用廢止年月等。如水準點被破壞或更新,則需重新創(chuàng)建測段。一個水準測段一條記錄。
(6)水準測段觀測表:水準測段實測數(shù)據(jù)記錄(包含未合限的測段記錄),一個水準單程觀測數(shù)據(jù)一條記錄。
(7)水準測段成果表:本表為水準實測測段最終成果記錄表,以任務為單位編制(可代替高差表),一次任務一個測段結果一條記錄。
(8)水準儀器及標尺主表:記錄水準儀器和標尺基本信息,一臺儀器或標尺一條記錄。
(9)水準儀器檢查表:記錄水準儀器檢查信息,一臺儀器一次檢查一條記錄。
(10)水準標尺組合主表:記錄一對水準標尺組合信息。一對標尺組合一條記錄。
(11)水準標尺檢查表:記錄水準儀標尺組合檢查信息,一對標尺組合一次檢查一條記錄。
在數(shù)據(jù)庫的建設中,以《中華人民共和國行政區(qū)劃代碼》、《地震測項分類與代碼》、《地震數(shù)據(jù)分類與代碼第2部分:觀測數(shù)據(jù)》、《地震觀測儀器分類與代碼》為依據(jù),按照專業(yè)性、可操作性等原則,對涉及的測區(qū)、水準點、測線、測段、測點、儀器及組合等所屬數(shù)據(jù)進行編碼。數(shù)據(jù)編號具有唯一、簡潔合理、規(guī)范等特點。
1.2 數(shù)據(jù)規(guī)范化整理
該系統(tǒng)需要整理的數(shù)據(jù)為1995—2010年水準點之記、高差表、觀測文件、儀檢文件等,由于時間跨度廣、數(shù)據(jù)量大、數(shù)據(jù)邏輯關系錯綜復雜,并且受觀測儀器、觀測手段、數(shù)據(jù)處理手段等影響,數(shù)據(jù)載體形式不統(tǒng)一(紙質、圖片、Excel、Word等),有的甚至存在少量隱蔽錯誤。因此,在數(shù)據(jù)批量入庫前,必須對數(shù)據(jù)格式進行規(guī)范,對數(shù)據(jù)資料進行整理,形成準確無誤、邏輯關系清晰、格式統(tǒng)一的數(shù)據(jù)。此項工作量龐大而復雜,是該系統(tǒng)建設中最為費時費力的工作。
經過近6個月的時間,共完成1995—2010年8080個水準點,824條測線,543個測線節(jié)點,14428條測段及對應測段觀測信息和成果信息,以及90條儀器及標尺信息的統(tǒng)計整理工作。數(shù)據(jù)整理難點及處理方法如下:
(1)水準點坐標信息缺失及錯誤。當水準點之記信息不完整且存在信息錯誤時,必須開展水準點的信息恢復補救工作。本文采用ArcGIS軟件,將具有經緯度信息的水準點以測線形式展布到地圖中,如果一條測線中存在經緯度不準確或者缺失的水準點,該點在地圖上將以“跳點”或缺失的形式顯示,通過上下點的經緯度可插值得到該點概略經緯度,最后將整條測線的水準點屬性表導出即可。
(2)水準大區(qū)域與測線從屬關系的確定。同樣用ArcGIS軟件將測線要素和水準大區(qū)域要素展布到地圖中,對水準測線和水準區(qū)域數(shù)據(jù)進行疊加分析,通過測線與面狀區(qū)域的位置關系確定測線所屬的水準大區(qū)域,將區(qū)域名稱編輯到測線屬性表中,最后將屬性表導出,即可獲得帶有“水準區(qū)域”字段的測線數(shù)據(jù),如圖2所示。
1.3 系統(tǒng)設計和實現(xiàn)
該系統(tǒng)采用微軟C#語言在.NET2010平臺下,結合Devexpress輔助設計工具對軟件進行設計和開發(fā),在體系結構設計上采用C/S模式。系統(tǒng)由五大功能模塊組成:
(1)數(shù)據(jù)管理模塊。該模塊是數(shù)據(jù)的安全性和數(shù)據(jù)庫的管理模塊,實現(xiàn)了數(shù)據(jù)庫的備份和恢復,數(shù)據(jù)庫從一個平臺到另一個平臺的轉移,以及操作日志查看等功能。
(2)數(shù)據(jù)瀏覽模塊。該模塊包括在Gridview數(shù)據(jù)表瀏覽查看數(shù)據(jù)記錄,在圖片瀏覽器中瀏覽圖片、文本瀏覽器查看文本文件、文檔瀏覽器查看Word及Excel文件等一系列數(shù)據(jù)瀏覽操作。其中在數(shù)據(jù)記錄中如果存在字段信息缺失的情況,該字段將以高亮的方式提示用戶,具體如圖3所示。
(3)數(shù)據(jù)操作模塊。數(shù)據(jù)的刪除、修改、查詢功能將在此模塊中實現(xiàn)。其主要包括:記錄刪除、文字信息的編輯、圖片及文檔信息的編輯,具體如圖4所示。用戶常用的查詢檢索功能可在此模塊中實現(xiàn),同時用戶也可使用高級查詢功能自己編寫查詢腳本檢索,以及通過Gridview的Filter Editor對話框查詢檢索興趣記錄,具體如圖5所示。

圖2 水準測線與測區(qū)疊加示意圖Fig.2 Illustration of overlying level line with level area

圖3 數(shù)據(jù)瀏覽Fig.3 Data browsing

圖4 數(shù)據(jù)編輯Fig.4 Data editing

圖5 數(shù)據(jù)檢索Fig.5 Data searching
(4)數(shù)據(jù)導入導出模塊。數(shù)據(jù)智能批量導入功能是該系統(tǒng)的核心也是亮點,在保證數(shù)據(jù)邏輯關系準確的同時高效地將數(shù)據(jù)批量入庫,其中涉及到相關數(shù)據(jù)表的遍歷,區(qū)位碼解譯,水準點自動添加,相似水準點智能匹配等。導出功能可以將數(shù)據(jù)庫中的數(shù)據(jù)按照用戶自定義的格式導成Excel報表,具體如圖6所示。

圖6 數(shù)據(jù)導入和導出Fig.6 Data importing and exporting
(5)系統(tǒng)管理模塊。系統(tǒng)管理模塊可以方便用戶熟悉和使用該軟件,其主要包括:系統(tǒng)幫助、版權信息、界面風格調整,以及常用的最大化、最小化和退出功能等。
1.4 系統(tǒng)關鍵技術
該系統(tǒng)需要解決的關鍵技術主要有:批量數(shù)據(jù)智能入庫和區(qū)位碼解譯。
(1)批量數(shù)據(jù)智能入庫。各類數(shù)據(jù)之間在邏輯上是相互關聯(lián)的,在入庫之前必須充分考慮各類數(shù)據(jù)之間的邏輯關系,不能簡單孤立的入庫。例如:測段觀測數(shù)據(jù)入庫時必須保證對應該測段記錄的存在,而測段又依托于測線和水準點,因此在觀測信息入庫時系統(tǒng)需要依次查詢水準點表、水準測線表和水準測段表,當三個條件同時具備時,測段觀測數(shù)據(jù)才能寫入數(shù)據(jù)庫。在數(shù)據(jù)入庫過程中,如果系統(tǒng)檢索不到對應水準點的信息,系統(tǒng)將自動查詢與該水準點名稱相似的水準點記錄,并將查詢結果放入列表框中,用戶可自行選擇是否替換。若選擇否,說明該水準點不存在,系統(tǒng)將從觀測文件中自動提取并整合有限的水準點信息將其入庫。具體流程如圖7所示。
(2)區(qū)位碼解譯。2000年前的水準觀測文件中水準點漢字的表達方式為區(qū)位碼。區(qū)位碼是我國漢字的代碼,其唯一參考標準為《信息交換用漢字編碼字符集》基本集,這個字符集是我國中文信息處理技術的發(fā)展基礎,也是目前國內所有漢字系統(tǒng)的統(tǒng)一標準。在.net中能使用system.text來處理所有語言的編碼。在system.text命名空間中包含眾多編碼的類,可供操作及轉換。具體方法如下:
①計算漢字的區(qū)碼和位碼:


②區(qū)碼位碼轉換為byte[]類型:

③system.text解碼:


圖7 觀測數(shù)據(jù)入庫流程圖Fig.7 Flow chart for observation data storage
大面積區(qū)域水準資料綜合信息管理系統(tǒng)較傳統(tǒng)數(shù)據(jù)管理方式具有以下優(yōu)勢:
(1)采用關系型數(shù)據(jù)庫建立了數(shù)據(jù)之間的邏輯關系,較之傳統(tǒng)數(shù)據(jù)相互獨立的存儲方式,關系型數(shù)據(jù)存儲方式更為科學,對數(shù)據(jù)的完整性更具約束力。
(2)數(shù)據(jù)瀏覽和查詢更為清晰快捷。系統(tǒng)數(shù)據(jù)顯示區(qū)不但可以查看數(shù)據(jù)文字記錄,還可以瀏覽數(shù)據(jù)庫中的流文件(圖片、txt文本、word文檔、Excel文檔等)。同時,系統(tǒng)還提供了數(shù)據(jù)快速查詢模塊,可方便用戶更精準定位到自己所需數(shù)據(jù)。另外,清晰的數(shù)據(jù)瀏覽模塊和快速的查詢方式把工作人員從海量紙質數(shù)據(jù)的查閱工作中解脫出來,大大提高了數(shù)據(jù)檢索效率,這是傳統(tǒng)數(shù)據(jù)管理方式下所做不到的。
(3)提高了數(shù)據(jù)存儲效率。在傳統(tǒng)工作模式下,由于數(shù)據(jù)規(guī)范無明確定義,數(shù)據(jù)質量的好壞甚至由工作人員憑經驗判斷,由于人與人之間存在認知差異和不可避免的失誤,導致數(shù)據(jù)需經過幾輪反復修改才可以存儲備案。而大面積區(qū)域水準資料綜合信息管理系統(tǒng)建立了數(shù)據(jù)入庫規(guī)范,開發(fā)了人機交互的數(shù)據(jù)存儲模式,較之傳統(tǒng)的數(shù)據(jù)存儲方式,能夠阻斷工作人員在數(shù)據(jù)交換時產生的錯誤,大大降低了工作人員的失誤機率,使得數(shù)據(jù)存儲速度更快,準確性更高。
(4)數(shù)據(jù)導出更加安全。在傳統(tǒng)管理方式下,由于數(shù)據(jù)資料介質為紙質及光盤,資料無法進行電子備份,因此數(shù)據(jù)在借出過程中若發(fā)生丟失或損壞情況,會造成數(shù)據(jù)的永久性破壞,同時數(shù)據(jù)的借出及歸還也存在安全隱患。而系統(tǒng)的導出功能從根本上解決了這個問題,工作人員只需將感興趣的數(shù)據(jù)利用系統(tǒng)導出報表功能生成Excel格式報表即可,數(shù)據(jù)庫中原始數(shù)據(jù)不會發(fā)生變動。
綜上所述,大面積區(qū)域水準資料綜合信息管理系統(tǒng)的設計和開發(fā),建立了數(shù)據(jù)之間的邏輯關系,提高了數(shù)據(jù)檢索和存儲效率,具有較強的適用性和可操作性,該系統(tǒng)的研發(fā)成功可有效提高大面積區(qū)域水準資料管理服務的保障能力。同時,為了使系統(tǒng)發(fā)揮應有的作用,針對用戶在使用過程中反饋的問題和意見,還需對系統(tǒng)進行必要的升級和維護。
鄭智江,2012.陸態(tài)網絡資料綜合信息管理系統(tǒng)的開發(fā).大地測量與地球動力學,32(增刊):61—63.
Design and Development of Management System for Large Area Leveling Data
Liu Wenlong, Zheng Zhijiang, Dong Yunhong and Xu Mingyuan
(First Crust Deformation Monitoring and Application Center, CEA, Tianjin 300180, China)
Based the C/S (client/server) mode on Oracle, we have designed and constructed the regional database management system for large area leveling data. After standardization and recovery the large area leveling data was imported into the system. And then the system can manage the data effectively by using data searching, data browsing, data backup and data recovery.
Regional leveling; Database; Management system; Data recovery
中國地震局第一監(jiān)測中心科技創(chuàng)新主任基金(FMC2014007)和地震行業(yè)科研專項(201308009)共同資助
2015-02-03
劉文龍,男,生于1987年。碩士。主要從事地圖學與地理信息系統(tǒng)方面的研究。E-mall:liuwenlon1987@126.com