1 个稳定版本

新版本 1.0.0 2024 年 8 月 13 日
0.2.2 2024 年 7 月 15 日
0.2.1 2024 年 5 月 13 日
0.1.1 2024 年 5 月 10 日

#716解析器实现

Download history 397/week @ 2024-05-08 21/week @ 2024-05-15 7/week @ 2024-05-22 1/week @ 2024-06-05 97/week @ 2024-07-10 20/week @ 2024-07-17 3/week @ 2024-07-24

每月 120 次下载

MIT 许可证

83KB
824 代码行

Rust 的 DTED 读取器

LICENSE Crates.io Version Minimum rustc version

dted2 surface

dted 的重构,更新了 nom 版本,增强了功能,添加了特性、修复和优化!

使用方法

use dted2::{ DTEDData, DTEDMetadata };

let data = DTEDData::read("dted_file.dt2").unwrap();
let metadata: DTEDMetadata = data.metadata;
// or can read just the header without the rest of the data
let metadata: DTEDMetadata = DTEDData::read_header("dted_file.dt2").unwrap();

// query elevation, returns None if out of bounds
let elevation: f64 = data.get_elevation(50.0, 10.0).unwrap();

描述

dted2 包是一个 Rust 库,用于解析和处理 DTED (数字地形高程数据) 文件。DTED 文件是一种用于存储栅格高程数据的标准格式,尤其在军事和模拟应用中。DTED 文件中的数据存储在一个高程点矩阵中,表示相对于给定基准的地形高度。此格式支持包括视线分析、3D 可视化和任务规划在内的多个军事和模拟应用。

DTED 数据组织成三个分辨率级别

  • 级别 0:数据点之间大约 900 米。
  • 级别 1:数据点之间大约 90 米。
  • 级别 2:数据点之间大约 30 米。每个级别的 DTED 都提供适合各种应用精度要求的详细信息。

特性

  • 数据处理:高效处理大型数据集,并可选择仅处理所需数据部分以进行内存管理。
  • 读取功能:解析 DTED 文件(.dt0.dt1.dt2)到可用的数据结构中。目前只测试了 .dt2 文件。理论上 dt1dt0 文件应该也能工作。

待办事项

  • 地理处理:根据 WGS84 基准将 DTED 栅格数据转换为地理坐标。
  • 额外的 DTED 头部解析:添加对额外的头部记录的支持。目前正在处理 DSIACC 记录,并且只读取数据时,与标准 UHL 头部一起读取。

依赖关系

~1.2–1.9MB
~37K SLoC