Module header

Module header 

Source
Expand description

A Header describes the configuration and properties of las data.

§Reading

A Reader uses a Header to expose metadata:

use las::Reader;
let reader = Reader::from_path("tests/data/autzen.las").unwrap();
let header = reader.header();
println!("The file has {} points.", header.number_of_points());

§Writing

A Writer uses a Header to configure how it will write points. To create a las file, you can use a Header from another file, use the default Header, or create one with a Builder:

The default configuration writes to a Cursor:

use las::Writer;

let writer = Writer::default();

You can copy configuration from an existing file:

use std::io::Cursor;
use las::{Writer, Reader};

let header = Reader::from_path("tests/data/autzen.las").unwrap().header().clone();
let writer = Writer::new(Cursor::new(Vec::new()), header).unwrap();

Use a Builder to set your own configuration:

use std::io::Cursor;
use las::{Writer, Builder};

let mut builder = Builder::from((1, 4));
builder.system_identifier = "Synthetic points".to_string();
let header = builder.into_header().unwrap();
let writer = Writer::new(Cursor::new(Vec::new()), header).unwrap();

§Into raw bytes

A Header has a method to turn it into a raw::Header, which maps directly onto the bytes of the las spec:

use las::Header;
let header = Header::default();
let raw_header = header.into_raw().unwrap();
assert_eq!(b"LASF", &raw_header.file_signature);

Structs§

Builder
Use this structure to build a Header.
Header
Metadata describing the layout, source, and interpretation of the points.
Vlrs
An iterator over a header’s variable length records.