Struct geos::WKTWriter [−][src]
pub struct WKTWriter<'a> { /* fields omitted */ }
Expand description
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
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)");
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)");
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)");
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)");
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)");
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));
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)");
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
type Context = Arc<ContextHandle<'a>>
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);
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))));
Gets the last error (if any) from the ContextHandle
held by this object. Read more
Gets the last notification (if any) from the ContextHandle
held by this object. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for WKTWriter<'a>
impl<'a> UnwindSafe for WKTWriter<'a>