7 releases

Uses new Rust 2024

0.0.1-alpha.12 Dec 18, 2025
0.0.1-alpha.10 Nov 28, 2025
0.0.1-alpha.9 Oct 31, 2025
0.0.1-alpha.8 Aug 8, 2025
0.0.1-alpha.3 Jul 9, 2024

#1 in #3d-space

Download history 72/week @ 2025-09-18 108/week @ 2025-09-25 86/week @ 2025-10-02 47/week @ 2025-10-09 160/week @ 2025-10-16 109/week @ 2025-10-23 115/week @ 2025-10-30 77/week @ 2025-11-06 69/week @ 2025-11-13 76/week @ 2025-11-20 118/week @ 2025-11-27 68/week @ 2025-12-04 45/week @ 2025-12-11 80/week @ 2025-12-18 64/week @ 2025-12-25 61/week @ 2026-01-01

266 downloads per month
Used in 33 crates (19 directly)

MIT/Apache

140KB
3K SLoC

ecoord

Library for transforming between 3D coordinate frames.

The library is at an early stage of development.

Contributing

The library is developed at the TUM Chair of Geoinformatics and contributions are highly welcome.


lib.rs:

A library for transforming between 3D coordinate frames.

The position of an object in 3D space can be described geometrically using an inertial frame of reference. If the transform (translation and rotation) between two reference frames is known, the object's position can be determined for each frame.

As some objects, like pedestrians or UAVs, move in space, a reference frame can be time-dependent. Each transform object has a timestamp defined in seconds and nanoseconds, whereby different interpolation strategies, such as step-wise or linear, can be applied.

Overview

Data Structure

For de/serializing JSON is used in three forms:

  • ecoord.json: readable JSON
  • file_name.ecoord.json prefixing with a file name
  • file_name.ecoord.json.zst: compressed JSON using the ZStandard compression algorithm

Document Structure:

  • document
    • edges
      • parent_frame_id: [String]
      • child_frame_id: [String]
      • interpolation_method: [Option]<[String]>
        • step (default): piecewise constant interpolation
        • linear: linear interpolation
      • extrapolation_method: [Option]<[String]>
        • constant (default): constant extrapolation
        • linear: linear extrapolation
      • samples:
        • timestamp:
          • sec: [i32]
          • nanosec: [u32]
        • translation
          • x: [f64]
          • y: [f64]
          • z: [f64]
        • rotation: in Quaternion
          • x: [f64]
          • y: [f64]
          • z: [f64]
          • w: [f64]
    • frame_info: additional information on frames
      • id: [String]
        • unique identifier
      • description: [Option]<[String]>
      • crs_epsg: [Option]<[i32]>

Dependencies

~14MB
~250K SLoC