Crates.io | georaster |
lib.rs | georaster |
version | |
source | src |
created_at | 2024-02-09 13:45:57.025359 |
updated_at | 2025-01-11 17:35:15.045536 |
description | Rust library for accessing geospatial raster images. |
homepage | https://github.com/pka/georaster |
repository | https://github.com/pka/georaster |
max_upload_size | |
id | 1133966 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Rust library for accessing geospatial raster images.
Read pixel value from GeoTIFF:
let img_file = BufReader::new(File::open("N265E425.tif").unwrap());
let mut tiff = GeoTiffReader::open(img_file).unwrap();
match tiff.read_pixel(x, y) {
RasterValue::U16(v) => println!("Height: {v}"),
_ => println!("Unexpected pixel type"),
};
Extract part of GeoTIFF into a PNG:
let img_file = BufReader::new(File::open("N265E425.tif").unwrap());
let mut tiff = GeoTiffReader::open(img_file).unwrap();
let (x0, y0, w, h) = (2500, 3000, 100, 100);
let mut img = ImageBuffer::new(w, h);
for (x, y, pixel) in tiff.pixels(x0, y0, w, h) {
if let RasterValue::U16(v) = pixel {
img.put_pixel(x - x0, y - y0, image::Luma([v]));
}
}
img.save("dtm.png").unwrap();
Download test data:
cd data
make
cargo run --example info data/tiff/N265E425.tif
cargo run --example pixel data/tiff/N265E425.tif 2550 3050
cargo run --example crop data/tiff/N265E425.tif 100x100+2500+3000 dtm.png
cargo run --example img2ascii data/tiff/sat.tif
cargo run --example http_dtm