摘要:該文簡單介紹了GIS、AIS的基本知識和ARCGIS開發工具,并詳細描述了采用面向對象的思想建立船舶類,并使用ArcObjects組件繪制船舶和渲染船舶,實現了船舶的動態顯示和分類顯示。
關鍵詞:GIS;AIS;船舶;監控系統;分類顯示
Ship Classified Display of GIS-based AIS Vessel Monitoring System
ZHOU Cui
(Wuhan University of Technology, Wuhan 430063, China)
Abstract: This paper briefly described the basic knowledge of GIS, AIS and ARCGIS development tools, and thoroughly described the establishment of ship classes with object-oriented thinking, and then realized the ship's dynamic and classified display using ArcObjects components to draw and render the ship.
Key words: GIS; AIS; ship; monitoring system; classified display
當前船舶日趨大型化、高速化,水上交通日趨繁忙,為了滿足社會和經濟的發展和監控對水上交通的需求,在原有的船舶綜合監控系統的基礎上,對于船舶分類顯示的要求也日漸強烈。
1 地理信息系統的基本知識
1.1 GIS的概念
物質世界中的任何事物都被牢牢地打上了時空的烙印。人們的生產和生活中百分之八十以上的信息和地理空間位置有關。地理信息系統(Geographic Information System,簡稱GIS)作為獲取、整理、分析和管理地理空間數據的重要工具、技術和學科,近年來得到了廣泛關注和迅猛發展。由于信息技術的發展,數字時代的來臨,理論上來說,GIS可以運用于現階段任何行業。
1.2 GIS的技術特點
1) GIS能按照地理坐標和一定的數據格式對空間數據和屬性數據進行統一的存儲與管理,其數據結構主要有兩種類型:矢數據結構和柵格數據結構。
2) GIS具有圖屬雙向查詢檢索、統計計算和列表制圖等功能,并且可以按照指定的范圍進行圖形和提供綜合的空間分布數據;另外,GIS還具有很強圖形功能。
3) 向用戶提供空間數據多因素空間分析、復合評價、預測預報、模擬優化等功能。
1.3 GIS的應用
地理信息系統在最近的30多年內取得了驚人的發展,廣泛應用于資源調查、環境評估、災害預測、國土管理、城市規劃、郵電通訊、交通運輸、軍事公安、水利電力、公共設施管理、農林牧業、統計、商業金融等幾乎所有領域。
1.4 GIS的主要開發模式
1) 獨立開發。指不依賴于任何GIS工具軟件,從空間數據的采集、編輯到數據的處理分析及結果輸出,所有的算法都由開發者獨立設計,然后選用某種程序設計語言,如Visual C++、Delphi等,在一定的操作系統平臺上編程實現。這種開發的好處是無須任何商業GIs軟件的支持,缺點是投資大、周期長而且功能上很難與商業化GIS工具軟件相比。
2) 單純的二次開發。指完全借助GIS軟件提供的工具進行系統開發。用戶一般都是在原有的GIS軟件開發平臺上,使用GIS軟件廠商提供的宏語言,如ESRI的ArcView 的Avenue 語言,MapInfo的MapBasic 語言等來開發自己的應用程序。這種方式省時省心,但進行二次開發的腳本語言,作為編程語言,功能極弱,用它們來開發應用程序仍然不盡如人意,并且所開發的系統不能脫離GIS平臺軟件,是解釋執行的,效率不高。
3) 集成二次開發。集成二次開發是指以通用軟件開發工具為平臺,利用專業的GIS工具軟件所開發出來的GIS軟件。其主要方式有采用對象鏈接和嵌入自動化技術和利用GIS工具軟件生產廠商提供的建立在Ocx技術基礎上的GIS功能控件。這種開發方式既可以充分利用商業GIS工具軟件的功能,又可以利用可視化開發語言高效、方便等編程特點,開發出的軟件具有可靠性高、易移植、便于維護等優點。唯一的不足之處是要購買GIS工具軟件。
4) 基于GIS組件的二次開發。目前最為流行的是基于GIS組件的二次開發,它的基本思想想是把GIS各大功能模塊劃分為幾個組件,每個組件完成不同的功能,各個組件之間以及GIS組件和非GIs組件之間可以方便地通過可視化軟件開發環境集成起來,形成最終的GIS應用。它的主要特點是小巧靈活,價格便宜;開發簡便;具有很強的擴展性;更加大眾化和強大的GIS功能。
2 船舶自動識別系統的基本知識
2.1 AIS的組成結構
船舶自動識別系統(Automatic Identification System,簡稱AIS系統)由岸基(基站)設施和船載設備共同組成,是一種新型的集網絡技術、現代通訊技術、計算機技術、電子信息顯示技術為一體的數字助航系統和設備。它主要由船臺設備和岸臺系統兩部分組成。
1) 船臺設備是一種船載廣播式應答器。它使用海上VHF頻段工作,能夠發出船舶的各種信息,包括身份、船位、船首向、船舶類型、船舶長度、寬度、吃水等信息。典型的AIS船臺設備是由一臺VHF發射機、兩臺VHF TDMA接收機、一臺VHF DSC接收機、一臺帶有標準的船用電子通信接口(IED 61162/NMEA0183/200)的控制裝置以及各種必要的傳感器組成。
2) 岸臺系統由一系列岸臺聯網而成。一個典型的岸臺由VHF TDMA收發機、VHF DSC接收機、基站控制器(BSC)、網絡設備、控制軟件和應用軟件組成。AIS基站收發機遵從ITU-RM.1371建議案《AIS技術特性標準》,可安裝在VIS系統中或作為AIS沿海網絡的核心單元。借助基站控制器(BSC),基站收發機可以相互連接實現對海岸線的覆蓋。收發機還可配置為轉發站。
2.2 AIS使用到的技術
AIS工作在VHF頻帶,可以做到每秒2000個報告,每2秒鐘可更新一次。使用時分多址技術(TDMA)來滿足高速傳輸速率并保證可靠的通信。AIS采用OSI七層工作模式中低四層:物理層、數據鏈路層、網絡層和傳輸層。物理層主要實現數據流的傳輸,提供必要的物理設備。數據鏈路層定義數據的工作技術,用于校驗數據和數據的同步收發。網絡層負責建立和維持信道的連續,控制信道上的數據流向,優化信道的使用。傳輸層主要處理來自對話層、網絡層、GNSS等定位導航儀器的信息,實現與OSI高三層協議的接口。
2.3 AIS的主要功能
IMO已在新修正SOLAS第5章和第19條中規定了通用AIS的配備要求。該系統的配置已于2002年7月1日起新造船舶開始強制執行,同時,對所有從事海上航行的船舶于2004年7月1日起強制裝備,300總噸以上能夠從事國際運輸的船舶,500總噸及以上不從事國際航運的貨船和所有客船,均需要安裝AIS的設備。規則闡述AIS應有如下功能:
1) 自動向合適配備的岸臺、其他船舶和航空器提供信息,包括船舶識別、類型、位置、航向、航速、航行狀態和其他與安全有關的信息;
2) 自動接收來自其他船舶的有關信息;
3) 識別船只、檢測和跟蹤船舶;
4) 與岸基設施交換數據;
5) 簡化信息交流和提供其他輔助信息以避免碰撞發生。
3 ARCGIS 9.0開發工具
ARCGIS是ESRI公司開發的,它作為一個可伸縮的平臺,無論是在桌面,在服務器,在野外還是通過Web,為個人用戶也為群體用戶提供GIS的功能。ArcGIS 9是一個建設完整GIS的軟件集合,它包含了一系列部署GIS的框架,有ArcGIS Desktop、ArcGIS Engine、移動GIS、服務端GIS和嵌入式GIS等。ARCGIS是基于一套由共享GIS組件組成的通用組件庫實現的,這些組件被稱為ArcObjectsTM。
ArcObjects包含了大量的可編程組件,從細粒度的對象(例如,單個的幾何對象)到粗粒度的對象(例如與現有ArcMap文檔交互的地圖對象)涉及面極廣,這些對象為開發者集成了全面的GIS功能。每一個使用ArcObjects建成的ArcGIS產品都為開發者提供了一個應用開發的容器,包括桌面GIS(ArcGIS Desktop),嵌入式GIS(ArcGIS Engine)以及服務端GIS(ArcGIS Server)。
4 船舶分類顯示
船舶的分類顯示功能可以細分為兩步:首先,要根據用戶的需求,設置特定的一類船舶的顯示屬性,包括船舶輪廓和填充的顏色、船舶是否閃爍、船舶顯示的透明度等屬性,同一類型的船舶存儲的類型編號一樣;其次是船舶在地圖上的動態顯示,包含船舶的形狀、航行角度、以及用戶自定義的屬性。第二步是船舶顯示的關鍵,下面將作較為詳細的講述。
4.1 船舶繪制
在S-57電子海圖中,船舶地物采用等腰銳角三角形顯示,底邊的中點表示當前船舶的地理位置,頂角顯示船舶當前的航行角度,用戶可以自定義三條邊的顏色和三角形的填充色來區別不同類型的船舶。根據面向對象的思想,船舶建立為一個對象類,船舶的位置、顏色、角度等作為船舶對象的屬性,如下即為船舶類的定義:
Ship類中的setShipShape方法用來設置船舶的經緯度信息和航行角度,DrawShip是繪制船舶的方法,DrawShip函數有兩個參數,AlarmType參數表示船舶對象所屬的類型編號,非用戶自定義的船舶默認編號為0,使用默認的屬性顯示,第二個參數ShipMMSI表示船舶的呼號,用以代表船舶唯一的編號。
根據船舶對象的經緯度信息確定船舶在地圖上的位置后,DrawShip函數在地圖相應位置上繪制一個銳角三角形代表該船舶,并且將三角形所屬的類型編號記入船舶地物的屬性中。在定時器中不斷重繪船舶的位置,就在地圖上的相應位置顯示了動態航行的船舶。
4.2 船舶的分級渲染
船舶在地圖上有ArcObjects組件有一個BreakClassRender方法,這是一個圖層對象的方法,用于分級渲染地物,顧名思義,對于某一個圖層上的點、線、面任一種地物來說,根據地物的某一個屬性值的大小進行分類,對于處在同一屬性值范圍內的地物顯示相同的樣色。值得注意的是,船舶的種類由于用戶需求的增加會無預計的增加,這里需要用到vector容器存儲船舶的分類編號。
分級渲染后的船舶在地圖上顯示如右圖1。
5 小結
通過將船舶抽象化,建立船舶類,使程序的重用性和可維護性更強了,船舶的分類顯示和渲染主要采用了ArcObjects組件的方法,組件編程給軟件開發帶來了方便。
參考文獻:
[1] 王志松,陳偉,趙鵬.GIS在電子江圖顯示與信息系統中的應用[D].武漢:武漢交通科技大學,2003.
[2] 吳建華,陶德馨,劉天才.AIS在海事管理領域的應用[D].武漢:武漢理工大學,2008.
[3] 陳偉,趙鵬,齊傳新.電子江圖顯示與信息系統設計與實現[J].武漢理工大學學報,2001(4):2-3.