c2
This commit is contained in:
parent
534992ff38
commit
c95a912577
1 changed files with 8 additions and 8 deletions
16
src/lib.rs
16
src/lib.rs
|
|
@ -1,4 +1,4 @@
|
||||||
use byteorder::{LittleEndian, WriteBytesExt};
|
use byteorder::{BigEndian, LittleEndian, WriteBytesExt};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use std::{error::Error, fs::{read_to_string, File}, path::PathBuf};
|
use std::{error::Error, fs::{read_to_string, File}, path::PathBuf};
|
||||||
use geotiff::GeoTiff;
|
use geotiff::GeoTiff;
|
||||||
|
|
@ -47,12 +47,12 @@ pub fn parse_geotiff(args: Args) -> Result<(), Box<dyn Error>> {
|
||||||
// f32 lat_per_pixel
|
// f32 lat_per_pixel
|
||||||
// u32 raster_width
|
// u32 raster_width
|
||||||
// u32 raster_height
|
// u32 raster_height
|
||||||
buffer.write_f32::<LittleEndian>(min_lon as f32)?;
|
buffer.write_f32::<BigEndian>(min_lon as f32)?;
|
||||||
buffer.write_f32::<LittleEndian>(min_lat as f32)?;
|
buffer.write_f32::<BigEndian>(min_lat as f32)?;
|
||||||
buffer.write_f32::<LittleEndian>(tfw[0] as f32)?;
|
buffer.write_f32::<BigEndian>(tfw[0] as f32)?;
|
||||||
buffer.write_f32::<LittleEndian>(tfw[3] as f32)?;
|
buffer.write_f32::<BigEndian>(tfw[3] as f32)?;
|
||||||
buffer.write_u32::<LittleEndian>(geotiff.raster_width as u32)?;
|
buffer.write_u32::<BigEndian>(geotiff.raster_width as u32)?;
|
||||||
buffer.write_u32::<LittleEndian>(geotiff.raster_height as u32)?;
|
buffer.write_u32::<BigEndian>(geotiff.raster_height as u32)?;
|
||||||
|
|
||||||
// Body: u16 height
|
// Body: u16 height
|
||||||
for x in 0..geotiff.raster_width {
|
for x in 0..geotiff.raster_width {
|
||||||
|
|
@ -63,7 +63,7 @@ pub fn parse_geotiff(args: Args) -> Result<(), Box<dyn Error>> {
|
||||||
.get_value_at::<i16>(&Coord {x: lon, y: lat}, 0)
|
.get_value_at::<i16>(&Coord {x: lon, y: lat}, 0)
|
||||||
.unwrap_or(0);
|
.unwrap_or(0);
|
||||||
let bufheight = if height >= 0 {height as u16} else {0u16};
|
let bufheight = if height >= 0 {height as u16} else {0u16};
|
||||||
buffer.write_u16::<LittleEndian>(bufheight)?;
|
buffer.write_u16::<BigEndian>(bufheight)?;
|
||||||
println!("Written {}%", (x as f64 * 100 as f64 / geotiff.raster_width as f64) as u8);
|
println!("Written {}%", (x as f64 * 100 as f64 / geotiff.raster_width as f64) as u8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue