梁建,宋平艦,2,崔廷偉,任廣波,趙文靜
(1.國家海洋局第一海洋研究所,山東 青島 266061;2.海洋環境科學和數值模擬國家海洋局重點實驗室,山東 青島 266061)
HY-1B CZI海岸帶動態監測系統設計與實現
梁建1,宋平艦1,2,崔廷偉1,任廣波1,趙文靜1
(1.國家海洋局第一海洋研究所,山東 青島 266061;2.海洋環境科學和數值模擬國家海洋局重點實驗室,山東 青島 266061)
HY-1B衛星是我國第二顆自主海洋衛星,針對其搭載的4波段海岸帶成像儀(CZI)獲取的數據,設計并基于IDL語言開發了一個專用的可視化數據處理與應用系統。該系統以黃河口為重點研究區域,對部分算法進行了優化和適應性改造,具備HY-1B CZI數據導入、預處理、海岸帶動態監測產品制作、產品輸出、數據批處理等功能,并能夠進行數據可視化和交互操作。該系統現已在國家衛星海洋應用中心(NSOAS)投入應用示范運行,為我國海岸帶動態監測提供應用產品。本文論述了該系統的設計與實現。
HY-1B衛星;CZI;海岸帶監測;IDL
Abstract:HY-1B satellite is the second marine satellite developed and launched in China.This paper designed and developed a visualization data processing and application system using IDL language.The system was special for the 4-band Coastal Zone Imager (CZI), with which the HY-1B satellite was equipped.The system chose the Yellow River Estuary as the study area and made some optimization and adaptation on some algorithms.It can perform the following functions: HY-1B CZI data import, preprocessing, production making for coastal zone dynamic monitoring, production output, batch data processing and so on.It was also capable of data visualization and interaction.The system has been demonstratedly applied in NSOAS for demonstration, and provided application productions so as to serve the coastal zone dynamic monitoring.This paper discusses the design and implementation of the system.
Keywords:HY-1B Satellite; CZI; Coastal Zone Monitoring; IDL
HY-1B衛星是我國第一顆海洋衛星HY-1A衛星的后續星,搭載了空間分辨率為 250m的4波段海岸帶成像儀(以下稱CZI),可以獲得海陸相互作用區域的圖像。4波段設置考慮了海洋和陸地兼顧的原則,主要應用于海岸帶動態監測。因此,利用HY-1B CZI 數據動態監測我國海岸帶地區是一種有效而經濟的手段。但是,HY-1B CZI數據的推廣應用卻面臨兩個主要問題:首先,現有的通用遙感處理平臺如ENVI、ERDAS等,在HY-1B CZI數據處理及應用方面缺乏有效支持,表現為數據格式兼容性不足和應用模型的匱乏;其次,HY-1B CZI傳感器相較于早期的 HY-1A CCD,無論是在通道設置,性能指標,還是應用目標,甚至數據格式等方面,都有很大不同。因此,前期為HY-1A CCD數據設計開發的應用系統[1]無法通過簡單的升級改造手段來達到兼容HY-1B CZI數據的目的。為此,本文設計開發了一個專門針對 HY-1B CZI的數據處理與應用系統。該系統依據傳感器特性及研究區特點對部分算法進行了優化和適應性改造,具備HY-1B CZI數據的導入、預處理、海岸帶動態監測產品制作、產品輸出等功能,并結合用戶需求,可對大量原始數據進行自動化批處理。
系統采用IDL語言實現。IDL語言的全稱是交互式數據語言[2](Interactive Data Language),它是一種跨平臺、面向矩陣運算的語言,在數據分析與可視化方面具有強大而又豐富的功能,被廣泛應用于地球科學(包括氣象、水文、海洋、土壤、地質、地下水等)、醫學影像、GIS系統、航空航天、信號處理、數學統計及分析、環境工程等諸多領域。
數據是貫穿遙感數據應用過程的主線,按數據處理的流程將 HY-1B CZI海岸帶動態監測系統劃分為三大功能模塊,即數據導入與預處理模塊、信息提取模塊、產品制作模塊。為實現系統集成和可視化,還需要系統總控模塊和圖像顯示模塊的支持。整個系統功能結構設計如圖1所示。
系統的運行由總控模塊集中進行管理控制,系統設有工作目錄,集中存儲系統在運行時產生的各種中間數據及參數文件。
數據導入與預處理模塊的主要功能是讀取HDF格式的L1B數據,將其轉換為系統內部數據文件,然后對數據進行水陸掩模、云掩模、幾何校正等預處理操作;信息提取模塊的功能是對預處理后的數據進行反演或提取相關信息,如反演懸浮泥沙濃度、進行海岸帶土地覆蓋分類、提取瞬時水邊線、岸線和潮間帶范圍等;產品制作模塊的功能是將信息提取的結果輸出為 HDF格式或其他常見圖像格式(JPEG、BMP、TIFF)。
數據導入與預處理、信息提取和產品制作3個功能模塊之間的交互是依靠工作目錄內存儲的中間數據以及參數文件作為紐帶貫穿起來的。為此,系統專門對這些文件從命名方式到物理存取格式都進行詳細的設計,并形成文檔,以便開發實現與后期維護。

圖1 系統功能結構Fig.1 System functional structure
2.1 數據導入與預處理
2.1.1 HDF數據導入 系統輸入的CZI L1B數據是以“層次型數據格式”(Hierarchical Data Format,縮寫為HDF)文件進行存儲和分發。HDF格式雖然便于數據管理,卻不方便直接使用。一是單景CZI L1B數據文件較大(約1GB),每次都針對它進行操作將占用大量系統資源;二是文件內部數據種類多(表1),但并非全為本系統所用;三是由于文件內部各種數據按照“層次型”組織存放,每次使用都要經過若干查詢及讀取步驟,影響效率。因此,系統首先要將HDF格式的L1B數據導入并保存為內部文件,后續的數據處理及應用都是針對這些內部文件開展。

表1 HY-1B CZI L1B數據格式概覽Tab.1 HY-1B CZI L1B data format
在實際操作中,數據導入所完成的并非單純的數據格式轉換,其具體工作包括:從 HDF文件中讀取系統所需數據,包括全局屬性數據、地球物理數據(即 CZI掃描圖像輻亮度)、圖像定位數據中的像元經緯度數據和掃描行屬性中的掃描行起始點、結束點經緯度數據;采用灰度列均衡法1)對CZI掃描輻亮度數據進行消條帶處理;根據經緯度數據對其進行等經緯度投影;最后將投影后的數據及相關信息按事先設計的格式寫入內部文件。
此處對CZI掃描輻亮度數據進行等經緯度投影是最為關鍵的一步。系統通過計算數據的經緯度范圍和分辨率確定一個虛擬的經緯格網,然后根據每個掃描點的經緯度坐標,將其放到經緯格網的相應位置上。對于經緯格網上的“空白點”,則應用一個3×3的滑動窗口搜索其周圍8個相鄰點的數據,用搜索到的有效數據的均值來填充。由于每個CZI掃描行的2048個像元中只有104個有定位數據,所以對那些沒有定位數據的像元需要用插值法來計算它們的經緯度坐標;又因這104個像元在掃描行中并非均勻分布,為此需要區分掃描行中不同位置的像元,采用不同的插值計算參數,以得到準確的插值結果。需要說明的是,投影后的數據存在定位誤差,需要做進一步的校正處理。
2.1.2 數據預處理 數據預處理的對象即是以內部文件形式存儲的L1B數據。數據預處理包括水陸掩模、云掩模和幾何校正。水陸掩模最初準備了兩種算法,分別是光譜閾值法和地理位置法,但在實際應用中發現CZI數據無法單純依靠波段閾值將水體(尤其是懸沙濃度極高的黃河口海域)與陸地分開,故只保留了地理位置法。云掩模算法則采用光譜閾值法,此方法簡單有效,唯一的問題是固定的閾值不一定適合于所有的影像,用戶可以通過調整檢測閾值來達到理想的掩模效果。幾何校正設計采用“控制點+多項式”法對影像進行精校正,但在實驗后發現該功能存在以下兩點問題:首先是受影像分辨率影響,地面控制點和對應的影像控制點均不容易尋找,不僅無法提高校正精度,反而很容易引入人為誤差;其次就是影像只是存在比較明顯的位置偏移,而沒有明顯的旋轉或扭曲等現象。針對以上兩點,系統采用了一種更直觀簡便的方法來對影像進行校正,即讓用戶在CZI影像和系統提供的標準位置模板上選取一組同名點,用這兩點間的偏移量來減小或消除影像的定位誤差。
2.2 海岸帶信息提取算法與集成
針對研究區域黃河口附近的海岸帶特點,對部分信息提取算法進行優化和改造,集成于系統中,用以對預處理后的CZI影像進行信息提取,包括懸浮泥沙濃度反演,海岸帶土地覆蓋分類,岸線及潮間帶范圍提取等。
2.2.1 懸浮泥沙濃度反演 懸浮泥沙濃度反演是將預處理后的影像數據作為輸入,通過選定的模型算法進行計算,從而得到反演結果。系統嘗試了不同的波段組合及算法形式,最終選取 Gordon算法,該算法形式如下:

式中:R為第三波段(665nm)的DN值,S為懸浮泥沙濃度值,A、B、C為模型參數。
算法被封裝成一個函數集成于系統中,該函數輸入的是預處理后的CZI數據,函數只對掩模后被判為水體的數據進行計算,對于陸地、云以及計算結果中的異常值都有相應處理。在進行懸浮泥沙濃度反演時,直接調用該函數即可。
2.2.2 海岸帶土地覆蓋分類 本系統采用最大似然法對L1B數據進行海岸帶土地覆蓋分類,目標類別為裸灘地、水體、居民地和植被。用戶需要輸入分類數,并且為每個類別選取一定量的樣本,之后系統調用核心算法對影像數據進行分類,并輸出分類結果。此處的核心算法用C語言實現并編譯為動態鏈接庫DLL文件,在IDL中利用外部調用命令CALL_EXTERNAL來調用該算法,方法如下:

2.2.3 岸線及潮間帶提取 海岸線系指多年大潮平均高潮位時的海陸分界線,是一個統計結果。綜合研究區以及CZI數據的特點,本文提出了一種基于多時相CZI影像的岸線和潮間帶提取方法。為實現該功能,用戶首先要在系統中手工提取每景影像的瞬時水邊線并將其保存在自定義格式的文件中,然后調用一個專門開發的核心算法函數FUN_COASTAL即可自動完成岸線和潮間帶范圍的提取。該函數的功能是計算兩條曲線的所有交點,將其在交點處打斷生成一系列弧段,最后將這些弧段按指定的規則組合成一條新的曲線。其調用方法如下:

其中,返回值Result是新生成的曲線數據,為一系列的坐標點;Input1和Input2是輸入的兩條瞬時水邊線數據,為一系列的坐標點;Parameter1是組合規則參數,只能取0或1。
2.3 產品輸出
產品輸出分兩種,一種是將屏幕顯示結果輸出為常見圖像格式,如JPEG、BMP、TIFF等;第二種是將結果數據輸出為 HDF格式。前者可以通過調用 IDL的 WRITE_JPEG、WRITE_BMP、WRITE_TIFF等過程來實現;后者則通過調用IDL提 供 的 HDF 文件 存 取接 口 函數HDF_SD_ATTRSET 、 HDF_SD_CREATE 、HDF_SD_ADDDATA等來實現。三級產品的HDF數據文件由全局屬性參數、存儲產品數據的SD科學數據集組成和數據集屬性組成。SD科學數據集包括海洋要素數據和與之對應的經度和緯度數據。每種產品文件都嚴格按照統一的標準進行命名。
2.4 自動化批處理
衛星在軌運行期間每天都生產大量數據,為了有效利用這些數據,系統特別增加了批處理功能。該功能可以將指定存放目錄下的所有 L1B數據進行自動化處理,處理內容包括自動判斷并選擇那些包含監測區域(黃河三角洲)的數據文件,自動裁切、投影、進行掩模處理、生成懸沙濃度產品及對應的JPEG格式快視圖,并將產品存放到指定目錄下。批處理過程信息同時記錄在系統LOG文件中,以便追溯。
3.1 數據可視化顯示
IDL為用戶提供了兩種獨立的圖形系統:直接(Direct)圖形系統和對象(Object)圖形系統。兩種圖形系統的優缺點比較見表2。

表2 直接圖形系統和對象圖形系統優缺點比較Tab.2 Comparison of Direct Graphics System and Object Graphics System
比較這兩種圖形系統的特點,本系統采用對象圖形系統來實現數據的顯示功能。創建一個包含影像數據的Image對象,將其添加到Model對象中,然后再將Model對象添加到View對象中,最后調用Window對象的Draw方法即可將影像繪制出來。當需要在影像上進行諸如繪制感興趣區(Region of Interest,以下稱ROI)等操作時,可以創建ROI對象并將其作為基本圖元添加到Model對象中,最后再次調用Draw方法即可。實現代碼如下:

改變各個對象的屬性或者調用它們所提供的方法,可以很容易實現各種操作及效果。例如本系統中,通過繪圖對象(WIDGET_DRAW)對鼠標移動事件的實時響應,獲取鼠標坐標位置,調用ROI對象更新數據方法(ReplaceData)改變ROI邊框,調用繪圖控件的繪制方法(Draw)刷新圖像,就實現了選擇 ROI時邊框隨鼠標移動而變化的動態效果。
3.2 系統交互
本系統具有很多用戶交互功能,如ROI選擇,控制點選取,分類樣本選取,人工勾繪瞬時水邊線等等,系統交互控制的實現就是要解決不同窗體、不同控件、不同函數及過程之間數據的傳遞問題。IDL提供了以下幾種方案,如:定義公共塊(COMMON BLOCK),定義系統變量(DEFSYSV),使用用戶值(UVALUE)存儲變量,使用SAVE存儲變量或完全面向文件的變量存儲。本系統的實現使用了定義公共塊和使用 UVALUE存儲變量兩種方法。
在本系統中,定義了3個公共塊,分別用來存儲系統主窗體ID、系統工作路徑和系統處理數據,它們的定義如下:

UVALUE是IDL中另一個非常有用的設計,用它可以方便地在不同函數及過程之間共享數據。UVALUE的作用相當于一個容器,可以存放 IDL支持的任意類型和結構的數據。
下面是在本系統的主窗體中設置的UVALUE:

由于 UVALUE中只能存放一個變量,因此定義一個結構體(Structure)sState以保存一組變量,此處創建了一個指向該結構體的指針變量 pState,并將該指針變量存儲到程序主窗體的UVALUE中。引用時用如下代碼:

這里使用指針的好處是可以直接更新其所指的變量值,否則只能應用Widget_Control過程中的SET_UVALUE關鍵字來進行變量值更新。
系統首先讀入一景L1B數據,選取黃河口附近區域。用戶可以通過工具條按鈕查看數據屬性信息,對影像進行縮放,還可以用界面右側的工具進行一些顯示控制,如選擇數據波段,進行假彩色合成,調整亮度、對比度等等。圖2所示即為導入后的CZI數據3-2-1波段組合假彩色合成效果。

圖2 系統運行界面Fig.2 System operation interface

圖3 用3級產品制作的專題圖Fig.3 Thematic map produced by L3 Product
經過預處理之后,數據可以做如下應用:定量反演黃河口海域的懸浮泥沙含量,對黃河三角洲海岸帶土地覆蓋進行監督分類,對黃河三角洲的岸線和潮間帶進行動態變化監測。
對于所得到的最終結果,系統可以生成相應的HDF格式3級產品文件,或是生成通用圖片格式文件如JPEG、BMP等,以方便產品的管理和分發。圖3是利用生成的3級產品制作的專題圖。
本系統已投入應用示范運行,為HY-1B CZI數據的業務化應用提供了一個專用平臺,展示了HY-1B衛星在海岸帶動態監測方面的應用能力,體現了HY-1B衛星的價值。此外,該系統的開發也為今后類似系統的開發積累了豐富的經驗,起到良好的示范作用。
當然,該系統還有很多方面有待進一步擴展和完善,如系統交互功能以及自動化運行處理仍需進一步改進,加強GIS分析功能的支持等等。
[1]黃建波, 張杰, 宋平艦, 等.HY-1衛星CCD遙感器海岸帶動態監測應用示范系統開發 [J].海洋科學進展, 2003, 21(3): 342-348.
[2]韓培友.IDL可視化分析與應用 [M].西安:西北工業大學出版社, 2006.
[3]劉寶銀, 蘇奮振.中國海岸帶與海島遙感調查——原則 方法 系統[M].北京: 海洋出版社, 2005.
[4]趙英時.遙感應用分析原理與方法 [M].北京: 科學出版社, 2003.
[5]崔廷偉.渤海生物光學性質與水色遙感反演 [D].青島: 中國海洋大學, 2006: 81-84.
[6]唐軍武, 王小梅.黃、東海二類水體水色要素的統計反演模式[J].海洋科學進展, 2004, 22(10): 1-7.
[7]朱建華, 李銅基.黃東海非色素顆粒與黃色物質的吸收系數光譜模型研究 [J].海洋技術, 2004, 23(2): 7-13.
Design and implementation of HY-1B CZI Coastal Zone Dynamic Monitoring System
LIANG Jian1, SONG Ping-jian1,2, CUI Ting-wei1, REN Guang-bo1, ZHAO Wen-jing1
(1.First Institute of Oceanography, SOA, Qingdao 266061, China; 2.Key Lab of Marine Science and Numerical Modeling, SOA, Qingdao 266061, China)
TP751
A
1001-6932(2011)01-0094-06
2010-04-22 ;收修改稿日期:2010-06-03
海洋衛星項目“HY-1B衛星在海岸帶典型區域動態變化監測中的應用”;國家海洋局青年海洋科學基金(2008401);國家海洋局第一海洋研究所基本科研業務費專項資金項目(2007B05)
梁建(1985- ) ,男,山東臨沂人,碩士研究生,主要從事遙感與地理信息系統應用研究。E-mail:ljcn@live.com。