首先项目中引入如下jar包:

     <dependency><groupId>dk.tbsalling</groupId><artifactId>aismessages</artifactId><version>2.2.1</version></dependency>

然后跑一个小Demo:

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;import dk.tbsalling.aismessages.AISInputStreamReader;public class ais {public static void main(String[] args) throws IOException {InputStream inputStream = new ByteArrayInputStream(demoNmeaStrings.getBytes());System.out.println("AISMessages Demo App");System.out.println("--------------------");AISInputStreamReader streamReader = new AISInputStreamReader(inputStream, aisMessage ->System.out.println("Received AIS message from MMSI " + aisMessage.getSourceMmsi().getMMSI() + ": " + aisMessage));streamReader.run();}private final static String demoNmeaStrings = new String("!AIVDM,1,1,,A,18UG;P0012G?Uq4EdHa=c;7@051@,0*53\n" +"!AIVDM,2,1,1,,539L8BT29ked@90F220I8TE<h4pB22222222220o1p?4400Ht00000000000,0*49\n" +"!AIVDM,2,2,1,,00000000008,2*6C\n" +"!AIVDM,1,1,,A,15NIrB0001G?endE`CpIgQSN08K6,0*02\n" +"!AIVDM,1,1,,B,152Hn;?P00G@K34EWE0d>?wN28KB,0*12\n" +"!AIVDM,1,1,,B,138Ngv0OinG>DFnDekIF6lkN00Rk,0*2E\n" +"!AIVDM,1,1,,B,15N06LPP00G?Sf6Egkh0TwwL0HKO,0*2B\n" +"!AIVDM,1,1,,A,15N:Ie0P00G@6VpEa4n68?wL0HKf,0*2C\n" +"!AIVDM,1,1,,B,15MqdBP000G@qoLEi69PVGaN0D0=,0*3A\n" +"!AIVDM,1,1,,B,B5NJ;PP005l4onUIsc@03woUoP06,0*3A\n" +"!AIVDM,1,1,,B,15Mv4a0P00G?<pHEeU59nwwN08L3,0*7D\n" +"!AIVDM,1,1,,A,35Ml=50Oh@o>Lf2EVPJI>nqP017A,0*51\n" +"!AIVDM,1,1,,A,15Mw0J0P01G?aLVE`VfaM?wN00RV,0*3B\n" +"!AIVDM,1,1,,B,16:252002lo=Gn8E7k?=0bGN0@LH,0*04\n" +"!AIVDM,1,1,,A,19NWsbP000o@58pE`8pHhSGP00SE,0*0B\n" +"!AIVDM,1,1,,B,35AjiT5000G@4vhE`ok8a6sR0Dbb,0*06\n" +"!AIVDM,1,1,,B,15MwksP000G@6TDEa501Uc5P08Cq,0*3B\n" +"!AIVDM,1,1,,A,15N59@PP00G?iGhEW<9P0?wL0HLg,0*3E\n" +"!AIVDM,1,1,,B,15N:`e0000G@6IlEa5O`V93L0@Lt,0*22\n" +"!AIVDM,1,1,,B,15Ms0FPP00o?arNEdfdUw?wR08M3,0*09\n" +"!AIVDM,1,1,,B,13U8W:002;o>lC`EWMwaaWiR8D10,0*09\n" +"!AIVDM,1,1,,B,35MA9T0Oino<fFPE1=cG75iR0000,0*4D\n" +"!AIVDM,1,1,,B,4h3Ovk1udq`Dio>jPHEdjdW008MI,0*63\n" +"!AIVDM,1,1,,B,4h3Ovl1udq`DioCkldEpGh70051@,0*25\n" +"!AIVDM,1,1,,B,4h3OvkQudq`Djo?UhFEf=Ko00<18,0*43\n" +"!AIVDM,1,1,,B,4h3Ovl1udq`DjoCkllEpGh70051@,0*2E\n" +"!AIVDM,1,1,,B,35OqO05vh0G@8GREWEmVVwwT0000,0*3D\n" +"!AIVDM,1,1,,B,35Ml=5000=o>LeVEVPH96ns`0000,0*50\n" +"!AIVDM,1,1,,B,15>gpr0PAuG=AglDjcc68Ts200S2,0*4A\n" +"!AIVDM,1,1,,B,18UG;P000pG?UgdEdOeeec6t08DW,0*0A\n" +"!AIVDM,1,1,,B,85MwpKiKf0wLgSt5BlHF<3FMlaSRCjf1?Nq;4TAA7Mj:oOH5bs=8,0*7D\n" +"!AIVDM,1,1,,A,152Hn;?P00G@K3HEWDot<gw82HDi,0*5B\n" +"!AIVDM,1,1,,B,152SGj001so?U5fEg5j8?VU808Dm,0*19\n" +"!AIVDM,1,1,,B,15NIrB0001G?envE`Cp9gQG80D18,0*09\n" +"!AIVDM,1,1,,B,15MwpWhP1so?KpFEaiOL<Ow60HE>,0*14\n" +"!AIVDM,1,1,,B,16:252002uo=FHHE86H=8:G600S?,0*5F\n" +"!AIVDM,1,1,,A,138Ngv001uG>EINDeV;654k:0@EJ,0*69\n" +"!AIVDM,1,1,,B,15N:Ie0P00G@6W>Ea4ollOw600S0,0*53\n" +"!AIVDM,1,1,,A,15N06LPP00G?SdvEgki0Tww80@ET,0*02\n" +"!AIVDM,1,1,,B,13U8W:002@o>ipDEWH19d7k88@El,0*5A\n" +"!AIVDM,1,1,,B,18UG7V0019G?ithE`a;m;D;600SB,0*2B\n" +"!AIVDM,1,1,,B,15MA9T001no<fEpE0wno25i:0@F7,0*49\n" +"!AIVDM,1,1,,B,33TWed1001G?tg@EUg3cBV?80000,0*38\n" +"!AIVDM,1,1,,A,15MwksP000G@6T`Ea501Ms5:0D0w,0*77\n" +"!AIVDM,1,1,,A,15MiuGg000o?<b6EeVq8;aW:0HF=,0*50\n" +"!AIVDM,1,1,,B,19NWsbP000o@59BE`8qFJ3G<0HFK,0*79\n" +"!AIVDM,1,1,,B,15Ml=50P@Do>LR`EVNsHQFc>00RJ,0*77\n" +"!AIVDM,1,1,,B,15Mw0J0P02G?aLRE`Vf`mOw<08Fd,0*32\n" +"!AIVDM,1,1,,A,15Mv4a0P00G?<plEeU3anww<0HFi,0*56\n" +"!AIVDM,1,1,,A,15N:`e0000G@6InEa5OTDq160<11,0*71\n" +"!AIVDM,1,1,,B,15N59@PP00G?iGhEW<9P0?w:0<16,0*13\n" +"!AIVDM,1,1,,A,35MA9T001no<fF6E0wVG25k>0000,0*1A\n" +"!AIVDM,1,1,,A,Dh3Ovk0nIN>4,0*38\n" +"!AIVDM,1,1,,B,15ND4kP001G@6I@Ea5AM;I3>0<0w,0*04\n" +"!AIVDM,1,1,,B,Dh3Ovl0sqN>4,0*19\n" +"!AIVDM,1,1,,A,Dh3Ovl0mUN>4,0*20\n" +"!AIVDM,1,1,,B,Dh3Ovk0tMN>4,0*25\n" +"!AIVDM,1,1,,A,Dh3Ovl0mMN>4,0*38\n" +"!AIVDM,1,1,,A,13:112002?o@FRnDS<bdu:E:08GQ,0*77\n" +"!AIVDM,1,1,,A,4h3Ovk1udq`FWo>jPHEdjdW0051H,0*2C\n" +"!AIVDM,1,1,,A,15N6r>P000G<dG0Esaod<:U@08GM,0*53\n" +"!AIVDM,1,1,,A,4h3OvkQudq`F`o?UhFEf=Ko00D1;,0*33\n" +"!AIVDM,1,1,,B,15Ph;00Oi@o@V?PDmKanwUaB08Gs,0*02\n" +"!AIVDM,1,1,,A,15Mva0P00no?Ui>EdS;MobMB08Gt,0*19\n" +"!AIVDM,1,1,,B,15NGH8POi8G?ii4E`bPE74?p0U1H,0*58\n" +"!AIVDM,1,1,,A,15MwDf0P00G?<k4EeSU@Ugw@00Sm,0*1C\n" +"!AIVDM,1,1,,B,15MvlfP000G?lwrEd9aJIicD0D1;,0*2B\n" +"!AIVDM,1,1,,A,16:252002io=FE@E87S=3:IB0<09,0*47\n" +"!AIVDM,1,1,,B,15MwlV0P00G@6N8Ea5FujwwD08I0,0*7B\n" +"!AIVDM,1,1,,A,15NGdT?001G?eWRE`E9r8QoF2D11,0*10\n" +"!AIVDM,1,1,,A,15ND4kP000G@6I@Ea5AGhI3D0HI6,0*69\n" +"!AIVDM,1,1,,B,15M67FO000G@7EHEa28cvRsF251H,0*4B\n" +"!AIVDM,1,1,,B,15NH7?PP00G@>aTEWwd<<wwJ0@It,0*25\n" +"!AIVDM,1,1,,A,15MQqQ0P00G?iH>EW<<@0?wD08J4,0*01\n" +"!AIVDM,1,1,,B,15NHHAP000G@rn<Ei:<5c1eJ00Ss,0*2B\n" +"!AIVDM,1,1,,A,15?ECL001=G<wHPEON52>QeH08JK,0*47\n" +"!AIVDM,1,1,,B,13:112002?o@FNbDS=Ntu:EF00ST,0*3C\n" +"!AIVDM,1,1,,A,15>gpr001sG=AnHDjb>V3TwF08Jd,0*72\n" +"!AIVDM,1,1,,A,152SGj001to?TvlEg4`H?6UL08Jo,0*36");
}

java解析静态AIS原始数据相关推荐

  1. java pdm 解析_java解析静态AIS原始数据

    首先项目中引入如下jar包: dk.tbsalling aismessages 2.2.1 然后跑一个小Demo: import java.io.ByteArrayInputStream; impor ...

  2. java解析动态AIS原始数据

    首先看一下解析效果: 首先项目引入jar包: <dependency><groupId>dk.tbsalling</groupId><artifactId&g ...

  3. java解析nmea_java解析动态AIS原始数据

    首先看一下解析效果: 首先项目引入jar包: dk.tbsalling aismessages 2.2.1 import dk.tbsalling.aismessages.ais.messages.A ...

  4. java解析tcp报文_JAVA语言TCP通信和JDBC示例(AIS信息解析)

    JAVA实现AIS信息的接受,解析和存储 船舶自动识别系统(Automatic Identification System, 简称AIS)是一种新型的助航设备.AIS基本功能是:将本船和他船的精确船位 ...

  5. 利用Java生成静态HMTL页面的方法收集

    利用Java生成静态HMTL页面的方法收集 生成静态页面技术解决方案之一 转载者前言:这是一个全面的jsp动态页面静态化方案,本站的帖子静态化方案将借鉴这篇帖子中方法.向[url]http://www ...

  6. jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

    转载自   jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结 为什么使用该功能? 项目中的每个页面都包含产品名称.Logo.版本等信息,我希望修改一处,其它所有的全部跟着变 ...

  7. java 解析日期格式_日期/时间格式/解析,Java 8样式

    java 解析日期格式 自Java 几乎 开始以来,Java开发人员就通过java.util.Date类(自JDK 1.0起)和java.util.Calendar类(自JDK 1.1起 )来处理日期 ...

  8. java 解析器_高性能Java解析器实现过程详解

    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...

  9. 高性能Java解析器实现过程详解

    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...

最新文章

  1. OpenCv Mat -类 成员函数
  2. 洛谷 p2066 机器分配(资源型)
  3. 应用 TransactionScope 报:此操作对该状态的事务无效 的错误
  4. 1、代码中设置编码、编辑器中设置Python的编码
  5. Java语言与C++语言在作用域上的差异
  6. java 程序的初始化顺序是怎样的?
  7. java流与文件——文本输入输出
  8. web框架和后台开发_Web开发框架–第1部分:选项和标准
  9. 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
  10. 击破区块链应用落地之痛,爆款公链太硬核!
  11. C/C++语言中Static的作用详述
  12. mysqludf_json将关系数据以JSON编码
  13. 央视影音 for Mac 1.2.1 中文版 – CCTV和地方卫视直播软件
  14. Windows漏洞补丁更新网址
  15. Redis使用pipeline批量查询所有键值对以及multiGet用法
  16. Win10安装Apache和PHP
  17. Gluster (一)安装
  18. 我的世界服务器等级系统,[娱乐][角色][聊天][上古之石]LevelSignPlus——服务器等级声望系统[1.7.2-1.10.2]...
  19. 数栈产品分享:干货解读数据中台产品「模块化」设计思路
  20. uni-app 省市区选择器

热门文章

  1. hadoop_namenode如果选择在哪个datanode存储副本
  2. Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架
  3. [大数据之Yarn]——资源调度浅学
  4. ThreadLocal管理Connection
  5. UML用例图总结来源于网络
  6. HDU2031 进制转换【进制】
  7. Hyper-V复制功能
  8. DevExpress VCL Controls v15.1.5正式发布[附下载]
  9. 如何使自己的网站与UC进行用户整合
  10. Go语言 命令行解析(二)