#spatial #geospatial

rosewood

基于文件的地理空间数据RTree

4个版本 (2个破坏性版本)

0.3.1 2024年6月6日
0.3.0 2024年1月19日
0.2.0 2024年1月11日
0.1.0 2021年8月29日

#119 in 地理空间


2 crates 中使用

MIT/Apache

43KB
1K SLoC

Rosewood

基于文件的RTree,用于地理空间数据,如 PointLinestringPolygon

编写

use rosewood::{BulkWriter, gis::Points};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut w = BulkWriter::new("points.loam")?;
    let mut a = Points::new("point A".to_string());
    a.push((5.0, 1.0));
    let mut b = Points::new("point B".to_string());
    b.push((3.0, 7.3));
    w.push(&a)?;
    w.push(&b)?;
    w.finish()?;
    Ok(())
}

GisData 可以具有相关数据,这些数据必须实现来自 serdeSerialize / Deserialize 特性。在上面的例子中,这是 String

依赖关系

~1–1.7MB
~37K SLoC