#变换 #坐标 #转换 #地理空间 #线性代数

coord_transforms

一个用于执行坐标变换的 Rust 包

8 个稳定版本

使用旧的 Rust 2015

1.4.0 2022年6月24日
1.3.1 2021年4月21日
1.3.0 2020年7月25日
1.2.2 2018年11月18日
1.1.0 2017年10月12日

#1071算法


blobtk 中使用

MIT 许可证

44KB
702

概要

一个用于执行坐标变换的 Rust 包。该包依赖于 nalgebra 向量来执行坐标变换。

Build Status


代码示例

let ellipsoid = geo_ellipsoid::geo_ellipsoid::new(geo_ellipsoid::WGS84_SEMI_MAJOR_AXIS_METERS, 
                                                    geo_ellipsoid::WGS84_FLATTENING);
let lla_vec: Vector3<f64> = Vector3::new(3.0, 4.0, 5.0);
let ecef_vec = lla2ecef(&lla_vec, &ellipsoid);
assert_approx_eq!(ecef_vec.x, 4127585.379918784);
assert_approx_eq!(ecef_vec.y, 4779006.1975849345);
assert_approx_eq!(ecef_vec.z, 894117.5572814466);

功能

  • 简单的一行函数调用,用于将一个坐标系转换为另一个坐标系
  • 提供常见的地理模型以供地理坐标变换使用
  • 使用 nalgebra(广泛使用的线性代数包)

使用建议

  • 使用 Rayon! Rayon 允许轻松并行化 - 坐标变换是理想的候选者。请查看 examples/benchmarking 中的示例。

路线图 / 灵感

  • 对无效输入数据的断言/Option 返回

示例

正在构建非常早期的示例工作。这些包含基本示例、基准测试和其他类型的示例,以帮助使用该包。要从 /examples 目录运行示例

cargo run --release --example <FILE_NAME_HERE>

许可证

版权所有 (c) 2017 David Kramer

以下条件下,任何人获取本软件及其相关文档文件的副本(以下简称“软件”),均可免费使用该软件,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向获得软件的人提供使用该软件的权利,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是因合同、侵权或其他方式引起的,与软件或软件的使用或其它交易有关。

依赖项

~3MB
~58K SLoC