Friday, May 22, 2009

Free AIS message decoder.

This will decode AIVDM and AIVDO messages from the command line. I was inspired by the Joe Petrix decoder in Basic and tried to do the same thing in c++.

Source code
Sample program output:
c:\>ais-decode
Enter AIS string. (Example !AIVDM,1,1,,A,1000vV@P00Idw98ATMk00?wj0<0n div="div" f="f">
AIS string: !AIVDM,1,1,,A,15LWgHpP00qdupBATUBbk?v00H0p,0*2E
ais_string= !AIVDM,1,1,,A,15LWgHpP00qdupBATUBbk?v00H0p,0*2E

message type = 1
repeat indicator = 0
MMSI = 365555555
navagation status = 8
rate of turn = 128
speed over ground = 0
position accuracy = 1
longitude = -88.043930
latitude = 30.708603
course over ground = 2764
true heading = 511
c:\>
Update: 2012
I just added an OSX binary.

9 comments:

  1. It has been three years and I get hits on this post every day. Is everyone looking for an AIS decoder? I may update this soon.

    ReplyDelete
  2. Hi Kindly help me how to encode AIVDM Type1 Messages.

    ReplyDelete
  3. I really need the AIS decoder. Please update it.

    Thank you so much !
    Harry (apollo.tvt@gmail.com)

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. I'm sure this hasn't been updated in some time but the decoder is spitting out latitudes that are over 90 or under -90. Is this a bug or a different geocoding/latlon system?

    ReplyDelete
  6. I really need the AIS decoder.
    Thank you !
    (1080561.ws@gmail.com)

    ReplyDelete
  7. I'm having difficulty finding a decoder that does more than one line at a time; I'm trying to get a whole bunch of AIS sentences converted to a CSV or something with lat/long that I can then import into a mapping app... so yes, people are still looking for an AIS Decoder :)

    ReplyDelete
  8. Yes, everybody is looking for an AIS decoder that simply outputs lat,lon coordinates... Well, at least we are. Thanks for providing the sources!

    Nick

    ReplyDelete
  9. Hi All!

    I'm don't downloading the linux binary.
    And try compiling the source, but don' build.

    Can You help me?

    My architecture: armv6 (raspberry Zero)
    and UBUNTU on intel, with normal kernel

    ReplyDelete