1 个不稳定版本

0.1.0 2023 年 3 月 31 日

#162地理空间

MIT 许可证

63KB
1.5K SLoC

location2gpx

Crate API github sponsors

从综合来源生成 GPX 文件。

可视化操作您的轨迹,使用从 mongodb 集合或 CSV 中的原始数据生成的 .gpx 文件。

location2gpx 的工作原理

  1. 连接到您的源并检索提供的范围内的所有记录
  2. 按设备和路线对您的位置进行分组
  • 每个设备和路线将成为一个 GPX 轨迹
  1. 轨迹位置将根据最大时间值分割成 GPX 轨迹段
  • 在段中,您有所有具有海拔、速度和时间的点
  • 如果需要,可以使用 Visvalingam-Whyatt 算法简化每个轨迹段
  1. 您的 GPX 文件已准备好

如何使用

使用 mongodb

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

使用 CSV 文件

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

输出将如下所示 示例

如何配置字段

要配置,您需要设置一个 yaml 文件并使用 --config 参数。您也可以将配置放在您的 $HOME 中,使用 ~/.loc2gpx.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

帮助信息

通用

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

USAGE:
    location2gpx <SUBCOMMAND>

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 命令

Generate a GPX from a mongodb collection source

USAGE:
    location2gpx mongo [OPTIONS] <CONNECTION> <COLLECTION> <START> <END> <DESTINATION>

ARGS:
    <CONNECTION>     Mongo connection string source
    <COLLECTION>     Mongo collection name
    <START>          Start time, RFC3339 format
    <END>            End time, RFC3339 format
    <DESTINATION>    GPX path file destination

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

CSV 命令

Generate a GPX from a CSV file source

USAGE:
    location2gpx csv [OPTIONS] <CSV_PATH> <START> <END> <DESTINATION>

ARGS:
    <CSV_PATH>       CSV file source
    <START>          Start time, RFC3339 format
    <END>            End time, RFC3339 format
    <DESTINATION>    GPX path file destination

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

目标

  • 从集合生成 gpx 文件中的轨迹
  • 对轨迹段应用简化算法
  • 支持设备和路线区分
  • 支持 mongodb 源
  • 支持 CSV 源
  • 支持 firebird 源

依赖项

~10–25MB
~365K SLoC