use thiserror::Error;
#[derive(Error, Debug)]
pub enum TiffError {
#[error("GDAL 驱动错误: {0}")]
Gdal(#[from] gdal::errors::GdalError),
#[error("数据形状错误: {0}")]
Shape(#[from] ndarray::ShapeError),
#[error("IO 错误: {0}")]
Io(#[from] std::io::Error),
#[error("缺少波段: {0}, 波段索引: {1}")]
BandMissing(String, usize),
#[error("裁剪参数无效: {0}")]
InvalidCropBounds(String),
}