1 个不稳定版本
0.1.0 | 2024年2月9日 |
---|
#155 在 地理空间
每月 50 次下载
27KB
425 行
georaster
Rust库,用于访问地理空间栅格图像。
使用示例
从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"),
};
将GeoTIFF的一部分提取为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();
运行示例
下载测试数据
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
依赖项
~2.5MB
~16K SLoC