As part of the discussion during my efforts with gpsd, I am sensing what seems to be an interesting disconnect between the gpsd design intent and the usage to which gpsd is often used.
So gpsd is providing an abstraction layer over the gps (or AIS) receivers. This is a critical and laudable goal.
Many users, however, are looking for an abstraction layer over location. In large measure, how location is determined is immaterial, they are simply looking for an abstraction layer over location (and possibly some supporting data). An example is perhaps the location services in IOS.
While gpsd provides a location abstraction layer with the TPV message, the additional complexity of providing an abstraction layer over most gps receivers complicates the use of gpsd as an abstraction layer over location.
It feels like perhaps an additional wrapper is needed to simplify (and arguably stabilize) the interface to location data without limiting the enhancements required by gpsd to accommodate changes in technology in the satellite location functionality
You can actually see the Dire Wolf author's design includes this wrapper approach, although it is nascent at the moment.
These are my impressions from the effort. Your mileage can and will vary.
Thanks for everyone's assistance!
--