Any particular reason not to support gpsd and let it do the earthmate work for you, as opposed to yet another version of the "convert earthmate to something sane" code?