I’m preparing to build an application which will have the capability to send / receive waypoints to / from GPS devices. With some Googling I’ve found a lot of libraries which may be useful for this purpose:
- Java
- Python
Most of the libraries I’ve found, it seems, are out of date and have perhaps been abandoned. I would like to know — preferably from someone who has experience in working with GPS transfer libraries like this — what is a reliable library that I can use to accomplish this? It’d be great if it supported a wide range of devices, but I’d like to find something for now that at least supports Garmin serial and USB devices.
Another option is to use
gpsbabel. It will handle more formats/recievers than anything else I’ve come across. (In addition to converting between formats, it allows you to read/write to/from serial and usb gps devices and get real-time position information.)There is a (3rd party) python wrapper for it, but it doesn’t look terribly well maintained.
Nonetheless, it’s pretty simple to call the
gpsbabelbinary through subprocess, etc and parse the output on stdout (on python, though I assume it’s just as easy in java). That’s all the existing python wrapper does, and it appears rather specialized. You might be better off rolling your own wrapper from scratch.You’ll have to write a bit of OS-specific code to point it towards the appropriate serial/usb port to upload/download waypoints, etc.
At any rate, it may not be the best option in your case, but gpsbabel itself is very reliable, flexible, and well-maintained.