劉志杰,梁建峰
(1.中國(guó)海洋大學(xué) 青島市 266003;2.國(guó)家海洋信息中心 天津市 300171)
海洋底質(zhì)標(biāo)準(zhǔn)化處理系統(tǒng)設(shè)計(jì)與開發(fā)
劉志杰1,2,梁建峰2
(1.中國(guó)海洋大學(xué) 青島市 266003;2.國(guó)家海洋信息中心 天津市 300171)
介紹海洋底質(zhì)標(biāo)準(zhǔn)化處理系統(tǒng)的開發(fā)背景、總體結(jié)構(gòu)、功能及特點(diǎn)。該系統(tǒng)基于海洋底質(zhì)標(biāo)準(zhǔn)化數(shù)據(jù)記錄格式,解決了數(shù)據(jù)格式轉(zhuǎn)換繁瑣和不規(guī)范等問題,具有代碼及格式維護(hù)、轉(zhuǎn)換規(guī)則配置、數(shù)據(jù)格式轉(zhuǎn)換、文件瀏覽和錯(cuò)誤日志生成等功能,在實(shí)現(xiàn)人機(jī)交互和高度集成的基礎(chǔ)上,具有靈活性和可擴(kuò)展性。應(yīng)用結(jié)果表明,該系統(tǒng)操作簡(jiǎn)單、使用方便、運(yùn)行穩(wěn)定,是海洋底質(zhì)標(biāo)準(zhǔn)化處理的一種有效工具。
海洋底質(zhì) 標(biāo)準(zhǔn)化處理 系統(tǒng)設(shè)計(jì)
隨著我國(guó)“海洋開發(fā)戰(zhàn)略”的實(shí)施,海洋調(diào)查項(xiàng)目日益增多,海洋數(shù)據(jù)的積累呈加速態(tài)勢(shì),海洋底質(zhì)數(shù)據(jù)也不例外。如何實(shí)現(xiàn)大量不同時(shí)期、不同來源的數(shù)據(jù)統(tǒng)一和科學(xué)管理是資料管理工作者面臨的一個(gè)首要任務(wù)。為滿足數(shù)據(jù)整合需求,海洋數(shù)據(jù)標(biāo)準(zhǔn)化是實(shí)現(xiàn)數(shù)據(jù)科學(xué)管理的一個(gè)重要環(huán)節(jié)。海洋數(shù)據(jù)標(biāo)準(zhǔn)化處理就是指將海洋數(shù)據(jù)從多源、不同數(shù)據(jù)格式的文件通過格式變換、代碼轉(zhuǎn)換、字段添加、異常處理等操作轉(zhuǎn)變?yōu)榻y(tǒng)一、標(biāo)準(zhǔn)的數(shù)據(jù)文件的過程。
一直以來,底質(zhì)資料標(biāo)準(zhǔn)化處理缺乏規(guī)范的處理軟件。底質(zhì)分析數(shù)據(jù)類型眾多,包括沉積物粒度、碎屑礦物、沉積物化學(xué)成分和化學(xué)元素、工程物理力學(xué)性質(zhì)以及古生物等十多種數(shù)據(jù)類型[1]。然而,由于分析手段和測(cè)試方法的不同,即使同一類型數(shù)據(jù),不同單位匯交格式也不盡一致。因此,在進(jìn)行標(biāo)準(zhǔn)化處理之前,需要進(jìn)行預(yù)處理,將原始資料整理成格式相對(duì)固定或一致的格式,然后才能通過程序進(jìn)行判讀、轉(zhuǎn)換和數(shù)據(jù)庫(kù)的加載。資料整理過程繁雜、各程序模塊功能單一、相互獨(dú)立、缺乏系統(tǒng)性,因此,難以保證數(shù)據(jù)處理效率,數(shù)據(jù)格式變換易存在誤差隱患,難以滿足數(shù)據(jù)處理業(yè)務(wù)工作的需要。
隨著我國(guó)近海綜合調(diào)查與評(píng)價(jià)項(xiàng)目的開展,底質(zhì)調(diào)查數(shù)據(jù)作為一種重要的信息源,廣泛應(yīng)用于環(huán)境與資源評(píng)價(jià)和數(shù)字海洋建設(shè)中。為滿足不同形式格式的處理,保持?jǐn)?shù)據(jù)轉(zhuǎn)換最大限度的靈活,以海洋基礎(chǔ)數(shù)據(jù)庫(kù)平臺(tái)創(chuàng)建為契機(jī),在底質(zhì)標(biāo)準(zhǔn)數(shù)據(jù)格式基礎(chǔ)上,設(shè)計(jì)開發(fā)數(shù)據(jù)標(biāo)準(zhǔn)化處理系統(tǒng)是當(dāng)前業(yè)務(wù)工作所需。該系統(tǒng)為底質(zhì)數(shù)據(jù)標(biāo)準(zhǔn)化處理提供了一種快捷、方便的使用工具,從而使繁雜的數(shù)據(jù)整理工作得以簡(jiǎn)化,提高了數(shù)據(jù)處理的效率和標(biāo)準(zhǔn)化程度。
系統(tǒng)以Microsoft Visual Studio.NET 為開發(fā)平臺(tái),以面向?qū)ο蟪绦蛟O(shè)計(jì)語言 C# 和 XML作為開發(fā)工具[2,3]??傮w設(shè)計(jì)以需求為導(dǎo)向,采用構(gòu)件設(shè)計(jì)思想,實(shí)施“總體規(guī)劃、分模塊實(shí)施”的策略。通過轉(zhuǎn)換規(guī)則配置(字段自動(dòng)查找與匹配、站位匹配、代碼匹配與轉(zhuǎn)換)、數(shù)據(jù)格式轉(zhuǎn)換、錯(cuò)誤日志的生成、文件瀏覽等功能的開發(fā),實(shí)現(xiàn)系統(tǒng)的功能及性能需求,另外還需滿足系統(tǒng)更新和擴(kuò)展需要。為保證設(shè)計(jì)目標(biāo)的實(shí)現(xiàn),系統(tǒng)在設(shè)計(jì)和實(shí)施過程中主要遵循如下原則:
(1)一致性:在系統(tǒng)的設(shè)計(jì)和建設(shè)過程中,以現(xiàn)有的底質(zhì)標(biāo)準(zhǔn)數(shù)據(jù)記錄格式為設(shè)計(jì)基礎(chǔ),力求標(biāo)準(zhǔn)化、規(guī)范化和統(tǒng)一化。軟件應(yīng)具有統(tǒng)一的結(jié)構(gòu)化組織、界面風(fēng)格和操作模式,對(duì)變量的設(shè)置、模塊的調(diào)用塊間的相互關(guān)系等問題應(yīng)做出統(tǒng)一安排。
(2)擴(kuò)充性:采用面向?qū)ο蠛湍K化開發(fā)的設(shè)計(jì)思想,保證用戶的需求發(fā)生變化時(shí),使系統(tǒng)代碼和數(shù)據(jù)修改量減到最小。
(3)通用性:底質(zhì)數(shù)據(jù)標(biāo)準(zhǔn)化處理系統(tǒng)要處理多種類型底質(zhì)數(shù)據(jù),各不同類型數(shù)據(jù)均采用通用的處理模塊,且不受操作系統(tǒng)限制。
(4)實(shí)用性:系統(tǒng)設(shè)計(jì)充分考慮到海洋底質(zhì)數(shù)據(jù)標(biāo)準(zhǔn)化處理的實(shí)際需要,在設(shè)計(jì)中構(gòu)造靈活的體系結(jié)構(gòu),便于更改。軟件系統(tǒng)的人機(jī)交互界面友好、操作簡(jiǎn)便,能滿足使用者的要求;另一方面,盡可能將用戶所需要的操作包含在同一界面內(nèi)。
底質(zhì)數(shù)據(jù)標(biāo)準(zhǔn)化處理系統(tǒng)采用菜單操作和界面選擇結(jié)合方式,方便用戶的使用。主界面包括菜單區(qū)、目錄區(qū)、配置區(qū)、轉(zhuǎn)換規(guī)則區(qū)、文件瀏覽和錯(cuò)誤日志區(qū)(見圖 1 )。菜單區(qū)包括瀏覽源/目標(biāo)文件夾、標(biāo)準(zhǔn)格式維護(hù)、代碼表維護(hù)、站位信息瀏覽及目錄設(shè)置等功能。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖 2 所示。
圖1 底質(zhì)標(biāo)準(zhǔn)化處理系統(tǒng)主界面
系統(tǒng)維護(hù)功能包括標(biāo)準(zhǔn)記錄格式的維護(hù)和代碼表維護(hù)。標(biāo)準(zhǔn)數(shù)據(jù)文件是數(shù)據(jù)入庫(kù)的重要接口,為使數(shù)據(jù)庫(kù)查詢檢索方便和數(shù)據(jù)格式規(guī)范,對(duì)于一些公共信息,標(biāo)準(zhǔn)數(shù)據(jù)集中一般用代碼來替代字符。根據(jù)用戶的需要,標(biāo)準(zhǔn)數(shù)據(jù)記錄格式需要定期維護(hù)更新,比如字段長(zhǎng)度的增加,字段類型的添加等等,代碼也會(huì)不斷增加和完善。系統(tǒng)為標(biāo)準(zhǔn)數(shù)據(jù)記錄格式配置和代碼維護(hù)提供了接口,各類代碼通過 ACCESS 數(shù)據(jù)庫(kù)存儲(chǔ)管理,標(biāo)準(zhǔn)數(shù)據(jù)記錄格式通過 Excel 文件進(jìn)行維護(hù)。用戶可以根據(jù)實(shí)際需要增加、修改或刪除字段,無需修改程序代碼,增加了數(shù)據(jù)處理的靈活性。
圖2 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)配置功能主要包括系統(tǒng)目錄設(shè)置、表頭字段的配置、轉(zhuǎn)換規(guī)則設(shè)置和特殊轉(zhuǎn)換配置。系統(tǒng)配置的目的是快速完成標(biāo)準(zhǔn)數(shù)據(jù)格式的轉(zhuǎn)換。以往在資料處理過程中一般采用程序讀取源文件字段,然后將其轉(zhuǎn)換到標(biāo)準(zhǔn)格式中相應(yīng)的位置。由于源文件格式不統(tǒng)一,轉(zhuǎn)換程序也需要不斷調(diào)試修改,降低了工作效率。為解決這一問題,該軟件采用系統(tǒng)配置功能,通過人機(jī)交互方式讓源文件表頭字段自動(dòng)與標(biāo)準(zhǔn)格式字段查找匹配,根據(jù)匹配結(jié)果再進(jìn)行個(gè)別字段匹配修改。轉(zhuǎn)換規(guī)則的設(shè)置包括直接轉(zhuǎn)換、不轉(zhuǎn)換、代碼轉(zhuǎn)換和站位匹配 4 個(gè)規(guī)則,系統(tǒng)默認(rèn)為直接轉(zhuǎn)換,用戶可以根據(jù)字段格式的要求進(jìn)行選擇。此外,對(duì)于一些源文件中不包含的特殊字段,需要在處理過程中增加,也可以通過人機(jī)交互界面選擇的方式來完成。這樣可以減少對(duì)源文件處理的步驟,且轉(zhuǎn)換過程中不易造成字段的遺漏。
數(shù)據(jù)格式轉(zhuǎn)換功能是指對(duì)選定的源文件轉(zhuǎn)換為標(biāo)準(zhǔn)化文件。數(shù)據(jù)格式轉(zhuǎn)換是標(biāo)準(zhǔn)化處理的關(guān)鍵一步,就是根據(jù)標(biāo)準(zhǔn)格式設(shè)計(jì)將原來不規(guī)則的源文件格式轉(zhuǎn)成統(tǒng)一的、規(guī)范的文本文件的過程。處理程序功能實(shí)現(xiàn)主要步驟如下:用戶首先要從左側(cè)類型目錄區(qū)選擇所要處理的資料類型,然后設(shè)置源文件和轉(zhuǎn)換后文件存放路徑及文件名(轉(zhuǎn)換后的標(biāo)準(zhǔn)數(shù)據(jù)文件名會(huì)自動(dòng)記憶源文件名,僅后綴發(fā)生改變);讀取相應(yīng)數(shù)據(jù)標(biāo)準(zhǔn)記錄格式;根據(jù)字段配置,輸入特殊轉(zhuǎn)換規(guī)則;最后通過格式轉(zhuǎn)換命令完成格式轉(zhuǎn)換。
系統(tǒng)錯(cuò)誤提示功能可以隨時(shí)記錄數(shù)據(jù)處理過程中出現(xiàn)的一些錯(cuò)誤信息。源文件在錄入或處理過程中會(huì)不可避免地出現(xiàn)一些錯(cuò)誤,一般很難通過人工審查發(fā)現(xiàn)。出現(xiàn)的錯(cuò)誤類型主要包括字符串長(zhǎng)度越界、站位不匹配、代碼轉(zhuǎn)換不匹配、數(shù)值轉(zhuǎn)換異常等幾種。錯(cuò)誤日志可以將錯(cuò)誤的字段名稱、所在行號(hào)以及數(shù)值和錯(cuò)誤類型給出,方便用戶查找和修改,減少程序調(diào)試的麻煩。
文件瀏覽功能可快速地幫助用戶查看源文件及標(biāo)準(zhǔn)數(shù)據(jù)文件,無論文件存放在幾級(jí)目錄下,都能直接找到目標(biāo)文件。結(jié)合系統(tǒng)錯(cuò)誤提示功能,可以快速查找、處理錯(cuò)誤信息,方便對(duì)源文件的預(yù)處理。
底質(zhì)資料類型眾多,涉及沉積物粒度、碎屑礦物和化學(xué)成分等十多種數(shù)據(jù)類型,針對(duì)每一種數(shù)據(jù)類型進(jìn)行程序設(shè)計(jì)工作量龐大,且系統(tǒng)不夠優(yōu)化。考慮到底質(zhì)各類數(shù)據(jù)格式的共同特點(diǎn),采用高度的集成方式是系統(tǒng)開發(fā)的一大特點(diǎn)。源文件輸入、標(biāo)準(zhǔn)數(shù)據(jù)文件輸出、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)、各種要素字段的轉(zhuǎn)換、錯(cuò)誤日志的輸出和轉(zhuǎn)換規(guī)則的匹配都采用集成統(tǒng)一的程序模塊。
根據(jù)底質(zhì)源數(shù)據(jù)特點(diǎn),基于Excel 文件讀取數(shù)據(jù),是系統(tǒng)開發(fā)靈活性考慮的一個(gè)方面。用戶可以直接對(duì)Excel文件進(jìn)行操作,無需再將源文件轉(zhuǎn)換成文本格式后進(jìn)行處理,減少處理環(huán)節(jié),方便了用戶的使用。系統(tǒng)的配置功能也極大地增強(qiáng)了系統(tǒng)的靈活性,用戶可以通過數(shù)據(jù)表頭字段的自動(dòng)匹配,轉(zhuǎn)換規(guī)則設(shè)置和代碼自動(dòng)轉(zhuǎn)換來實(shí)現(xiàn)格式轉(zhuǎn)換過程,從而提高了數(shù)據(jù)處理的效率。此外系統(tǒng)還具有很強(qiáng)的可擴(kuò)展性,比如在調(diào)整字段個(gè)數(shù)、字段長(zhǎng)度或位置等標(biāo)準(zhǔn)數(shù)據(jù)記錄格式改變的情況下,僅需要調(diào)整標(biāo)準(zhǔn)數(shù)據(jù)記錄格式配置文件,無需對(duì)源程序進(jìn)行修改。
系統(tǒng)提供了友好的人機(jī)交互界面,改變過去傳統(tǒng)的后臺(tái)程序運(yùn)行的模式,極大地方便了用戶的使用。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)合理,操作流程簡(jiǎn)單,資料處理的整個(gè)過程都提供可視化的人機(jī)交換操作界面,并很好地解決了處理過程中的流程控制和異??刂啤?/p>
海洋底質(zhì)標(biāo)準(zhǔn)化處理系統(tǒng)基于海洋數(shù)據(jù)處理的業(yè)務(wù)工作實(shí)際需求設(shè)計(jì)開發(fā),解決了長(zhǎng)期以來的海洋底質(zhì)數(shù)據(jù)格式不規(guī)范的問題。系統(tǒng)根據(jù)海洋底質(zhì)標(biāo)準(zhǔn)數(shù)據(jù)記錄格式設(shè)計(jì),具有字段配置、轉(zhuǎn)換規(guī)則設(shè)置、代碼及格式維護(hù)、數(shù)據(jù)格式轉(zhuǎn)換、文件瀏覽和錯(cuò)誤提示功能。軟件系統(tǒng)高度的集成性、靈活性、適用性以及可視化人機(jī)交互的操作界面,使繁雜的數(shù)據(jù)處理過程變得簡(jiǎn)單易于操作,能夠快速、準(zhǔn)確完成底質(zhì)數(shù)據(jù)的標(biāo)準(zhǔn)化處理,應(yīng)用前景廣闊。經(jīng)測(cè)試和應(yīng)用檢驗(yàn)證明:軟件運(yùn)行穩(wěn)定、使用方便,提高了數(shù)據(jù)標(biāo)準(zhǔn)化處理效率和質(zhì)量。目前,該系統(tǒng)已應(yīng)用于海洋底質(zhì)數(shù)據(jù)標(biāo)準(zhǔn)化處理工作中。
[1]國(guó)家海洋局908辦公室. 海洋底質(zhì)調(diào)查技術(shù)規(guī)程[S].北京:海洋出版社,2006.
[2]Benny Johansen. Windows應(yīng)用程序高級(jí)編程——C#編程篇[M]. 北京:清華大學(xué)出版社,2003.
[3]Didier Martin. XML高級(jí)編程[M].北京:機(jī)械工業(yè)出版社,2001.
[4]高瑩,陸建華,狄建華.上海洋山港水文數(shù)據(jù)處理系統(tǒng)的建立[J]. 交通科技,2007(5):115-116.
2011年4月14日
國(guó)家海洋局908專項(xiàng)(18070609C)