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:

jamsignal.com said...

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.

Narayanan said...

Hi Kindly help me how to encode AIVDM Type1 Messages.

APOLLO said...

I really need the AIS decoder. Please update it.

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

trevinator said...
This comment has been removed by the author.
trevinator said...

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?

Unknown said...

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

Steffan Watkins said...

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 :)

Unknown said...

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

Bhari Zsolt said...

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