I am making an application that requires user to send their GPS location to the server. I need it to be done for say every 10 seconds, which is heavy on the energy budget.
Is there any open source implementation, where I can take GPS location once and then use accelerometer and compass to track the user location?
Or anything else which is energy efficient?
I would say build your own so you can get exactly what you want and avoid running extra code since you are concerned about the energy usage. I would do exactly what you suggested and use the GPS sparingly, maybe every 30 seconds or every minute to get a reference for your calculation and then use the compass and accelerometer in the interim.
Here is a great opensource location tracking library, its even been recommended by Google.