Skip to main content

Crate terrustrial

Crate terrustrial 

Source
Expand description

§Terrustrial

Terrustrial is an experimental Rust library for geostatistics, variograms, and kriging, designed for high performance and flexibility in geospatial analysis.

§Features

  • Geometry primitives: Axis-aligned bounding boxes, ellipsoids, and support for spatial queries.
  • Spatial databases: Efficient spatial indexing and coordinate system utilities.
  • Group operators: Kriging, indicator kriging, and inverse distance estimation methods.
  • Variography: Experimental and model variograms, including spherical, exponential, and composite models.
  • System solvers: Linear algebra utilities for solving kriging systems.

§Example

use terrustrial::prelude::*;
// Read point cloud from file
let cond = SpatialAcceleratedDB::from_csv_index(FILE_PATH, "X", "Y", "Z", "CU")
    .expect("Failed to create gdb");
// Create blocks and group provider
let blocks = get_blocks();
let groups = GroupProvider::optimized_groups(&blocks, 5.0, 5.0, 10.0, 2, 2, 2);
// Variogram setup
let vgram_rot = DRotor3::from_euler_angles(0.0, 0.0, 0.0);
let range = DVec3::new(100.0, 200.0, 100.0);
let sill = 1.0;
let spherical_vgram = CompositeVariogram::new(vec![VariogramType::Spherical(
    SphericalVariogram::new(range, sill, vgram_rot),
)]);
// Search ellipsoid
let search_ellipsoid = Ellipsoid::new(
    200.0, 50.0, 50.0,
    CoordinateSystem::new(DVec3::zero(), vgram_rot),
);
// Conditioning params
let params = ConditioningParams::default();
// Estimate grades using ordinary kriging
let values = estimate(
    &cond,
    &params,
    &spherical_vgram,
    search_ellipsoid,
    &groups,
    SolvedLUOKSystemBuilder,
);

§Modules

§License

Licensed under MIT or Apache-2.0.

Modules§

geometry
group_operators
Group Operators
prelude
spatial_database
Spatial Database
systems
Systems
variography
Variography

Constants§

FORWARD
RIGHT
UP