Cloud-Optimized GeoTIFF and Multispectral Remote Sensing Engine in MoonBit
let request = @raster.RasterWindow::new(128, 64, 512, 512)
match @raster.analyze_window(grid, request) {
Some(analysis) => println(analysis.statistics.mean.to_string())
None => println("window has no intersection")
}| Area | Packages |
|---|---|
| File formats | tiff, encoder, compression, geokeys, crs, geotiff_exif |
| Raster and indices | raster, indices, spectral, pipeline, stats, analysis |
| Spatial processing | spatial_ops, spatial_statistics, indexing, tiling, morphology |
| Terrain and quality | dem, hydrology, quality_control, validation_suite |
| Cloud and catalogs | cloud_optim, cog_validator, stac, stac_catalog |
| Tools and output | cli, main, reports, visualization, benchmark |
moon update
moon fmt --check
moon check --deny-warn
moon test --deny-warn
moon build --target native src/main
moon run --target native src/main -- helpmoon run --target native src/main -- bench 512 512moon version --all
moon update
moon fmt --check
moon check --target all --deny-warn
moon test --target all --deny-warn
moon fmt && git diff --exit-code
moon info && git diff --exit-code$files = Get-ChildItem src -Recurse -Filter *.mbt | Where-Object { $_.Name -notmatch '_test\.mbt$' }
$lines = $files | Get-Content | Where-Object {
$t = $_.Trim()
$t.Length -gt 0 -and $t -notmatch '^//' -and $t -notmatch '^///\|'
}
($lines | Measure-Object).CountCloud-Optimized GeoTIFF and Multispectral Remote Sensing Engine in MoonBit