[][src]Struct geos::WKTWriter

pub struct WKTWriter<'a> { /* fields omitted */ }

The WKTWriter type is used to generate WKT formatted output from [Geometry].

Example

use geos::{Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000000000000000 2.5000000000000000)");

Implementations

impl<'a> WKTWriter<'a>[src]

pub fn new() -> GResult<WKTWriter<'a>>[src]

Creates a new WKTWriter instance.

Example

use geos::{Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000000000000000 2.5000000000000000)");

pub fn new_with_context(
    context: Arc<ContextHandle<'a>>
) -> GResult<WKTWriter<'a>>
[src]

Creates a new WKTWriter instance with a given context.

Example

use geos::{ContextHandling, Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new_with_context(point_geom.clone_context())
                           .expect("Failed to create WKTWriter");

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000000000000000 2.5000000000000000)");

pub fn write<'b, G: Geom<'b>>(&mut self, geometry: &G) -> GResult<String>[src]

Writes out the given geometry as WKT format.

Example

use geos::{Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000000000000000 2.5000000000000000)");

pub fn set_rounding_precision(&mut self, precision: u32)[src]

Sets the precision to be used when calling WKTWriter::write. Often, what users actually want is the WKTWriter::set_trim method instead.

Example

use geos::{Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

writer.set_rounding_precision(2);
assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.50 2.50)");

writer.set_rounding_precision(4);
assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000 2.5000)");

pub fn set_output_dimension(&mut self, dimension: OutputDimension)[src]

Sets the number of dimensions to be used when calling WKTWriter::write. By default, it is 2.

Example

use geos::{Geometry, OutputDimension, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (1.1 2.2 3.3)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");
writer.set_trim(true);

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (1.1 2.2)");

writer.set_output_dimension(OutputDimension::ThreeD);
assert_eq!(writer.write(&point_geom).unwrap(), "POINT Z (1.1 2.2 3.3)");

pub fn get_out_dimension(&self) -> GResult<OutputDimension>[src]

Returns the number of dimensions to be used when calling WKTWriter::write. By default, it is 2.

Example

use geos::{OutputDimension, WKTWriter};

let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

assert_eq!(writer.get_out_dimension(), Ok(OutputDimension::TwoD));
writer.set_output_dimension(OutputDimension::ThreeD);
assert_eq!(writer.get_out_dimension(), Ok(OutputDimension::ThreeD));

pub fn set_trim(&mut self, trim: bool)[src]

Enables/disables trimming of unnecessary decimals.

Example

use geos::{Geometry, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5000000000000000 2.5000000000000000)");

writer.set_trim(true);
assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5 2.5)");

pub fn set_old_3D(&mut self, use_old_3D: bool)[src]

Enables/disables old 3D/4D WKT style generation.

Example

use geos::{Geometry, OutputDimension, WKTWriter};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5 2.5)").expect("Invalid geometry");
let mut writer = WKTWriter::new().expect("Failed to create WKTWriter");

writer.set_output_dimension(OutputDimension::ThreeD);
writer.set_trim(true);

assert_eq!(writer.write(&point_geom).unwrap(), "POINT Z (2.5 2.5 2.5)");

writer.set_old_3D(true);
assert_eq!(writer.write(&point_geom).unwrap(), "POINT (2.5 2.5 2.5)");

Trait Implementations

impl<'a> ContextHandling for WKTWriter<'a>[src]

impl<'a> ContextInteractions<'a> for WKTWriter<'a>[src]

fn set_context_handle(&mut self, context: ContextHandle<'a>)[src]

Set the context handle to the WKTWriter.

use geos::{ContextInteractions, ContextHandle, WKTWriter};

let context_handle = ContextHandle::init().expect("invalid init");
let mut writer = WKTWriter::new().expect("failed to create WKT writer");
context_handle.set_notice_message_handler(Some(Box::new(|s| println!("new message: {}", s))));
writer.set_context_handle(context_handle);

fn get_context_handle(&self) -> &ContextHandle<'a>[src]

Get the context handle of the WKTWriter.

use geos::{ContextInteractions, WKTWriter};

let mut writer = WKTWriter::new().expect("failed to create WKT writer");
let context = writer.get_context_handle();
context.set_notice_message_handler(Some(Box::new(|s| println!("new message: {}", s))));

impl<'a> Drop for WKTWriter<'a>[src]

impl<'a> Send for WKTWriter<'a>[src]

impl<'a> Sync for WKTWriter<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for WKTWriter<'a>

impl<'a> Unpin for WKTWriter<'a>

impl<'a> UnwindSafe for WKTWriter<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.