1 个稳定版本
新版本 1.0.0 | 2024 年 8 月 13 日 |
---|---|
0.2.2 |
|
0.2.1 |
|
0.1.1 |
|
#716 在 解析器实现 中
每月 120 次下载
83KB
824 代码行
Rust 的 DTED 读取器
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
文件。理论上dt1
和dt0
文件应该也能工作。
待办事项
- 地理处理:根据 WGS84 基准将 DTED 栅格数据转换为地理坐标。
- 额外的 DTED 头部解析:添加对额外的头部记录的支持。目前正在处理
DSI
和ACC
记录,并且只读取数据时,与标准UHL
头部一起读取。
依赖关系
~1.2–1.9MB
~37K SLoC