Skip to main content

geotiff_writer/
lib.rs

1//! Pure-Rust GeoTIFF and COG writer with compression, tiling, and overview support.
2//!
3//! Compression: None, LZW, Deflate, JPEG (feature), LERC, LERC+Deflate, LERC+Zstd, ZSTD (feature).
4//!
5//! # Example
6//!
7//! ```no_run
8//! use geotiff_writer::GeoTiffBuilder;
9//! use ndarray::Array2;
10//!
11//! let data = Array2::<f32>::zeros((100, 100));
12//! GeoTiffBuilder::new(100, 100)
13//!     .epsg(4326)
14//!     .pixel_scale(0.01, 0.01)
15//!     .origin(-180.0, 90.0)
16//!     .nodata("-9999")
17//!     .write_2d("output.tif", data.view())
18//!     .unwrap();
19//! ```
20
21pub mod builder;
22pub mod cog;
23pub mod error;
24pub mod sample;
25pub mod tile_writer;
26
27pub use builder::GeoTiffBuilder;
28pub use cog::{CogBuilder, CogTileWriter, Resampling};
29pub use error::{Error, Result};
30pub use sample::{NumericSample, WriteSample};
31pub use tile_writer::StreamingTileWriter;
32
33// Re-export core types for convenience
34pub use geotiff_core::{
35    CrsInfo, CrsKind, GeoKeyDirectory, GeoKeyValue, GeoTransform, HorizontalCrs, ModelType,
36    RasterType, VerticalCrs,
37};
38pub use tiff_core::{
39    ColorMap, ColorModel, Compression, ExtraSample, InkSet, LercAdditionalCompression,
40    PhotometricInterpretation, PlanarConfiguration, Predictor, YCbCrPositioning,
41};
42pub use tiff_writer::{JpegOptions, LercOptions, TiffVariant};