use las::{Reader, Writer};
use std::env;
fn main() {
let mut args = env::args().skip(1);
let input = args
.next()
.expect("usage: convert_point_by_point <input> <output>");
let output = args
.next()
.expect("usage: convert_point_by_point <input> <output>");
let mut reader = Reader::from_path(&input).expect("open input");
let header = reader.header().clone();
let mut writer = Writer::from_path(&output, header).expect("open output");
let mut n: u64 = 0;
for point in reader.read_all().expect("read all").points() {
writer
.write_point(point.expect("decode point"))
.expect("write point");
n += 1;
}
writer.close().expect("close writer");
println!("Wrote {n} points to {output}");
}