Struct geos::ConstGeometry

source ·
pub struct ConstGeometry<'a, 'b> { /* private fields */ }
Expand description

only not mutable operations are implemented on it.

§Example

use geos::{Geom, Geometry};

let geom = Geometry::new_from_wkt("POLYGON((0 0, 10 0, 10 6, 0 6, 0 0),\
                                           (1 1, 2 1, 2 5, 1 5, 1 1),\
                                           (8 5, 8 4, 9 4, 9 5, 8 5))")
                   .expect("Invalid geometry");
let point_geom = geom
    .get_interior_ring_n(0)
    .expect("failed to get const geometry");

Implementations§

source§

impl<'a, 'b> ConstGeometry<'a, 'b>

source

pub fn get_context_handle(&self) -> &ContextHandle<'a>

Get the context handle of the geometry.

use geos::{ContextInteractions, Geometry};

let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
let context = point_geom.get_context_handle();
context.set_notice_message_handler(Some(Box::new(|s| println!("new message: {}", s))));

Trait Implementations§

source§

impl<'a, 'd> ContextHandling for ConstGeometry<'a, 'd>

source§

impl<'a, 'd> Geom<'a> for ConstGeometry<'a, 'd>

source§

fn get_type(&self) -> GResult<String>

Returns the type of the geometry. Read more
source§

fn geometry_type(&self) -> GeometryTypes

source§

fn is_valid(&self) -> bool

Checks if the geometry is valid. Read more
source§

fn is_valid_reason(&self) -> GResult<String>

Returns an explanation on why the geometry is invalid. Read more
source§

fn get_coord_seq(&self) -> GResult<CoordSeq<'a>>

Get the underlying geos CoordSeq object from the geometry Read more
source§

fn area(&self) -> GResult<f64>

Returns the area of the geometry. Units are specified by the SRID of the given geometry. Read more
source§

fn to_wkt(&self) -> GResult<String>

Returns a WKT representation of the geometry. It defaults to 2 dimensions output. Use WKTWriter type directly if you want more control. Read more
source§

fn to_wkt_precision(&self, precision: u32) -> GResult<String>

Returns a WKT representation of the geometry with the given precision. It is a wrapper around WKTWriter::set_rounding_precision. Read more
source§

fn is_ring(&self) -> GResult<bool>

Returns true if the geometry is a ring. Read more
source§

fn intersects<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if self shares any portion of space with other. So if any of this is true: Read more
source§

fn crosses<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if self and other have at least one interior into each other. Read more
source§

fn disjoint<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if self doesn’t: Read more
source§

fn touches<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if the only points in common between self and other lie in the union of the boundaries of self and other. Read more
source§

fn overlaps<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if self spatially overlaps other. Read more
source§

fn within<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if self is completely inside other. Read more
source§

fn equals<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Checks if the two Geometry objects are equal. Read more
source§

fn equals_exact<'b, G: Geom<'b>>( &self, other: &G, precision: f64 ) -> GResult<bool>

Checks if the two Geometry objects are exactly equal. Read more
source§

fn covers<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if no point of other is outside of self. Read more
source§

fn covered_by<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if no point of self is outside of other. Read more
source§

fn contains<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>

Returns true if no points of the other geometry is outside the exterior of self. Read more
source§

fn buffer(&self, width: f64, quadsegs: i32) -> GResult<Geometry<'a>>

Returns a geometry which represents all points whose distance from self is less than or equal to distance. Read more
source§

fn buffer_with_params( &self, width: f64, buffer_params: &BufferParams<'_> ) -> GResult<Geometry<'a>>

Returns a geometry which represents all points whose distance from self is less than or equal to distance. Read more
source§

fn buffer_with_style( &self, width: f64, quadsegs: i32, end_cap_style: CapStyle, join_style: JoinStyle, mitre_limit: f64 ) -> GResult<Geometry<'a>>

Returns a geometry which represents all points whose distance from self is less than or equal to distance. Read more
source§

fn is_empty(&self) -> GResult<bool>

Returns true if the given geometry is empty. Read more
source§

fn is_simple(&self) -> GResult<bool>

Returns true if the given geometry has no anomalous geometric points, such as self intersection or self tangency. Read more
source§

fn difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>

Returns a geometry which represents part of self that doesn’t intersect with other. Read more
source§

fn envelope(&self) -> GResult<Geometry<'a>>

Returns the minimum bouding box of the given geometry. Read more
source§

fn sym_difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>

Returns a geometry which represents the parts of self and other that don’t intersect. Read more
source§

fn union<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>

Aggregates the given geometry with another one. Read more
source§

fn get_centroid(&self) -> GResult<Geometry<'a>>

Returns the geometric center or (equivalently) the center of mass of the given geometry as a point. Read more
source§

fn unary_union(&self) -> GResult<Geometry<'a>>

Documentation from postgis: Read more
source§

fn voronoi<'b, G: Geom<'b>>( &self, envelope: Option<&G>, tolerance: f64, only_edges: bool ) -> GResult<Geometry<'a>>

Create a voronoi diagram. Read more
source§

fn intersection<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>

Returns a geometry representing the intersection between self and other. Read more
source§

fn convex_hull(&self) -> GResult<Geometry<'a>>

Documentation from postgis: Read more
source§

fn boundary(&self) -> GResult<Geometry<'a>>

Returns the closure of the combinatorial boundary of self. Read more
source§

fn has_z(&self) -> GResult<bool>

Returns true if self has a Z coordinate. Read more
source§

fn is_closed(&self) -> GResult<bool>

Returns true if start and end point are coincident. Read more
source§

fn length(&self) -> GResult<f64>

Returns the length of self. The unit depends of the SRID. Read more
source§

fn distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>

Returns the distance between self and other. The unit depends of the SRID. Read more
source§

fn distance_indexed<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>

Returns the indexed distance between self and other. The unit depends of the SRID. Read more
source§

fn hausdorff_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>

Returns the hausdorff distance between self and other. The unit depends of the SRID. Read more
source§

fn hausdorff_distance_densify<'b, G: Geom<'b>>( &self, other: &G, distance_frac: f64 ) -> GResult<f64>

Returns the hausdorff distance between self and other. The unit depends of the SRID. Read more
source§

fn frechet_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>

Returns the frechet distance between self and other. The unit depends of the SRID. Read more
source§

fn frechet_distance_densify<'b, G: Geom<'b>>( &self, other: &G, distance_frac: f64 ) -> GResult<f64>

Returns the frechet distance between self and other. The unit depends of the SRID. Read more
source§

fn get_length(&self) -> GResult<f64>

Returns the length of the given geometry. Read more
source§

fn snap<'b, G: Geom<'b>>( &self, other: &G, tolerance: f64 ) -> GResult<Geometry<'a>>

Documentation from postgis: Read more
source§

fn extract_unique_points(&self) -> GResult<Geometry<'a>>

Returns unique points of self.
source§

fn nearest_points<'b, G: Geom<'b>>(&self, other: &G) -> GResult<CoordSeq<'a>>

source§

fn get_x(&self) -> GResult<f64>

Returns the X position. The given Geometry must be a Point, otherwise it’ll fail. Read more
source§

fn get_y(&self) -> GResult<f64>

Returns the Y position. The given Geometry must be a Point, otherwise it’ll fail. Read more
source§

fn get_z(&self) -> GResult<f64>

Returns the Z position. The given Geometry must be a Point, otherwise it’ll fail. Read more
source§

fn get_point_n(&self, n: usize) -> GResult<Geometry<'a>>

Returns the nth point of the given geometry. Read more
source§

fn get_start_point(&self) -> GResult<Geometry<'a>>

Returns the start point of self. Read more
source§

fn get_end_point(&self) -> GResult<Geometry<'a>>

Returns the end point of self. Read more
source§

fn get_num_points(&self) -> GResult<usize>

Returns the number of points of self. Read more
source§

fn get_num_interior_rings(&self) -> GResult<usize>

Returns the number of interior rings. Read more
source§

fn get_num_coordinates(&self) -> GResult<usize>

Returns the number of coordinates inside self. Read more
source§

fn get_num_dimensions(&self) -> GResult<usize>

Returns the number of dimensions used in self. Read more
source§

fn get_coordinate_dimension(&self) -> GResult<Dimensions>

Return in which coordinate dimension the geometry is. Read more
source§

fn make_valid(&self) -> GResult<Geometry<'a>>

This functions attempts to return a valid representation of self. Read more
source§

fn get_num_geometries(&self) -> GResult<usize>

Returns the number of geometries. Read more
source§

fn get_srid(&self) -> GResult<usize>

Get SRID of self. Read more
source§

fn get_precision(&self) -> GResult<f64>

Returns the precision of self. Read more
source§

fn set_precision( &self, grid_size: f64, flags: Precision ) -> GResult<Geometry<'a>>

Returns the precision of self. Read more
source§

fn get_x_max(&self) -> GResult<f64>

Returns the biggest X of the geometry. Read more
source§

fn get_x_min(&self) -> GResult<f64>

Returns the smallest X of the geometry. Read more
source§

fn get_y_max(&self) -> GResult<f64>

Returns the biggest Y of the geometry. Read more
source§

fn get_y_min(&self) -> GResult<f64>

Returns the smallest Y of the geometry. Read more
source§

fn minimum_clearance(&self) -> GResult<f64>

Returns the smallest distance by which a vertex of self could be moved to produce an invalid geometry. Read more
source§

fn minimum_clearance_line(&self) -> GResult<Geometry<'a>>

Returns the two-point LineString spanning of self’s minimum clearance. Read more
source§

fn minimum_rotated_rectangle(&self) -> GResult<Geometry<'a>>

Returns the minimum rotated rectangle inside of self. Read more
source§

fn minimum_width(&self) -> GResult<Geometry<'a>>

Returns the minimum width inside of self. Read more
source§

fn delaunay_triangulation( &self, tolerance: f64, only_edges: bool ) -> GResult<Geometry<'a>>

Returns a delaunay triangulation around the vertices of self. Read more
source§

fn interpolate(&self, d: f64) -> GResult<Geometry<'a>>

source§

fn interpolate_normalized(&self, d: f64) -> GResult<Geometry<'a>>

source§

fn project<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>

source§

fn project_normalized<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>

source§

fn node(&self) -> GResult<Geometry<'a>>

source§

fn offset_curve( &self, width: f64, quadrant_segments: i32, join_style: JoinStyle, mitre_limit: f64 ) -> GResult<Geometry<'a>>

Return an offset line at a given distance and side from an input line. All points of the returned geometries are not further than the given distance from the input geometry. Read more
source§

fn point_on_surface(&self) -> GResult<Geometry<'a>>

source§

fn polygonize_full( &self ) -> GResult<(Geometry<'a>, Option<Geometry<'a>>, Option<Geometry<'a>>, Option<Geometry<'a>>)>

Returns, in the tuple elements order: Read more
source§

fn shared_paths<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>

source§

fn to_hex(&self) -> GResult<CVec<u8>>

Converts a Geometry to the HEX format. For more control over the generated output, use the WKBWriter type. Read more
source§

fn to_wkb(&self) -> GResult<CVec<u8>>

Converts a Geometry to the WKB format. For more control over the generated output, use the WKBWriter type. Read more
source§

fn to_prepared_geom<'c>(&'c self) -> GResult<PreparedGeometry<'c>>

Creates a new PreparedGeometry from the current Geometry. Read more
source§

fn clone(&self) -> Geometry<'a>

Also passes the context to the newly created Geometry.
source§

fn get_geometry_n<'c>(&'c self, n: usize) -> GResult<ConstGeometry<'a, 'c>>

Returns the 1-based nth geometry. Read more
source§

fn get_interior_ring_n<'c>(&'c self, n: u32) -> GResult<ConstGeometry<'a, 'c>>

Returns the nth interior ring. Read more
source§

fn get_exterior_ring<'c>(&'c self) -> GResult<ConstGeometry<'a, 'c>>

Returns the exterior ring. Read more
source§

impl<'a, 'b, 'd, G: Geom<'b>> PartialEq<G> for ConstGeometry<'a, 'd>

source§

fn eq(&self, other: &G) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a, 'b, 'c> TryFrom<&'b ConstGeometry<'a, 'c>> for Geometry<f64>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( other: &'b ConstGeometry<'a, 'c> ) -> Result<Geometry<f64>, Self::Error>

Performs the conversion.
source§

impl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(other: ConstGeometry<'a, 'c>) -> Result<Geometry, Self::Error>

Performs the conversion.
source§

impl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry<f64>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(other: ConstGeometry<'a, 'c>) -> Result<Geometry<f64>, Self::Error>

Performs the conversion.
source§

impl<'a, 'd> Send for ConstGeometry<'a, 'd>

source§

impl<'a, 'd> Sync for ConstGeometry<'a, 'd>

Auto Trait Implementations§

§

impl<'a, 'b> RefUnwindSafe for ConstGeometry<'a, 'b>

§

impl<'a, 'b> Unpin for ConstGeometry<'a, 'b>

§

impl<'a, 'b> UnwindSafe for ConstGeometry<'a, 'b>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.