Expand description
OxiGDAL Compression Library
Advanced compression codecs and auto-selection for geospatial data.
§Features
- Standard Codecs: LZ4, Zstandard, Brotli, Snappy, DEFLATE
- Geospatial Codecs: Delta encoding, RLE, Dictionary compression
- Floating-Point: ZFP and SZ-style compression with error bounds
- Auto-Selection: Intelligent codec selection based on data characteristics
- Parallel Processing: Multi-threaded compression/decompression
- Benchmarking: Built-in performance measurement
§Examples
use oxigdal_compress::{
codecs::{Lz4Codec, ZstdCodec},
auto_select::{AutoSelector, CompressionGoal, DataType, DataCharacteristics},
};
// Basic compression with LZ4
let codec = Lz4Codec::new();
let data = b"Hello, world!".repeat(1000);
let compressed = codec.compress(&data)?;
let decompressed = codec.decompress(&compressed, Some(data.len()))?;
assert_eq!(decompressed, data);
// Auto-selection
let selector = AutoSelector::new(CompressionGoal::Balanced);
let characteristics = DataCharacteristics {
data_type: DataType::Categorical,
size: 10000,
entropy: 0.3,
unique_count: Some(10),
value_range: None,
run_length_ratio: Some(50.0),
};
let recommendations = selector.recommend(&characteristics);
println!("Recommended codec: {:?}", recommendations[0].codec);Re-exports§
pub use error::CompressionError;pub use error::Result;
Modules§
- auto_
select - Automatic codec selection
- benchmark
- Built-in compression benchmarking
- codecs
- Compression codecs
- error
- Error types for compression operations
- floating_
point - Floating-point compression
- metadata
- Compression metadata and statistics
- parallel
- Parallel compression and decompression
- prelude
- Prelude module for common imports