GlobalFishingWatch / gpsdio

AIS I/O with Python, dictionaries, and the GPSd AIVDM schema.
Other
6 stars 3 forks source link

Look into gpsbabel #101

Closed geowurster closed 9 years ago

geowurster commented 9 years ago

At least for more info about the ecosystem. Might also be useful for testing or validating libais.

http://www.gpsbabel.org/htmldoc-development/fmt_nmea.html

schwehr commented 9 years ago

Robert Lipe works at Google if there are any gpsbabel questions, I can talk to him.

schwehr commented 9 years ago

I just chatted with Robert. gpsbabel knowns nothing of AIS. He hadn't heard of it before. gpsbabel does know tons of gps formats. Were you thinking about comparing the json output format of gpsd with with the formats supported in gpsbabel?

geowurster commented 9 years ago

@schwehr This was more a note so I wouldn't forget, but it looks like gpsbabel parses NMEA sentences. It's also listed on the formats page. I just tried a quick test and couldn't get it to write any data but this tutorial mentions that gpsbabel can only read NMEA that is NMEA0183 GGA formatted.

robertlipe commented 9 years ago

GPSBabel guy here. libais seems to be in a largely different space than GPSBabel. (OK, they're both location-y) I've shipped tens to hundreds of millions of copies and spoken with thousands of users and Kurt's request was the first time I'd heard of AIS. If there's some opportunity to collaborate, great, but this seems extremely specialized and a forced fit.

GPSBabel does read and write a subset of reverse-engineered NMEA - the subset generally used by consumer grade loggers and handheld GPSes. We don't pretend to handle everything representable by NMEA. If you're into such things, the responsible code is https://code.google.com/p/gpsbabel/source/browse/trunk/gpsbabel/nmea.cc

I have kicked around the idea of adding GeoJSON or other JSON-based formats.

As to the cited article, yes, GPSBabel requires generally sensible input. If a GPS marks a trackpoint as 'not valid', we don't use it. If your program puts junk in front of the NMEA sentences, they aren't NMEA sentences any more. If you blindly whack sentences containing key data, it will act funny. (Hint: he should have been using our simplify filter http://www.gpsbabel.org/htmldoc-1.5.2/filter_simplify.html to decimate his polylines to not overrun Earth.)

geowurster commented 9 years ago

@robertlipe Thanks for the clarification!

GPSBabel and libais definitely exist in different spaces but when I saw mention of NMEA on the GPSBabel website I thought it might be worth looking into the functionality to see if it would be useful to us for validation, or even to better understand how other parsers handle different message types. I definitely was not suggesting that GPSBabel should do more with AIS - that's why we have libais. If we end up getting data from the loggers you described, then GPSBabel could be a valuable tool but for the foreseeable future we will be working only with AIS.