aisparser鸿蒙化适配,提供AIS数据解析能力。
aisparser
介绍
aisparser是OpenHarmony系统下设计的船舶自动识别系统(AIS)数据解析三方库。提供完整的AIS消息解析能力,通过无线电信号传输船舶的位置、速度、航向等信息。
安装教程
ohpm install @ohos/aisparser
OpenHarmony ohpm环境配置等更多内容,请参考 如何安装OpenHarmony ohpm包 。
导入模块
import { AisParser } from '@ohos/aisparser';
示例:
let result = Aisparser.convSign(0x200, 0x3FF);
console.info('result = ' + result)
// 输出结果:result = -1
示例:
let result = Aisparser.ais2Ascii(0x10);
console.info('result = ' + str)
// 输出结果:str = p
示例:
import { SixbitResult, TimeResult } from '@ohos/aisparser';
let result = Aisparser.ais2Ascii(0x10);
let sixbitResult = new SixbitResult()
sixbitResult.bitsData = '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF';
sixbitResult.pointer = 0;
sixbitResult.remainder = 0;
sixbitResult.remainderBits = 0;
let datetime = new TimeResult()
let result = Aisparser.getTimetag(sixbitResult, datetime);
console.info('result = ' + result)
// 输出结果:result = 0
console.info('datetime.hours = ' + datetime.hours)
// 输出结果:datetime.hours = 4
console.info('datetime.day = ' + datetime.day)
// 输出结果:datetime.day = 0
console.info('datetime.month = ' + datetime.month)
// 输出结果:datetime.month = 0
console.info('datetime.minutes = ' + datetime.minutes)
// 输出结果:datetime.minutes = 8
示例:
import { SixbitResult, TimeResult } from '@ohos/aisparser';
let aisState = new AisState();
let aisMsg24 = new Aismsg24();
let testStr = '!AIVDM,1,1,,A,H69NbPU@0000000000000050@450,0*7C';
let ret = Aisparser.assembleVdm(aisState, testStr);
console.info('ret = ' + ret)
// 输出结果:ret = 0
let sixbitState = aisState.sixState;
let messageId = Aisparser.get6Bit(sixbitState, 6);
console.info('messageId = ' + messageId)
// 输出结果:result = 24
aisState.sixState = sixbitState;
console.info('aisState.msgid = ' + aisState.msgid)
// 输出结果:aisState.msgid = 0
console.info('aisState.sequence = ' + aisState.sequence)
// 输出结果:aisState.sequence = 0
console.info('aisState.num = ' + aisState.num)
// 输出结果:aisState.num = 0
console.info('aisState.channel = ' + aisState.channel)
// 输出结果:aisState.channel = 65
let sixState = aisState.sixState;
console.info('sixState.bitsData = ' + sixState.bitsData)
// 输出结果:sixState.bitsData = 'H69NbPU@0000000000000050@450'
console.info('sixState.pointer = ' + sixState.pointer)
// 输出结果:sixState.pointer = 2
console.info('sixState.remainder = ' + sixState.remainder)
// 输出结果:sixState.remainder = 6
console.info('sixState.remainderBits = ' + sixState.remainderBits)
// 输出结果:sixState.remainderBits = 6
let parseResult = Aisparser.parseAis24(aisState, aisMsg24);
console.info('parseResult' + parseResult)
// 输出结果:parseResult = 0
console.info('aisMsg24.partNumber = ' + aisMsg24.partNumber)
// 输出结果:aisMsg24.partNumber = 1
console.info('aisMsg24.name = ' + aisMsg24.name)
// 输出结果:aisMsg24.name = ''
console.info('aisMsg24.shipType = ' + aisMsg24.shipType)
// 输出结果:aisMsg24.shipType = 80
console.info('aisMsg24.vendorId = ' + aisMsg24.vendorId)
// 输出结果:aisMsg24.vendorId = '@@@@@@@'
console.info('aisMsg24.callsign = ' + aisMsg24.callsign)
// 输出结果:aisMsg24.callsign = '@@@@@@@'
console.info('aisMsg24.dimBow = ' + aisMsg24.dimBow)
// 输出结果:aisMsg24.dimBow = 40
console.info('aisMsg24.dimStern = ' + aisMsg24.dimStern)
// 输出结果:aisMsg24.dimStern = 16
console.info('aisMsg24.dimPort = ' + aisMsg24.dimPort)
// 输出结果:aisMsg24.dimPort = 4
console.info('aisMsg24.dimStarboard = ' + aisMsg24.dimStarboard)
// 输出结果:aisMsg24.dimStarboard = 5
console.info('aisMsg24.spare = ' + aisMsg24.spare)
// 输出结果:aisMsg24.spare = 0
console.info('aisMsg24.flags = ' + aisMsg24.flags)
// 输出结果:aisMsg24.flags = 2
console.info('aisMsg24.repeat = ' + aisMsg24.repeat)
// 输出结果:aisMsg24.repeat = 0
console.info('aisMsg24.userid = ' + aisMsg24.userid)
// 输出结果:aisMsg24.userid = 412592770
接口说明
PositionDdd
位置信息。
属性
| 名称 | 类型 | 只读 | 说明 |
|---|---|---|---|
| latitude | number | 是 | 纬度。 |
| longitude | number | 是 | 经度。 |
PositionDmm
位置信息。
属性
| 名称 | 类型 | 只读 | 说明 |
|---|---|---|---|
| latDegrees | number | 是 | 纬度的度部分。 |
| latMinutes | number | 是 | 纬度的分部分(带小数)。 |
| lonDegrees | number | 是 | 经度的度部分。 |
| lonMinutes | number | 是 | 经度的分部分(带小数)。 |
ConvertedPosition
转换位置信息。
属性
| 名称 | 类型 | 只读 | 说明 |
|---|---|---|---|
| latitude | number | 是 | 纬度。 |
| longitude | number | 是 | 经度。 |
TimeResult
预计到达时间、航路和IMO UTC时间标签。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| month | number | 是 | 月份。 |
| day | number | 是 | 日期。 |
| hours | number | 是 | UTC小时。 |
| minutes | number | 是 | UTC分钟。 |
constructor
constructor()
TimeResult的构造函数。
SixbitResult
用于处理AIS消息中的6位ASCII数据。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| bitsData | string | 是 | 原始6位ASCII数据字符串。 |
| pointer | number | 是 | 指向bits中当前字符的指针。 |
| remainder | number | 是 | 剩余位。 |
| remainderBits | number | 是 | 剩余位的数量。 |
constructor
constructor()
SixbitResult的构造函数。
AisState
AisState 消息解析器状态。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| sequence | number | 是 | VDM消息序列号。 |
| total | number | 是 | 消息的总部分数。 |
| num | number | 是 | 最后存储的部分编号。 |
| channel | number | 是 | AIS信道字符。 |
| sixState | SixbitResult | 是 | sixbit解析器状态。 |
constructor
constructor()
AisState的构造函数。
Sotdma
用于表示通信状态信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| syncState | number | 是 | 同步状态。 |
| slotTimeout | number | 是 | 时隙超时。 |
| subMessage | number | 是 | 子消息。 |
constructor
constructor()
Sotdma的构造函数。
Itdma
用于表示通信状态信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| syncState | number | 是 | 同步状态。 |
| slotInc | number | 是 | 时隙增量。 |
| numSlots | number | 是 | 时隙数量。 |
| keepFlag | number | 是 | 保持标志。 |
constructor
constructor()
Itdma的构造函数。
Aismsg1
SOTDMA 位置报告。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| navStatus | number | 是 | 航行状态。 |
| rot | number | 是 | 转弯速率。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒数。 |
| regional | number | 是 | 区域保留位。 |
| spare | number | 是 | 备用位。 |
| raim | number | 是 | RAIM 标志。 |
| syncState | number | 是 | SOTDMA 同步状态。 |
| slotTimeout | number | 是 | SOTDMA 时隙超时。 |
| subMessage | number | 是 | SOTDMA 子消息。 |
constructor
constructor()
Aismsg1的构造函数。
Aismsg2
SOTDMA 位置报告。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| navStatus | number | 是 | 航行状态。 |
| rot | number | 是 | 转弯速率。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒数。 |
| regional | number | 是 | 区域保留位。 |
| spare | number | 是 | 备用位。 |
| raim | number | 是 | RAIM 标志。 |
| syncState | number | 是 | SOTDMA 同步状态。 |
| slotTimeout | number | 是 | SOTDMA 时隙超时。 |
| subMessage | number | 是 | SOTDMA 子消息。 |
constructor
constructor()
Aismsg2的构造函数。
Aismsg3
ITDMA 岗位报告。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| navStatus | number | 是 | 航行状态。 |
| rot | number | 是 | 转弯速率。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒数。 |
| regional | number | 是 | 区域保留位。 |
| spare | number | 是 | 备用位。 |
| raim | number | 是 | RAIM 标志。 |
| syncState | number | 是 | ITDMA 同步状态。 |
| slotIncrement | number | 是 | ITDMA 时隙增量。 |
| numSlots | number | 是 | ITDMA 时隙数量。 |
| keep | number | 是 | ITDMA 保持标志。 |
constructor
constructor()
Aismsg3的构造函数。
Aismsg4
基站报告。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| utcYear | number | 是 | UTC 年。 |
| utcMonth | number | 是 | UTC 月。 |
| utcDay | number | 是 | UTC 日。 |
| utcHour | number | 是 | UTC 时。 |
| utcMinute | number | 是 | UTC 分。 |
| utcSecond | number | 是 | UTC 秒。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒数。 |
| regional | number | 是 | 区域保留位。 |
| spare | number | 是 | 备用位。 |
| raim | number | 是 | RAIM 标志。 |
| syncState | number | 是 | SOTDMA 同步状态。 |
| slotTimeout | number | 是 | SOTDMA 时隙超时。 |
| subMessage | number | 是 | SOTDMA 子消息。 |
constructor
constructor()
Aismsg4的构造函数。
Aismsg5
船舶静态数据及航行相关数据。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| version | number | 是 | AIS 版本。 |
| imo | bigint | 是 | 国际海事组织编号。 |
| callsign | string | 是 | 呼号。 |
| name | string | 是 | 船名。 |
| shipType | number | 是 | 船舶类型及货物种类。 |
| dimBow | number | 是 | GPS 接收器。船头方向的距离。 |
| dimStern | number | 是 | GPS 接收器。船尾方向的距离。 |
| dimPort | number | 是 | GPS 接收器。左舷方向的距离。 |
| dimStarboard | number | 是 | GPS接收器。与右舷的距离。 |
| posType | number | 是 | 定位设备的类型。 |
| eta | bigint | 是 | 预计到达时间:月 日 小时 分钟。 |
| draught | number | 是 | 最大当前静态吃水。 |
| dest | string | 是 | 船舶目的地。 |
| dte | number | 是 | DTE标志。 |
| spare | number | 是 | 备用位。 |
constructor
constructor()
Aismsg5的构造函数。
Aismsg6
已处理的二进制消息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| sequence | number | 是 | 序列号。 |
| destination | bigint | 是 | 目的船舶识别号码。 |
| retransmit | string | 是 | 重新传输。 |
| spare | string | 是 | 备用位。 |
| appid | number | 是 | 应用程序 ID。 |
| data | number | 是 | 数据包内容。 |
constructor
constructor()
Aismsg6的构造函数。
Aismsg7
船舶静态数据及航行相关数据。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spare | number | 是 | 备用位。 |
| destidOne | bigint | 是 | 第一个目标MMSI。 |
| sequenceOne | number | 是 | 第一个序列号。 |
| destidTwo | bigint | 是 | 第二个目标MMSI。 |
| sequenceTwo | number | 是 | 第二个序列号。 |
| destidThree | bigint | 是 | 第三个目标MMSI。 |
| sequenceThree | number | 是 | 第三个序列号。 |
| destidFour | bigint | 是 | 第四个目标MMSI。 |
| sequenceFour | number | 是 | 第四个序列号。 |
| numAcks | number | 是 | 应答数量。 |
constructor
constructor()
Aismsg7的构造函数。
Aismsg8
二进制广播消息,用于传输自定义应用数据。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spare | number | 是 | 备用位。 |
| appid | bigint | 是 | 应用ID。 |
| data | SixbitResult | 是 | 数据包内容。 |
constructor
constructor()
Aismsg8的构造函数。
Aismsg9
标准搜救飞机位置报告。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| altitude | number | 是 | 海拔高度。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| utcSec | number | 是 | UTC秒。 |
| regional | number | 是 | 区域保留位 |
| dte | number | 是 | DTE标志。 |
| spare | number | 是 | 备用位。 |
| assigned | number | 是 | 分配模式标志。 |
| raim | number | 是 | RAIM标志。 |
| commState | number | 是 | 通信状态标志。 |
| sotdma | Sotdma | 是 | SOTDMA通信状态。 |
| itdma | Itdma | 是 | ITDMA通信状态。 |
constructor
constructor()
Aismsg9的构造函数。
Aismsg10
UTC和日期询问消息,用于请求特定船只发送UTC和日期信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| destination | bigint | 是 | 目标MMSI。 |
| spareTwo | number | 是 | 备用位2。 |
constructor
constructor()
Aismsg10的构造函数。
Aismsg11
UTC和日期响应消息,提供精确的UTC时间和位置信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| utcYear | number | 是 | UTC 年。 |
| utcMonth | number | 是 | UTC 月。 |
| utcDay | number | 是 | UTC 日。 |
| utcHour | number | 是 | UTC 时。 |
| utcMinute | number | 是 | UTC 分。 |
| utcSecond | number | 是 | UTC 秒。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | number | 是 | 经度。 |
| latitude | number | 是 | 纬度。 |
| posType | number | 是 | 定位设备类型。 |
| spare | number | 是 | 备用位。 |
| raim | number | 是 | RAIM 标志。 |
| syncState | number | 是 | SOTDMA 同步状态。 |
| slotTimeout | number | 是 | SOTDMA 时隙超时。 |
| subMessage | number | 是 | SOTDMA 子消息。 |
constructor
constructor()
Aismsg11的构造函数。
Aismsg12
寻址安全相关消息,用于在两个特定船舶之间交换安全相关信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| sequence | number | 是 | 序列号。 |
| destination | bigint | 是 | 目标MMSI。 |
| retransmit | number | 是 | 重传标志。 |
| spare | bigint | 是 | 备用位。 |
| message | string | 是 | 消息内容。 |
constructor
constructor()
Aismsg12的构造函数。
Aismsg13
安全相关确认消息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spare | number | 是 | 备用位。 |
| destidOne | bigint | 是 | 第一个目标MMSI。 |
| sequenceOne | number | 是 | 第一个序列号。 |
| destidTwo | bigint | 是 | 第二个目标MMSI。 |
| sequenceTwo | number | 是 | 第二个序列号。 |
| destidThree | bigint | 是 | 第三个目标MMSI。 |
| sequenceThree | number | 是 | 第三个序列号。 |
| destidFour | bigint | 是 | 第四个目标MMSI。 |
| sequenceFour | number | 是 | 第四个序列号。 |
| numAcks | number | 是 | 应答数量。 |
constructor
constructor()
Aismsg13的构造函数。
Aismsg14
安全相关广播消息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spare | number | 是 | 备用位。 |
| message | string | 是 | 消息内容。 |
constructor
constructor()
Aismsg14的构造函数。
Aismsg15
询问请求消息。该消息用于船舶向其它船舶发送询问请求,请求对方发送特定的AIS消息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| destidOne | bigint | 是 | 第一个目标MMSI。 |
| msgidOneOne | number | 是 | 第一个目标的第一条消息ID。 |
| offsetOneOne | bigint | 是 | 第一个目标第一条消息的时隙偏移。 |
| spareTwo | number | 是 | 备用位2。 |
| msgidOneTwo | number | 是 | 第一个目标的第二条消息ID。 |
| offsetOneTwo | number | 是 | 第一个目标第二条消息的时隙偏移。 |
| spareThree | number | 是 | 备用位3。 |
| destidTwo | bigint | 是 | 第二个目标MMSI。 |
| msgidTwoOne | number | 是 | 第二个目标的第一条消息ID。 |
| offsetTwoOne | number | 是 | 第二个目标第一条消息的时隙偏移。 |
| spareFour | number | 是 | 备用位4。 |
| numReqs | number | 是 | 询问请求的数量。 |
constructor
constructor()
Aismsg15的构造函数。
Aismsg16
基站分配给移动站的指定模式命令,用于分配时隙和增量。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| destidA | bigint | 是 | 目标A的MMSI标识。 |
| offsetA | number | 是 | 目标A的时隙增量。 |
| incrementA | number | 是 | 目标B的MMSI标识。 |
| destidB | bigint | 是 | 目标B的MMSI标识。 |
| offsetB | number | 是 | 目标B的时隙偏移量。 |
| incrementB | number | 是 | 目标B的时隙增量。 |
| spareTwo | number | 是 | 备用位2。 |
| numCmds | number | 是 | 接收到的命令数量。 |
constructor
constructor()
Aismsg16的构造函数。
Aismsg17
GNSS二进制广播消息,用于传输差分GNSS修正数据。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| longitude | bigint | 是 | 经度。 |
| latitude | bigint | 是 | 纬度。 |
| spareTwo | number | 是 | 备用位2。 |
| msgType | number | 是 | 消息类型。 |
| stationId | number | 是 | 基站ID。 |
| zCount | number | 是 | 计数。 |
| seqNum | number | 是 | 序列号。 |
| numWords | number | 是 | 数据字数量。 |
| health | Sotdma | 是 | 参考站健康状态。 |
| data | SixbitResult | 是 | 数据包内容。 |
constructor
constructor()
Aismsg17的构造函数。
Aismsg18
B类船舶的标准载波感知位置报告,根据IEC 62287标准。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| regionalOne | number | 是 | 区域保留位1。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | bigint | 是 | 经度。 |
| latitude | bigint | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒。 |
| regionalTwo | number | 是 | 区域保留位2 |
| unitFlag | number | 是 | B类CS标志。 |
| displayFlag | number | 是 | 集成消息14显示标志。 |
| dscFlag | number | 是 | DSC能力标志。 |
| bandFlag | number | 是 | 海事频段操作标志。 |
| msgTwoTwoFlag | number | 是 | 消息22频率管理标志。 |
| modeFlag | number | 是 | 自主模式标志。 |
| raim | number | 是 | RAIM标志。 |
| commState | number | 是 | 通信状态标志。 |
| sotdma | Sotdma | 是 | SOTDMA通信状态。 |
| itdma | Itdma | 是 | ITDMA通信状态。 |
constructor
constructor()
Aismsg18的构造函数。
Aismsg19
B类船舶的扩展设备位置报告,包含更多船舶信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| regionalOne | number | 是 | 区域保留位1。 |
| sog | number | 是 | 对地速度。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | bigint | 是 | 经度。 |
| latitude | bigint | 是 | 纬度。 |
| cog | number | 是 | 对地航向。 |
| aismsgTemp | number | 是 | 真实航向。 |
| utcSec | number | 是 | UTC秒。 |
| regionalTwo | number | 是 | 区域保留位2 |
| name | string | 是 | 船舶名称。 |
| shipType | number | 是 | 船舶和货物类型。 |
| dimBow | number | 是 | GPS天线距船艏距离。 |
| dimStern | number | 是 | GPS天线距船艉距离。 |
| dimPort | number | 是 | GPS天线距左舷距离。 |
| dimStarboard | number | 是 | GPS天线距右舷距离。 |
| posType | number | 是 | 定位设备类型。 |
| raim | number | 是 | RAIM标志。 |
| dte | number | 是 | DTE标志。 |
| spare | number | 是 | 备用位。 |
constructor
constructor()
Aismsg19的构造函数。
Aismsg20
数据链路管理消息,用于管理数据链路时隙分配。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| offsetOne | number | 是 | 时隙偏移1。 |
| slotsOne | number | 是 | 时隙数量1。 |
| timeoutOne | number | 是 | 超时时间1。 |
| incrementOne | number | 是 | 时隙增量1。 |
| offsetTwo | number | 是 | 时隙偏移2。 |
| slotsTwo | number | 是 | 时隙数量2。 |
| timeoutTwo | number | 是 | 超时时间2。 |
| incrementTwo | number | 是 | 时隙增量2。 |
| offsetThree | number | 是 | 时隙偏移3。 |
| slotsThree | number | 是 | 时隙数量3。 |
| timeoutThre | number | 是 | 超时时间3。 |
| incrementThree | number | 是 | 时隙增量3。 |
| offsetFour | number | 是 | 时隙偏移4。 |
| slotsFour | number | 是 | 时隙数量4。 |
| timeoutFou | number | 是 | 超时时间4。 |
| incrementFour | number | 是 | 时隙增量4。 |
| spareTwo | number | 是 | 备用位2。 |
| numCmds | number | 是 | 接收到的命令数量。 |
constructor
constructor()
Aismsg20的构造函数。
Aismsg21
助航设备报告,包含助航设备的详细信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| atonType | number | 是 | 助航设备类型。 |
| name | string | 是 | 助航设备名称,ASCII编码。 |
| posAcc | number | 是 | 位置精度标志。 |
| longitude | bigint | 是 | 经度。 |
| latitude | bigint | 是 | 纬度。 |
| dimBow | number | 是 | GPS天线距船艏距离,单位米。 |
| dimStern | number | 是 | GPS天线距船艉距离,单位米。 |
| dimPort | number | 是 | GPS天线距左舷距离,单位米。 |
| dimStarboard | number | 是 | GPS天线距右舷距离,单位米。 |
| posType | number | 是 | 定位设备类型。 |
| utcSec | number | 是 | UTC秒。 |
| offPosition | number | 是 | 离位标志。 |
| regional | number | 是 | 区域保留位 |
| raim | number | 是 | RAIM标志。 |
| aismsgTemp | number | 是 | 虚拟/伪助航设备标志。 |
| assigned | number | 是 | 分配模式标志。 |
| spareOne | number | 是 | 备用位1。 |
| nameExt | string | 是 | 扩展名称,ASCII编码。 |
| spareTwo | number | 是 | 备用位2。 |
constructor
constructor()
Aismsg21的构造函数。
Aismsg22
信道管理消息,用于管理AIS信道分配。 如果消息针对地理区域,则通过NE和SW位置定义其两个角落; 如果是分配消息,目标MMSI将存储在addressedOne和addressedTwo中。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| channelA | number | 是 | M.1084信道A频率。 |
| channelB | number | 是 | M.1084信道B频率。 |
| txrxMode | number | 是 | 收发模式。 |
| power | number | 是 | 功率级别。 |
| neLongitude | number | 是 | 东北角经度。 |
| neLatitude | number | 是 | 东北角纬度。 |
| addressedOne | bigint | 是 | 目标MMSI。 |
| swLongitude | number | 是 | 西南角经度。 |
| swLatitude | number | 是 | 西南角纬度。 |
| addressedTwo | bigint | 是 | 目标MMSI。 |
| addressed | number | 是 | 寻址标志。 |
| bwA | number | 是 | 信道A带宽。 |
| bwB | number | 是 | 信道B带宽。 |
| tzSize | number | 是 | 过渡区大小。 |
| spareTwo | bigint | 是 | 备用位2。 |
constructor
constructor()
Aismsg22的构造函数。
Aismsg23
分配命令,用于分配一个地理区域。该地理区域由两个角点定义,分别存储在NE和SW位置。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| spareOne | number | 是 | 备用位1。 |
| neLongitude | number | 是 | 东北角经度。 |
| neLatitude | number | 是 | 东北角纬度。 |
| swLongitude | number | 是 | 西南角经度。 |
| swLatitude | number | 是 | 西南角纬度。 |
| stationType | number | 是 | 基站类型。 |
| shipType | number | 是 | 船舶和货物类型。 |
| spareTwo | bigint | 是 | 备用位2。 |
| txrxMode | number | 是 | 收发模式。 |
| reportInterval | number | 是 | 报告间隔。 |
| quietTime | number | 是 | 静默时间。 |
| spareThree | number | 是 | 备用位3。 |
constructor
constructor()
Aismsg23的构造函数。
Aismsg24
B类船舶静态数据报告,分为24A和24B两部分。 24A部分包含船舶名称;24B部分包含船舶尺寸、呼号等信息。
属性
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| msgid | number | 是 | 消息标识符。 |
| repeat | number | 是 | 重发指示器。 |
| userid | bigint | 是 | 用户ID/船舶识别码。 |
| partNumber | number | 是 | 部分编号。 |
| name | string | 是 | 船舶名称。 |
| shipType | number | 是 | 船舶和货物类型。 |
| vendorId | string | 是 | 供应商ID。 |
| callsign | string | 是 | 呼号。 |
| dimBow | number | 是 | GPS天线距船艏距离。 |
| dimStern | number | 是 | GPS天线距船艉距离。 |
| dimPort | number | 是 | GPS天线距左舷距离。 |
| dimStarboard | number | 是 | GPS天线距右舷距离。 |
| spare | number | 是 | 备用位。 |
| flags | number | 是 | A/B部分接收标志位。 |
constructor
constructor()
Aismsg24的构造函数。
AisParser.getTimetag
getTimetag: (state: object, datetime: object): number;
获取时间戳。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | SixbitResult消息解析器对象。 |
| datetime | object | 是 | TimeResult对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析获取时间戳的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果解析的位少于 20 位,则返回2。 |
AisParser.convSign
convSign: (signBit: number, value: number): number;
转换标志信息。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| signBit | number | 是 | 符号位。 |
| value | number | 是 | 值指针指向值。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析转换标志信息的值。 |
AisParser.ais2Ascii
ais2Ascii: (value: number): string;
转换位置信息。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| value | number | 是 | 需要转换的6位数值。 |
返回值:
| 类型 | 说明 |
|---|---|
| string | 转换位置信息的值。 |
AisParser.pos2Ddd
pos2Ddd: (latitude: number, longitude: number): PositionDdd
将 1/10000 分钟的位置转换为有符号的十进制(DD.DDDDDD)坐标格式。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| latitude | number | 是 | 以1/10000 的格式标注纬度值。 |
| longitude | number | 是 | 以 1/10000 的格式标注经度。 |
返回值:
| 类型 | 说明 |
|---|---|
| PositionDdd | 返回一个对象,latitude表示转换后的纬度值,longitude表示转换后的经度值。 |
AisParser.get6Bit
export const get6Bit: (state: object, numbits: number): bigint
从6位ASCII码流中提取指定长度的位数据。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | 指向SixbitResult的对象。 |
| numbits | number | 是 | 需要提取的位数(取值范围0-32)。 |
返回值:
| 类型 | 说明 |
|---|---|
| bigint | 返回一个对象,根据调用方指定的位数要求,从原始6位ASCII码流中按需提取位数据。 |
AisParser.pos2Dmm
pos2Dmm: (latitude: number, longitude: number): PositionDmm;
将 1/10000 分钟的位置转换为有符号的十进制(DD.MM.MMMM)度分格式。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| latitude | number | 是 | 以1/10000 的格式标注纬度值。 |
| longitude | number | 是 | 以 1/10000 的格式标注经度。 |
返回值:
| 类型 | 说明 |
|---|---|
| PositionDmm | 返回一个对象,latDegrees表示转换后维度的度部分,latMinutes表示转换后纬度的分部分(带小数),lonDegrees表示转换后经度的度部分,lonMinutes表示转换后经度的分部分(带小数)。 |
AisParser.convPos
convPos: (latitude: number, longitude: number): ConvertedPosition;
将未加符号的 1/10000 分钟位置转换为有符号形式。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| latitude | number | 是 | 指向无符号纬度的指针。 |
| longitude | number | 是 | 指向无符号经度的指针。 |
返回值:
| 类型 | 说明 |
|---|---|
| ConvertedPosition | 返回一个对象,latitude表示转换后有符号的维度值,longitude表示转换后有符号的经度值。 |
AisParser.assembleVdm
assembleVdm: (state: object, str: string): number;
对 AIVDM/AIVDO 语句中的6位数据进行重新组装和提取。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| str | string | 是 | NMEA字符串。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析NMEA字符串的状态。 |
| 0 | 完整数据包,解析成功。 |
| 1 | 数据包不完整。 |
| 2 | NMEA 0183校验和失败。 |
| 3 | 不是AIS消息。 |
| 4 | nmea_next_field 发生错误。 |
| 5 | 乱序数据包。 |
AisParser.parseAis1
parseAis1: (state: object, result: object): number;
将ais消息解析为Aismsg1结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg1对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis2
parseAis2: (state: object, result: object): number;
将ais消息解析为Aismsg2结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg2对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis3
parseAis3: (state: object, result: object): number;
将ais消息解析为Aismsg3结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg3对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis4
parseAis4: (state: object, result: object): number;
将ais消息解析为Aismsg4结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg4对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis5
parseAis5: (state: object, result: object): number;
将ais消息解析为Aismsg5结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg5对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis6
parseAis6: (state: object, result: object): number;
将ais消息解析为Aismsg6结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg6对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis7
parseAis7: (state: object, result: object): number;
将ais消息解析为Aismsg7结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg7对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis8
parseAis8: (state: object, result: object): number;
将ais消息解析为Aismsg8结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg8对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis9
parseAis9: (state: object, result: object): number;
将ais消息解析为Aismsg9结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg9对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis10
parseAis10: (state: object, result: object): number;
将ais消息解析为Aismsg10结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg10对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis11
parseAis11: (state: object, result: object): number;
将ais消息解析为Aismsg11结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg11对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis12
parseAis12: (state: object, result: object): number;
将ais消息解析为Aismsg12结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg12对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis13
parseAis13: (state: object, result: object): number;
将ais消息解析为Aismsg13结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg13对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis14
parseAis14: (state: object, result: object): number;
将ais消息解析为Aismsg14结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg14对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis15
parseAis15: (state: object, result: object): number;
将ais消息解析为Aismsg15结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg15对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis16
parseAis16: (state: object, result: object): number;
将ais消息解析为Aismsg16结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg16对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis17
parseAis17: (state: object, result: object): number;
将ais消息解析为Aismsg17结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg17对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis18
parseAis18: (state: object, result: object): number;
将ais消息解析为Aismsg18结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg17对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis19
parseAis19: (state: object, result: object): number;
将ais消息解析为Aismsg19结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg19对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis20
parseAis20: (state: object, result: object): number;
将ais消息解析为Aismsg20结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg20对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis21
parseAis21: (state: object, result: object): number;
将ais消息解析为Aismsg21结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg21对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis22
parseAis22: (state: object, result: object): number;
将ais消息解析为Aismsg22结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg22对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis23
parseAis23: (state: object, result: object): number;
将ais消息解析为Aismsg23结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg23对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
AisParser.parseAis24
parseAis24: (state: object, result: object): number;
将ais消息解析为Aismsg24结构。
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | object | 是 | AisState消息解析器对象。 |
| result | object | 是 | Aismsg24对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 解析ais消息时的状态。 |
| 0 | 如果没有错误,则返回0。 |
| 1 | 如果出现错误,则返回1。 |
| 2 | 如果存在数据包长度错误,则返回2。 |
约束与限制
在下述版本验证通过:
- DevEco Studio: NEXT Release(6.0.1.251), SDK: API12 (5.0.0.71)
- DevEco Studio: NEXT Developer Beta(6.0.1), SDK: API21 (5.0.0.25)
|---- ohos_aisparser
| |---- entry # 示例代码文件夹
| |---- aisparser # 库文件夹
| |---- src
| |---- main
| |---- cpp
| |---- types\liblibrary
| |---- index.d.ts # 对外接口
| |---- index.ets
| |---- README.md # 安装使用方法
| |---- README_zh.md # 安装使用方法
贡献代码
使用过程中发现任何问题都可以提交 Issue,当然,也非常欢迎提交 PR 。
开源协议
本项目遵循 aisparser Runtimes License。