Другой вариант - использовать gpsbabel
.Он будет обрабатывать больше форматов / приемников, чем все, с чем я сталкивался.(В дополнение к конвертации между форматами, он позволяет читать / записывать на / с последовательных и USB-устройств GPS и получать информацию о местоположении в режиме реального времени.)
Существует (сторонняя) оболочка Python за это, но это не выглядит ужасно ухоженным.
Тем не менее, довольно просто вызвать двоичный файл gpsbabel
через подпроцесс и т. Д. И проанализировать вывод на stdout (на python, хотя я предполагаю, что в java это так же просто).Это все, что делает существующая оболочка Python, и она выглядит довольно специализированной.Возможно, вам лучше свернуть свою собственную оболочку с нуля.
Вам придется написать немного кода для ОС, чтобы он указывал на соответствующий последовательный / USB-порт для загрузки / выгрузки путевых точек и т. Д.
В любом случае, это может быть не лучшим вариантом в вашем случае, но сам gpsbabel очень надежен, гибок и в хорошем состоянии.