以下是一條原始AIS數(shù)據(jù):
!AIVDM,1,1,,B,177KQJ5000G?tO`K>RA1wUbN0TKH,0*5C
數(shù)據(jù)由多個(gè)字段組成俊庇,字段之間用逗號(hào)隔開词爬,每個(gè)字段的含義如下:
字段1 -- !AIVDM:數(shù)據(jù)包標(biāo)志刑枝。前兩個(gè)字母是設(shè)備標(biāo)志控漠,“AI”是船載標(biāo)志洛波,“BS”是基站標(biāo)志巩搏,后三個(gè)字母是信息標(biāo)志,VDM表示封裝的是他船信息播演,VDO表示封裝的是本船信息冀瓦。所以AIVDM 數(shù)據(jù)包是來自其他船舶的報(bào)告,AIVDO 數(shù)據(jù)包是來自您自己的船舶的報(bào)告宾巍。
字段2 -- 1:當(dāng)前消息中的累計(jì)片段數(shù)咕幻。每條報(bào)文的有效載荷大小是受限制的蕴茴,因此有時(shí)需要將消息拆分成多個(gè)片段流椒,該字段表示最大片段數(shù)徐伐。該例中是1。
字段3 -- 1:指本條報(bào)文處于哪個(gè)片段选浑。該例中是1。
字段4 -- '':是多片段消息的連續(xù)ID玄叠,ID的值域是[0,9]古徒。該例是空字符串,代表只有一個(gè)片段读恃。
字段5 -- B:無線電信道代碼隧膘。AIS 使用兩個(gè) VHF 無線電頻道的復(fù)式高邊:A 為 161.975Mhz (87B):B 頻道為 162.025Mhz (88B)代态。
字段6 -- 177KQJ5000G?tO`K>RA1wUbN0TKH:數(shù)據(jù)的有效載荷,或者說是數(shù)據(jù)包疹吃,也就是我們最關(guān)心的蹦疑,需要進(jìn)行解碼。
字段7 -- 05C:這個(gè)字段分成兩個(gè)部分萨驶,號(hào)前面的數(shù)字歉摧,代表將數(shù)據(jù)有效載荷填充到 6 位邊界所需的填充位數(shù),范圍從 0 到 5 不等腔呜。*號(hào)后面的數(shù)字是校驗(yàn)碼叁温,是 NMEA 0183 數(shù)據(jù)完整性檢查。
舉個(gè)例子:下面是一個(gè)多片段句子的示例核畴,此例中膝但,一條消息被分成了兩條報(bào)文。
其中帶有一個(gè)無提示消息 ID 字段谤草。
!AIVDM,2,1,3,B,55P5TL01VIaAL@7WKO@mBplU@<PDhh000000001S;AJ::4A80?4i@E53,0*3E !AIVDM,2,2,3,B,1@0000000000000,2*55
需要解碼的數(shù)據(jù)在原始AIS數(shù)據(jù)的字段6中,字段6所含信息就是報(bào)文的實(shí)質(zhì)性內(nèi)容锰镀,它一共有27種類型。那么先列出有哪27種類型:
01 位置報(bào)告A類
02 位置報(bào)告A類(已分配時(shí)間表)
03 位置報(bào)告A類(對(duì)審訊的回應(yīng))
04 基站報(bào)告
05 靜態(tài)和航程相關(guān)數(shù)據(jù)
06 二進(jìn)制地址的消息
07 二進(jìn)制確認(rèn)
08 二進(jìn)制廣播消息
09 標(biāo)準(zhǔn)SAR飛機(jī)位置報(bào)告
10 UTC和日期查詢
11 UTC和日期響應(yīng)
12 已解決的安全相關(guān)消息
13 安全相關(guān)確認(rèn)
14 安全相關(guān)廣播消息
15 審訊
16 分配模式命令
17 DGNSS二進(jìn)制廣播消息
18 標(biāo)準(zhǔn)B級(jí)CS位置報(bào)告
19 擴(kuò)展的B類設(shè)備位置報(bào)告
20 數(shù)據(jù)鏈接管理
21 助航報(bào)告
22 渠道管理
23 組分配命令
24 靜態(tài)數(shù)據(jù)報(bào)告
25 單插槽二進(jìn)制消息
26 具有通信狀態(tài)的多插槽二進(jìn)制消息
27 遠(yuǎn)程應(yīng)用的位置報(bào)告
每一條報(bào)文解碼后因?yàn)轭愋偷牟煌校越獯a出的格式或者說內(nèi)容也會(huì)不同泳炉。對(duì)每種類型的數(shù)據(jù)解碼后會(huì)有哪些內(nèi)容,現(xiàn)在開始講解嚎杨。解碼后的數(shù)據(jù)都是英文的花鹅,為了在使用中方便對(duì)照,不譯成中文枫浙。
每種類型的數(shù)據(jù)含有不同的字段刨肃,以下面表格呈現(xiàn),表頭的含義如下:
Field:該字段在編碼中所在位置箩帚;
Len:該字段在編碼中所占長(zhǎng)度真友;
Description:對(duì)于該字段的描述;
Member:解碼后該字段的名稱
注:A類設(shè)備能夠接收和發(fā)送簡(jiǎn)短的安全相關(guān)信息,包括重要的航海和氣象警報(bào)是嗜;B類設(shè)備只能接收簡(jiǎn)短的安全相關(guān)消息愈案。
在部分字段中,比如MMSI鹅搪、Rate of Turn站绪、Position Accuracy、Longitude等丽柿,如果給出取值便可以知道其含義恢准。但是如Message Type魂挂、Navigation Status等枚舉型數(shù)據(jù),則需要進(jìn)一步對(duì)取值做說明馁筐。Message Type在前文中已經(jīng)展示涂召,取值是0~27。
Navigation Status 取值:
python解碼后的數(shù)據(jù)是一個(gè)字典形式眯漩,1芹扭、2、3類型后的數(shù)據(jù)樣例:
注:
1赦抖、數(shù)據(jù)已脫敏舱卡;
2、樣本集中無類型2的數(shù)據(jù)队萤,未展示轮锥;
3、Member欄是空值的要尔,比如Spare舍杜,解碼后則不會(huì)有這個(gè)字段;
4赵辕、后面各個(gè)類型的數(shù)據(jù)不一一展示既绩,每個(gè)類型字典的key不一樣,和表格中的字段是保持一致的还惠。
{'type': 1, 'repeat': 0, 'mmsi': '000000001', 'status': <NavigationStatus.UnderWayUsingEngine: 0>, 'turn': 0, 'speed': 9.0, 'accuracy': 1, 'lon': 109.78566833333333, 'lat': 32.51417166666667, 'course': 318.40000000000003, 'heading': 312, 'second': 44, 'maneuver': <ManeuverIndicator.NotAvailable: 0>, 'raim': 0, 'radio': 2260}
{'type': 3, 'repeat': 0, 'mmsi': '000000002', 'status': <NavigationStatus.Undefined: 15>, 'turn': -128, 'speed': 2.3, 'accuracy': 0, 'lon': 110.837715, 'lat': 30.110753333333335, 'course': 63.6, 'heading': 511, 'second': 43, 'maneuver': <ManeuverIndicator.NotAvailable: 0>, 'raim': 1, 'radio': 0}
Maneuver Indicator 取值:
固定位置基站將使用此消息來定期報(bào)告位置和時(shí)間饲握。
Type of EPFD 取值:
Ship Type 取值:
帶有未指定二進(jìn)制有效載荷的尋址的點(diǎn)對(duì)點(diǎn)消息。
類型7消息是發(fā)給先前類型6消息的發(fā)件人的回執(zhí)蚕键。
類型8消息是具有未指定二進(jìn)制有效負(fù)載的廣播消息救欧。
搜救飛機(jī)的跟蹤信息。
向AIS基站請(qǐng)求UTC /日期信息锣光。
與類型4相同笆怠,對(duì)查詢返回響應(yīng)。
消息類型13是發(fā)給先前類型12消息的發(fā)件人的回執(zhí)誊爹。結(jié)構(gòu)與類型7二進(jìn)制確認(rèn)相同蹬刷。
基站使用消息類型15來向一個(gè)或兩個(gè)其他AIS收發(fā)器查詢指定類型的狀態(tài)消息。
消息類型16由具有控制權(quán)限的基站用來配置來自下級(jí)站的AIS信息消息的調(diào)度替废,以每10分鐘間隔的頻率或通過指定應(yīng)在其上發(fā)送這些消息的TDMA時(shí)隙偏移來配置箍铭。
消息類型17用于廣播GPS的差分校正。
對(duì)于使用B類發(fā)射機(jī)的船只椎镣,其報(bào)告要比1-3類型的報(bào)告少。省略導(dǎo)航狀態(tài)和轉(zhuǎn)彎速率兽赁。字段的編碼方式與通用導(dǎo)航塊相同状答。
對(duì)于使用B類變送器的船只冷守,其報(bào)告要比18類型稍微詳細(xì)一些。省略導(dǎo)航狀態(tài)和轉(zhuǎn)彎速率惊科。字段的編碼方式與通用導(dǎo)航塊和5類型消息中的相同拍摇。
該消息用于在AIS基站網(wǎng)絡(luò)內(nèi)預(yù)分配TDMA時(shí)隙。它不包含導(dǎo)航信息馆截,除非您正在實(shí)施或研究AIS基站網(wǎng)絡(luò)充活,否則不太可能有用。
輔助工具(如浮標(biāo)和燈塔)發(fā)出的標(biāo)識(shí)和位置信息蜡娶。
Aid Type 取值:
主管部門(AIS網(wǎng)絡(luò)控制基站)廣播此消息混卵,以設(shè)置AIS覆蓋區(qū)域的VHF參數(shù)。
該消息旨在由主管機(jī)構(gòu)(AIS網(wǎng)絡(luò)控制基站)廣播窖张,以設(shè)置AIS覆蓋區(qū)域中所有移動(dòng)臺(tái)的操作參數(shù)幕随。
Tx/Rx Mode 取值:
Station Type 取值:
Report Interval 取值:
對(duì)于使用B類設(shè)備的船舶而言,相當(dāng)于5類型消息宿接。也用于將MMSI與A類或B類設(shè)備上的名稱相關(guān)聯(lián)赘淮。
類型24消息可以是A或B部分格式;根據(jù)該標(biāo)準(zhǔn)睦霎,A部分和B部分預(yù)計(jì)將以相鄰對(duì)的方式進(jìn)行廣播梢卸。在現(xiàn)實(shí)中,它們可能由于各種聚合方法中的怪異現(xiàn)象被其他句子分隔開副女,甚至與不同的Type 24對(duì)交錯(cuò)排列蛤高;解碼器必須對(duì)此進(jìn)行處理。 B型格式的某些字段的解釋會(huì)根據(jù)B型MMSI字段的范圍而變化肮塞。
該消息主要用于對(duì)配備AIS A類的船只進(jìn)行遠(yuǎn)程檢測(cè)(通常是通過衛(wèi)星)襟齿。