AIS 通信处理整理
一些整理
- 每艘船都有 ais 发送设备,发送的内容包含船只信息、位置等。mmsi 开头数字是 2~7,长度为 9 位。
非船只也会有些设备能发送 ais 消息
- 如船员落水报警设备,其 mmsi 开头数字是 9。
- 有些设备的 mmsi 不是 9 位,长度随意
- 在固定位置有 ais 基站来接收这些信息
一个优秀的在线解码 ais 消息的网站
https://www.aggsoft.com/ais-decoder.htm
几个开源的解析库
- python 实现的 https://github.com/M0r13n/pyais
- java 实现的 https://github.com/tbsalling/aismessages
这2个开源项目都提供了数据解析功能,及非常全面的数据类型定义等。 - go 实现的 https://github.com/BertoldVdb/go-ais
这个是我在开发过程中使用的解析库
获取 ais 消息数据的方法
https://kystverket.no/en/navigation-and-monitoring/ais/access-to-ais-data/ 这个网站提供了相应的实时数据的接口(未做验证)
ais 消息所包含内容的详细说明
- https://gpsd.gitlab.io/gpsd/AIVDM.html
- https://www.e-navigation.nl/system-messages
- https://www.navcen.uscg.gov/ais-class-a-reports
一些固定类型信息的参考表
- https://api.vtexplorer.com/docs/ref-flags.html 包含了船只信息、船旗信息、导航状态
- https://documentation.spire.com/ais-fundamentals/ 相比上一个更加全面的数据解释