Compass
Compass is a GPS tracking server that stores data in flat files.
Setup
In the compass
directory, copy .env.example
to .env
and fill in the details. Install the dependencies with composer.
API
After you create a tracking database, you can visit the database's settings page to get a read or write token. These tokens are used with the API to update or retrieve data.
Writing
To write to a database, make a POST request in JSON format with the following keys:
POST /api/input
- locations - a list of GeoJSON objects
- token - the write token for the database
The GeoJSON objects must have at least one property, "timestamp", which is can be any value that can be interpreted as a date. The object can have any additional properties you wish.
The open source iOS GPS Logger will send data in this format by default.
Reading
To read a database, make a GET request as follows:
GET /api/query
- token - (required) the read token for the database
- tz - (optional, default UTC) timezone string (e.g. America/Los_Angeles) which will be used to determine the absolute start/end times for the day
- format - (optional, default "full") either "full" or "linestring"
- full - return one JSON record for each result in the database
- linestring - combine all the returned results into a GeoJSON linestring
- date - specify a date to return all data on that day (YYYY-mm-dd format)
GET /api/last
- token - (required) the read token for the database
- tz - (optional, default UTC) timezone string (e.g. America/Los_Angeles) which will be used to determine the absolute start/end times for the day
- date - (optional, default to now) specify a full timestamp to return a single record before this date (the point returned will be no more than 24 hours before the given date)
- geocode - (optional) if "true", then the location found will be reverse geocoded using Atlas to find the city and timezone at the location
Credits
Compass icon by Ryan Spiering from the Noun Project.
License
Copyright 2015 by Aaron Parecki
Compass is licensed under the Apache 2.0 license
Compass is built using the Lumen framework, which is licensed under the MIT license