王 煜,黃先輝,張 軍
(贛西土木工程勘測設計院,江西 宜春 336000)
近年來,各種新的找礦技術不斷出現,激電測深作為一種高精度、高效率的探測技術在礦山勘查和研究中大顯身手,廣泛應用于礦產資源調查、水文地質勘測及工程施工中,特別是與GPS 以及各種傳感器的組合使其在測量質量和效率等方面顯示出極大的優越性。這就使得各種各樣的激電測深數據量急劇增長,數據種類趨于復雜[1,2]。這時,我們就遇到了一個問題:如此多樣的海量的探測數據,該怎樣去解讀它,處理它?現在分幾個方面來說明激電測深技術的特點。
數據是自然或社會現象的一種抽象反映形式,為了使數據能夠正確反映自然或社會現象,必須按照一定的方式將數據組織起來。某一特定的數據組織方式能夠反映某一特定的自然或社會現象,這種數據組織方式就稱為反映該種自然或社會現象的數據格式。這種數據格式在計算機中體現為某種特定文件的數據格式。各種繁繁復復的現象都可以通過設計合適的數據格式的文件在計算機中呈現出來。要想通過各種已知的數據來了解自然和社會現象,就必須首先弄清楚這些現象對應在計算機中文件的數據格式。
眾所周知,計算機中每一種文件都有特定的后綴名,以區別于其他文件。其實,每種文件的后綴名就對應著該文件的專有數據結構,計算機利用這種數據結構將抽象的二進制碼解譯成程序或人能夠識別的東西。許多數據文件,其存取是按照一定的形式進行的,一個完整的數據結構是一個數據單元,整個文件是由若干類結構重復的數據單元構成的。因此,文件的數據格式,是掌握該文件讀寫機制的關鍵。
掌握了文件的讀寫機制,即可據此編寫該文件的解譯代碼和有利于自己數據處理的代碼,這樣,數據編輯和處理都可以用自己熟悉的方式進行下去。而掌握了數據格式的關鍵,也為自己將處理好的數據以一定的格式輸出指明了方向。根據處理后數據的用途和存儲設備的容量,設計出合適的數據格式來進行數據輸出,可以緩解數據量龐大與存儲設備容量小的沖突。從事激電測深數據處理的專業技術人員掌握一些數據格式的基本知識對今后的工作很有意義。
激電測深數據文件是從一個頭結構開始的,頭結構主要包含測量系統數據基本信息、船參數信息和坐標系統信息等。接下來是船姿數據、聲納數據、測深數據、導航定位數據、波束旅行時數據及聲速剖面數據等。其數據存儲的格式均為二進制格式,雖然節約了存儲空間,卻為后繼的數據處理工作增加了難度。須將該種數據解析成ASCII碼數據才易為人們所用。下面討論激電測深數據格式的解析(以V8數據格式為例)。
該文件以一個長度為1024字節的頭結構作為文件的開始,其部分的二進制數據如下圖。為了節省空間,二進制文件均以十六進制形式顯示。這里我們能夠看到開始的第一個字節為0x7B,這是XTF文件的獨有標識,稱為V8文件的標識碼。頭結構里面還包含激電測深系統信息、設備安裝誤差信息和結構長度信息等等。圖1是V8頭結構部分原始二進制數據。

圖1 V8頭結構原始二進制數據
圖2是礦山激電測深的原始二進制數據,其標識碼為0xFACE03,結構長度為64字節。圖中第一行第11到第14字節所表示的數字0x00000040即是該結構的長度(64字節)。

圖2 姿態結構原始二進制數據

圖3 測深ping結構原始二進制數據
圖3為V8文件測深ping部分原始進制數據。0xFACE02是測深ping的標識碼。測深ping的結構比較特殊,它包含兩個下屬結構,一個是測深ping頭,長度256字節;另一個結構是原始測深數據結構,本例中其長度為384字節;其總長度已經給出,是0x00000280,化成十進制為640字節,正是上述兩結構長度之和。測深數據結構以0xFFFF為開始標志,包含了測深數據包的識別碼、單ping波束數、數據質量信息等等。

圖4 _raw.all格式開始結構原始二進制數據
_raw.all文件測深結構的標識碼是0x0244,包含測深ping的相關信息和一個深度結構數組,是數據處理的目標數據,相關部分二進制數據信息如圖5:

圖5 _raw.all格式測深結構原始二進制數據

圖6 激電測深V8測深數據部分處理結果
激電測深數據文件種類繁多,格式多樣,要對某種測深數據文件進行解析,必須獲得該文件正確的數據格式。這類文件數據格式往往是不公開的,需要通過各種途徑,利用各種手段去查找。一般而言,對應這種測深數據的處理軟件里面會有它的完整的數據格式,通過破譯該軟件代碼就能找到相關的文件格式信息。
根據已知的格式設計結構,通過對數據文件的打開操作和讀操作將數據讀進結構,然后利用數據類型轉換關系使讀出的數據轉換成可以為人所利用的數據[3]。
激電測深工作站存儲數據有時是按由高到低的方式進行的,而一般個人電腦存儲數據的順序遵循由低到高的低字節序規則;這有可能造成非字符型數據顛倒讀取問題,從而使0xFACE變成0xCEFA。需要在程序中對已經讀取的非字符型數據進行移位操作,以解決非字符型數據字節顛倒讀取的問題。相關部分代碼如下:

通過已掌握的數據結構讀取的數據是原始的測深數據,其中還含有測量粗差和一些無效數據,須通過程序篩選和過濾,利用統計學知識和相關的誤差理論進行處理。再根據數據間的幾何關系將初步編輯過的數據加工成容易利用的數據。如波束點的平面坐標要通過坐標平移、導航數據的內插和相應的坐標旋轉等公式推算出來;波束點的水深通過波束旅行時、波束角及聲速來算出。數據加工后,根據自己對數據后處理的需要,設計出合適的數據結構,進行文件的讀寫操作,從而獲得需要進行后處理的數據。圖6是對激電測深數據處理的部分結果。
本文通過對激電測深V8數據和_raw.all聲納數據的格式解析,探討了激電測深數據格式的一般特點和數據格式解析的大致流程,為礦山激電測深數據處理的后繼工作奠定了基礎。
[1]張黎.礦山電力保護裝置的數據處理與通信系統分析與實現[J].冶金叢刊,2017(7).
[2]梅金華,蘭建梅.錫礦山銻礦區地面變形監測點布置與數據分析[J].國土資源導刊,2016,13(2):36-39.
[3]梅金華,蘭建梅.錫礦山銻礦區地面變形監測點布置與數據分析[J].國土資源導刊,2016,13(2):36-39.