use rstiff::GeoTiff;
use std::error::Error;
use std::path::Path;
fn main() -> Result<(), Box<dyn Error>> {
let input = Path::new("./data/Hawaiin_part.tif");
if !input.exists() {
println!("Please provide ./data/Hawaiin_part.tif");
return Ok(());
}
println!("Reading: {:?}", input);
let mut tif = GeoTiff::read(input)?;
println!(
"Successfully read. Type: {:?}, NoData: {:?}",
tif.original_type, tif.nodata
);
if let Some(val) = tif.data.get_mut((0, 0, 0)) {
println!("Old pixel value at (0,0,0): {}", val);
*val += 50.0;
println!("New pixel value at (0,0,0): {}", val);
}
let output = Path::new("./data/basic_io_output.tif");
tif.write(output)?;
println!("Written modified data to: {:?}", output);
Ok(())
}