一種利用塊狀編碼方式壓縮面元網格屬性數據方法
【技術領域】
[0001]本發明屬于地震勘探與開發領域,具體涉及一種利用塊狀編碼方式壓縮面元網格屬性數據方法。
【背景技術】
[0002]在石油地震勘探階段需要提前設計炮檢點布設位置以及炮檢點關系。三維觀測系統設計能夠幫助設計人員在施工前根據用戶的需求進行室內分析和理論設計,根據用戶給定的地質目標成像面積、覆蓋次數及工區實際情況設計合理經濟的觀測系統和布設方案。其中面元屬性分析在三維觀測系統設計中起著非常重要的作用,它能提供設計人員快捷直觀的工區覆蓋次數、炮檢距及方位角的統計圖。隨著三維地震勘探技術的逐步發展,近些年高精度、高密度的觀測系統設計越來越多,這使得在進行三維觀測系統面元屬性分析結果數據量變得非常大,傳統的手段無法快速有效統計分析這些面元屬性分析結果,從而導致計算機系統資源消耗過大、等待時間較長等問題。
【發明內容】
[0003]本發明的目的在于解決上述現有技術中存在的難題,提供一種利用塊狀編碼方式壓縮面元網格屬性數據方法,利用塊狀編碼方法壓縮CMP屬性分析數據進行壓縮處理,提高對大工區三維觀測系統設計分析結果的讀取效率,大大降低數據冗余,減少使用者等待時間。
[0004]本發明是通過以下技術方案實現的:
[0005]一種利用塊狀編碼方式壓縮面元網格屬性數據方法,所述方法包括:
[0006](I)建立觀測系統的面元網格矩陣結構,包括矩陣頭和矩陣體兩部分:
[0007]矩陣頭中定義了面元網格起始點坐標、inline方向間距及個數、χ-line方向間距及個數、方向角信息;
[0008]矩陣體是按inline及χ-line方向分別記錄的覆蓋次數數字陣列,其結構為二維數組,其每個元素即為覆蓋次數值;
[0009](2)利用行程編碼方式對所述面元網格矩陣中每一條面元線覆蓋次數屬性進行編碼,依次記錄下覆蓋次數值及該值的重復個數;
[0010](3)在對面元網格矩陣中每條面元線編碼的基礎上,沿X-line方向對面元線編碼進行二次塊狀編碼,依次記錄下具有相同覆蓋次數值的面元網格矩陣行號、列號、區域半徑和覆蓋次數值。
[0011]所述步驟(2)是這樣實現的:
[0012]遍歷每一行的面元覆蓋次數值,令行號等于i,0 < i < n,n為面元網格矩陣行數;
[0013]然后取每一列的值進行判斷,判斷其是否與相鄰的覆蓋次數值相等,如果相等,則累加重復次數并繼續遍歷下一列的數值,如果不相等,則記錄下行號、列號、重復次數和覆蓋次數值。
[0014]所述步驟(3)是這樣實現的:
[0015]將第i行編碼數據讀取到內存緩沖區中,然后將i累加并判斷第i行的編碼數據與相鄰行數據是否分布一致,直至遍歷到分布不一致的行時,記錄下具有相同覆蓋次數值的面元網格矩陣行號、列號、區域半徑、覆蓋次數值;
[0016]所述區域半徑代表行數和列數,其中行數為相鄰行中數據分布一致的總的行數,列數為步驟(2)中所述的重復個數,即相鄰列數。
[0017]與現有技術相比,本發明的有益效果是:
[0018](1)本發明利用行程編碼方式對面元網格矩陣中每一條面元線覆蓋次數屬性進行編碼,大大減低一條面元線屬性數據存儲所需的空間;
[0019](2)本發明創新性地實現面元網格矩陣沿x-line方向二次塊狀編碼,使得整個面元網格矩陣數據被進一步的壓縮,從而節約了系統資源;
[0020](3)本發明創新性地對無損壓縮后的面元屬性數據進行解碼,實現對三維工區的覆蓋次數圖的快速屏幕繪制。
【附圖說明】
[0021 ] 圖1是彳丁程編碼意圖。
[0022]圖2是塊狀二次編碼示意圖。
[0023]圖3是編碼前數據。
[0024]圖4是編碼壓縮后數據。
[0025]圖5是本方法的步驟框圖。
【具體實施方式】
[0026]下面結合附圖對本發明作進一步詳細描述:
[0027]本發明提供了一種利用塊狀編碼方式壓縮面元網格屬性數據方法,屬于石油地震勘探與開發領域。方法包括:
[0028](1)建立觀測系統面元網格矩陣結構,包括矩陣頭和矩陣體兩部分。
[0029]矩陣頭中定義了面元網格起始點坐標、inline(沿測線)方向間距及個數、x-line(垂直測線)方向間距及個數、方向角信息;
[0030]矩陣體是按inline及χ-line方向分別記錄的覆蓋次數數字陣列(結構為二維數組,數組每個元素即為覆蓋次數值);
[0031](2)利用行程編碼方式(僅存儲一個像素值以及具有相同顏色的像素數目的圖象數據編碼方式稱為行程編碼)對面元網格矩陣中每一條面元線覆蓋次數屬性進行編碼,依次記錄下覆蓋次數值及該值重復個數(“覆蓋次數值”為屬性,“重復個數”為編碼過程中產生的數據);
[0032](3)在對面元網格矩陣中每條面元線編碼的基礎上,沿x-line方向對面元線編碼進行二次塊狀編碼,依次記錄下具有相同覆蓋次數值的面元網格矩陣行號、列號、區域半徑信息;
[0033](4)在對面元覆蓋次數進行數據讀取訪問時,通過塊狀編碼結構體對數據進行解碼,并具有相同覆蓋次數值的塊狀數據進行屏幕繪制。
[0034]如圖5所示,本發明的一個實施例如下:
[0035](I)建立觀測系統面元網格矩陣結構,包括矩陣頭和矩陣體兩部分。矩陣頭中定義了面元網格起始點坐標、inline方向間距及個數、χ-line方向間距及個數、方向角等信息。矩陣體是按inline及χ-line方向分布記錄的覆蓋次數數字陣列;
[0036]在觀測系統中橫向與縱向打上固定寬度與高度的面元網格后,通過計算觀測系統中所有炮檢點連線的中點所落在面元網格中的位置坐標統計結果數據(“inline方向間距及個數、x-line方向間距及個數”中的的“個數”是指面元網格在兩個方向上的數量,“間距”是指面元網格的寬度和高度,如圖2中所示每一個填充數值網格矩形的寬度和高度;),為了有效的管理這