3个版本

0.0.1-alpha.42024年8月5日
0.0.1-alpha.32024年7月9日
0.0.1-alpha.22024年7月8日

#9 in #transforming

Download history 253/week @ 2024-07-05 66/week @ 2024-07-12 12/week @ 2024-07-19 8/week @ 2024-07-26 192/week @ 2024-08-02 58/week @ 2024-08-09 45/week @ 2024-08-16

303 每月下载量
用于 29 个crate (17 直接)

MIT/Apache

75KB
1.5K SLoC

ecoord

3D坐标系转换的库。

该库处于早期开发阶段。

贡献

该库由慕尼黑工业大学地理信息学院开发,欢迎贡献。


lib.rs:

3D坐标系转换的库。

可以使用惯性坐标系从几何上描述3D空间中物体的位置。如果已知两个参考系之间的转换(平移和旋转),则可以确定每个参考系中的物体位置。

对于某些物体,如行人或无人机,由于它们在空间中的移动,参考系可以是时间相关的。每个转换对象都有一个以秒和纳秒定义的时间戳,可以应用不同的插值策略,如逐步或线性。

从框架到另一个框架的转换被分配到通道,这使得可以激活和停用选定的通道。如果多个通道描述了从框架到另一个框架的相同转换,则使用优先级最高的通道。如果多个通道具有相同的优先级,则使用按字母顺序排序的最后通道名称。

概述

数据结构

用于JSON反序列化的形式有三种

  • ecoord.json:可读的JSON
  • file_name.ecoord.json:带文件名的前缀
  • file_name.ecoord.json.zst:使用ZStandard压缩算法压缩的JSON

文档结构

  • document
    • transforms
      • channel_id:[String]
      • frame_id:[String]
      • child_frame_id:[String]
      • timestamp:
        • sec:[i32]
        • nanosec:[u32]
      • duration:[Option] 持续时间必须重叠(没有未定义的时间)
        • sec:[i32]
        • nanosec:[u32]
      • translation
        • x:[f64]
        • y:[f64]
        • z:[f64]
      • rotation:在四元数中
        • x:[f64]
        • y:[f64]
        • z:[f64]
        • w:[f64]
    • channel_info:通道的附加信息
      • ìd:[String]
      • priority:[Option]<[i32]>
        • 默认值: 0
        • 如果有多个通道对同一帧的子帧持有转换,则选择优先级更高的一个
    • frame_info: 帧的附加信息
      • id: [字符串]
        • 唯一标识符
      • crs_epsg: [Option]<[i32]>
    • 转换信息
      • frame_id:[String]
      • child_frame_id:[String]
      • interpolation_method: [Option]<[字符串]>
        • step (默认): 分段常数插值
        • linear: 线性插值

依赖项

~9MB
~169K SLoC