Skip to main content

Crate wbgeotiff

Crate wbgeotiff 

Source
Expand description

§wbgeotiff

wbgeotiff is the shared low-level GeoTIFF engine used by Whitebox Rust crates. It provides pure-Rust read/write support for GeoTIFF, BigTIFF, and COG.

§Feature Summary

FeatureAPI
Read GeoTIFF/BigTIFFGeoTiff
Write stripped/tiled GeoTIFFGeoTiffWriter + WriteLayout
Write COGCogWriter
Compression selectionCompression
GeoreferencingGeoTransform + GeoKeys

§Reading

use wbgeotiff::GeoTiff;
let tiff = GeoTiff::open("dem.tif").unwrap();
println!("{}x{} BigTIFF={}", tiff.width(), tiff.height(), tiff.is_bigtiff);
let data: Vec<f32> = tiff.read_band_f32(0).unwrap();

§Writing (tiled + BigTIFF)

use wbgeotiff::{Compression, GeoTiffWriter, GeoTransform, SampleFormat, WriteLayout};
GeoTiffWriter::new(8192, 8192, 1)
    .layout(WriteLayout::Tiled { tile_width: 512, tile_height: 512 })
    .compression(Compression::Deflate)
    .sample_format(SampleFormat::IeeeFloat)
    .bigtiff(true)
    .geo_transform(GeoTransform::north_up(0.0, 0.001, 8.192, -0.001))
    .epsg(4326)
    .write_f32("large.tif", &vec![0.0f32; 8192 * 8192])
    .unwrap();

§Cloud Optimized GeoTIFF

use wbgeotiff::{CogWriter, Compression, GeoTransform, Resampling};
CogWriter::new(4096, 4096, 1)
    .compression(Compression::Deflate)
    .tile_size(512)
    .resampling(Resampling::Average)
    .geo_transform(GeoTransform::north_up(-180.0, 0.0879, 90.0, -0.0879))
    .epsg(4326)
    .write_f32("output.cog.tif", &vec![0.0f32; 4096 * 4096])
    .unwrap();

Re-exports§

pub use cog::CogWriter;
pub use cog::Resampling;
pub use tags::Compression;
pub use error::GeoTiffError;
pub use error::Result;
pub use geo_keys::GeoKeyDirectory;
pub use geo_keys::ModelType;
pub use geo_keys::RasterType;
pub use ifd::TiffVariant;
pub use reader::GeoTiff;
pub use reader::ValueTransform;
pub use tags::PhotometricInterpretation;
pub use tags::PlanarConfig;
pub use tags::SampleFormat;
pub use types::GeoTransform;
pub use writer::GeoTiffWriter;
pub use writer::WriteLayout;

Modules§

cog
Cloud Optimized GeoTIFF (COG) writer.
compression
Compression and decompression implementations.
error
Error types for the GeoTIFF library.
geo_keys
GeoTIFF GeoKey directory parsing and construction.
ifd
TIFF and BigTIFF Image File Directory (IFD) reading and writing utilities.
reader
High-level GeoTIFF reader.
tags
TIFF and GeoTIFF tag constants and enumerations.
types
Core geometric and geographic types.
writer
GeoTIFF writer supporting stripped, tiled, and BigTIFF output.