Releases: wpietri/simpleais
0.7.3
What's Changed
- Support input from serial sources on Windows by @astuder in #4
- fix lon/lat in msg type 27, possibly now also works in types 17 and 22 by @astuder in #5
- Adding support for checksum status in stats
New Contributors
Full Changelog: v0.7.1...v0.7.3
Lossy compression added
AIS is meant for maintaining a real-time display, so that you don't hit other ships. That means for other uses, there's a lot of pretty-much-redundant information. This library now includes the aisrefine
tool, which will take a large file and perform lossy compression. At a minimum you'll see one AIS sentence every four hours from a sender, and more if the ship significantly changes things like speed, destination, course, or draught. This provides circa 96% compression on large files, and was a much easier way to speed up the library than rewriting everything in C.
Release available on PYPI: https://pypi.org/project/simpleais/
Can now export AIS to JSON
To make it easier to interoperate with other languages, there is now the ais2json commmand-line tool and support in the Sentence object for converting sentences to JSON. Field order is preserved to make the JSON human-readable. So that no information is accidentally lost, the original encoded AIS text is attached.
The JSON format is much more verbose, but that can be compensated for via compression. A quick test on a 2 GB raw AIS file shows that raw AIS is about 79 bytes per sentence, while a gzipped JSON version is about 64 bytes per sentence.
Sentences can be converted to dicts
So that sentences can be easily encoded as, e.g., JSON, they can now be converted to dicts.
Now with time filtering
This lets you filter AIS packets by timestamp; aisgrep
now has --before
and --after
options. Date format can be anything accepted by the dateutil
package, which is almost anything.
Better, faster, stronger
Contains a variety of improvements, including transparent reading of .gz files, defaulting to quietly ignoring bad lines, and significant speed improvements.
v0.6.1
Initial release
A release of some basic library and tool code. Since I'm using this in production, perhaps others will want to as well.