oxigdal-analytics
Advanced geospatial analytics for enterprise workflows — part of the OxiGDAL ecosystem.
Features
- Hotspot Analysis: Getis-Ord Gi* and Moran's I spatial autocorrelation
- Spatial Clustering: K-means and DBSCAN for image classification and outlier detection
- Time Series Analysis: Trend detection (Mann-Kendall), anomaly detection, seasonal decomposition
- Change Detection: CVA (Change Vector Analysis), PCA-based, and multi-temporal analysis
- Interpolation: IDW (Inverse Distance Weighting) and Kriging for spatial surface generation
- Zonal Statistics: Weighted and multi-band zonal statistics by polygon zones
- Performance Profiling: Built-in timing and throughput metrics
Installation
[]
= "0.1.2"
Usage
Hotspot Analysis (Getis-Ord Gi*)
use ;
let values = vec!;
let weights = queen_contiguity?;
let hotspots = getis_ord_gi_star?;
for h in &hotspots
Spatial Clustering
use ;
// K-means for land cover classification
let kmeans = new?; // 5 classes, 100 iterations
let labels = kmeans.fit_predict?;
// DBSCAN for hotspot outlier detection
let dbscan = new?; // eps=0.5, min_points=3
let clusters = dbscan.fit_predict?;
Time Series Trend Detection
use ;
// Mann-Kendall trend test on NDVI time series
let trend = detect_trend?;
println!;
Change Detection
use ;
// Change Vector Analysis between two epochs
let changes = detect_changes?;
println!;
Interpolation
use ;
// IDW interpolation from sparse sample points
let grid = idw?;
// Ordinary Kriging
let kriging = new?;
kriging.fit?;
let surface = kriging.predict?;
Feature Flags
| Feature | Default | Description |
|---|---|---|
parallel |
no | Rayon-based parallelism for large datasets |
simd |
no | SIMD-accelerated statistical operations |
arrow |
no | Apache Arrow integration for columnar analytics |
COOLJAPAN Policies
- Pure Rust — no C/Fortran dependencies
- No
unwrap()— all errors handled viaResult<T, OxiError> - Uses SciRS2-Core for scientific computing (not ndarray directly)
- Workspace dependencies via
*.workspace = true
License
Apache-2.0 — Copyright (c) COOLJAPAN OU (Team Kitasan)