location2gpx

Crate API github sponsors

GPX file generator from consolidated sources.

Visualize or manipulate your tracks with a .gpx file from raw data in mongodb collections or CSV.

How location2gpx works

  1. Connect to your source and fetch all the records of provided range
  2. Groups all your positions by a device and route
  3. Track positions will be split by a maximum time value into GPX track segments
  4. Your GPX file are ready

How to use

With mongodb: bash cargo run -- mongo "mongodb://localhost:27017/yourdb" yourcollection "2020-01-01T00:00:00.000+00:00" "2020-12-31T00:00:00.000+00:00" /tmp/my-tracks-2020.gpx

With CSV file: bash cargo run -- csv yourfile.csv "2020-01-01T00:00:00.000+00:00" "2020-12-31T00:00:00.000+00:00" /tmp/my-tracks-2020.gpx

Output will be like this sample.

How configure fields

To configurate, you need to setup a yaml file and use the --config parameter. You can also leave your config on your $HOME with ~/.loc2gpx.yaml.

Configuration example: yaml fields: device_id: dev_id time: dev_time coordinates: coords # route: # elevation: # speed: segments: vw_simplify: 0.000001 # Tolerance for Visvalingam-Whyatt simplification algorithm max_segment_time: 300 # Max segment time(in seconds) allowed

Help messages

General: ``` CLI of location2gpx - Convert your raw GPS data into a GPX file

USAGE: location2gpx

OPTIONS: -h, --help Print help information

SUBCOMMANDS: csv Generate a GPX from a CSV file source help Print this message or the help of the given subcommand(s) mongo Generate a GPX from a mongodb collection source ```

Mongodb command: ``` Generate a GPX from a mongodb collection source

USAGE: location2gpx mongo [OPTIONS]

ARGS: Mongo connection string source Mongo collection name Start time, RFC3339 format End time, RFC3339 format GPX path file destination

OPTIONS: --config Fields and segments configuration. Default: .loc2gpx.yaml, ~/.loc2gpx.yaml -h, --help Print help information ```

CSV command: ``` Generate a GPX from a CSV file source

USAGE: location2gpx csv [OPTIONS]

ARGS: CSV file source Start time, RFC3339 format End time, RFC3339 format GPX path file destination

OPTIONS: --config Fields and segments configuration. Default: .loc2gpx.yaml, ~/.loc2gpx.yaml -h, --help Print help information ```

Goals