Setting up Compass with GPS Logger for Android

After much debate about whether to build my own solution or install one, I installed Aaron Parecki’s Compass.

Compass is a GPS Tracking server. It is specifically tailored to an iOS app Aaron developed called Overland. Which creates a problem as I am an Android user.

So, I needed an Android app that could send data to Compass. I tried GPS Logger. It is a popular GPS Logging app, although I’m not sure if it was intended for 24 hour a day use. It seems the biggest use cases it is used for would be gps tagging of photos and tracking hacks.

It supports logging to a custom URL. THe following settings have to be set

  • URL: https://example.org/api/input?token=xxxxxxxxxxxxxx
  • HTTP Header: Content-Type: application/json
  • HTTP Method: POST
  • HTTP Body: { “locations”: [ { “type”: “Feature”, “geometry”: { “type”: “Point”, “coordinates”: [%LON, %LAT, %ALT] }, “properties”: { “timestamp”: “%TIME”, “speed”: %SPD, “direction”: %DIR, “activity”: “%ACT”, “provider”: “%PROV”, “battery_level”: %BATT, “horizontal_accuracy”: “%ACC”, “annotation”: “%DESC”, “device_id”: “%SER” } } ] }

The above sends a variety of preset parameters GPS Logger provides in the format Compass expects.

 

 

Simple Location 3.6.3 Released

Version 3.6.3 of Simple Location has been released. This adds Aaron Parecki’s Compass server as a location provider.

Location providers in Simple Location look up the current location of the user.  As I write this, I realize that I set it up to globally look up the location, and I could make it, since Compass has users, allow for a different lookup per user.  Future feature, I suppose, along with looking up historic location.

Since I hate to do just one thing, I added in a new weather provider that had been on my list, APIXU.

The goal I have in adding as additional providers that perform the same function…map, weather, location, reverse geocoding, elevation is that I do not want to be beholden to one company. If my access shuts down, I can switch to another one. Someday, I may implement automatic fallover.