pub struct AsciiWriter<T: Write + Seek> { /* private fields */ }
Expand description
PointWriterFormatting
implementation for Ascii files
Implementations§
Source§impl AsciiWriter<BufWriter<File>>
impl AsciiWriter<BufWriter<File>>
Sourcepub fn from_path<P: AsRef<Path>>(path: P, format: &str) -> Result<Self>
pub fn from_path<P: AsRef<Path>>(path: P, format: &str) -> Result<Self>
Creates a new AsciiWriter
by opening the file at the given path
.
The format
string slice coordinates the interpretation of each column.
This functions just wraps a BufWriter
around a File
and uses AsciiWriter::from_write
.
For more information see AsciiWriter::from_write
.
§Examples
use std::path::Path;
use anyhow::Result;
use pasture_io::ascii::AsciiWriter;
fn main() -> Result<()> {
let path = Path::new("output.txt");
let writer = AsciiWriter::from_path(path, "xyzie")?;
Ok(())
}
§Errors
If path
cannot be created or overwritten, an error is returned.
If format
contains unrecoginzed literals, an error is returned.
Source§impl<T: Write + Seek> AsciiWriter<T>
impl<T: Write + Seek> AsciiWriter<T>
Sourcepub fn from_write(write: T, format: &str) -> Result<Self>
pub fn from_write(write: T, format: &str) -> Result<Self>
Creates a new AsciiWriter
from the given write
.
The format
string slice coordinates the interpretation of each column.
The following literals can be interpreted from AsciiWriter
:
- s → skip this column
- x → x coordinate
- y → y coordinate
- z → z coordinate
- i → intensity
- r → ReturnNumber
- n → number of returns of given pulse
- c → classification
- t → gps time
- u → user data
- p → point source ID
- R → red channel of RGB color
- G → green channel of RGB color
- B → blue channel of RGB color
- e → edge of flight line flag
- d → direction of scan flag
- a → scan angle rank
- I → NIR channel
§Examples
use std::io::{BufWriter};
use std::fs::File;
use anyhow::Result;
use pasture_io::ascii::AsciiWriter;
fn main() -> Result<()> {
let write = BufWriter::new(File::create("output.txt")?);
let writer = AsciiWriter::from_write(write, "xyzi")?;
Ok(())
}
§Errors
If the given Write
cannot write, an error is returned.
If format
contains unrecoginzed literals, an error is returned.
Trait Implementations§
Source§impl<T: Write + Seek> PointWriter for AsciiWriter<T>
impl<T: Write + Seek> PointWriter for AsciiWriter<T>
Source§fn write<'a, B: BorrowedBuffer<'a>>(&mut self, points: &'a B) -> Result<()>
fn write<'a, B: BorrowedBuffer<'a>>(&mut self, points: &'a B) -> Result<()>
Write the points in the given
PointBuffer
to the associated PointWriter
.Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this
PointWriter
, ensuring that all points are written to their destination and that all required
metadata is written as wellSource§fn get_default_point_layout(&self) -> &PointLayout
fn get_default_point_layout(&self) -> &PointLayout
Returns the default
PointLayout
of the associated PointWriter
Auto Trait Implementations§
impl<T> Freeze for AsciiWriter<T>where
T: Freeze,
impl<T> RefUnwindSafe for AsciiWriter<T>where
T: RefUnwindSafe,
impl<T> Send for AsciiWriter<T>where
T: Send,
impl<T> Sync for AsciiWriter<T>where
T: Sync,
impl<T> Unpin for AsciiWriter<T>where
T: Unpin,
impl<T> UnwindSafe for AsciiWriter<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.