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
sourceimpl<'a, 'b> ConstGeometry<'a, 'b>
impl<'a, 'b> ConstGeometry<'a, 'b>
sourcepub fn get_context_handle(&self) -> &ContextHandle<'a>
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
sourceimpl<'a, 'd> ContextHandling for ConstGeometry<'a, 'd>
impl<'a, 'd> ContextHandling for ConstGeometry<'a, 'd>
type Context = Arc<ContextHandle<'a>>
fn clone_context(&self) -> Arc<ContextHandle<'a>>
sourceimpl<'a, 'd> Geom<'a> for ConstGeometry<'a, 'd>
impl<'a, 'd> Geom<'a> for ConstGeometry<'a, 'd>
fn geometry_type(&self) -> GeometryTypes
sourcefn is_valid_reason(&self) -> GResult<String>
fn is_valid_reason(&self) -> GResult<String>
Returns an explanation on why the geometry is invalid. Read more
sourcefn get_coord_seq(&self) -> GResult<CoordSeq<'a>>
fn get_coord_seq(&self) -> GResult<CoordSeq<'a>>
Get the underlying geos CoordSeq object from the geometry Read more
sourcefn area(&self) -> GResult<f64>
fn area(&self) -> GResult<f64>
Returns the area of the geometry. Units are specified by the SRID of the given geometry. Read more
sourcefn to_wkt_precision(&self, precision: u32) -> GResult<String>
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
sourcefn intersects<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
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
sourcefn crosses<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
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
sourcefn disjoint<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
fn disjoint<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
Returns true
if self
doesn’t: Read more
sourcefn touches<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
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
sourcefn overlaps<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
fn overlaps<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
Returns true
if self
spatially overlaps other
. Read more
sourcefn within<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
fn within<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
Returns true
if self
is completely inside other
. Read more
sourcefn covers<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
fn covers<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
Returns true
if no point of other
is outside of self
. Read more
sourcefn covered_by<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
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
sourcefn contains<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
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
sourcefn buffer(&self, width: f64, quadsegs: i32) -> GResult<Geometry<'a>>
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
sourcefn buffer_with_params(
&self,
width: f64,
buffer_params: &BufferParams<'_>
) -> GResult<Geometry<'a>>
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
sourcefn buffer_with_style(
&self,
width: f64,
quadsegs: i32,
end_cap_style: CapStyle,
join_style: JoinStyle,
mitre_limit: f64
) -> GResult<Geometry<'a>>
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
sourcefn is_simple(&self) -> GResult<bool>
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
sourcefn difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
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
sourcefn envelope(&self) -> GResult<Geometry<'a>>
fn envelope(&self) -> GResult<Geometry<'a>>
Returns the minimum bouding box of the given geometry. Read more
sourcefn sym_difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
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
sourcefn union<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
fn union<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
Aggregates the given geometry with another one. Read more
sourcefn get_centroid(&self) -> GResult<Geometry<'a>>
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
sourcefn voronoi<'b, G: Geom<'b>>(
&self,
envelope: Option<&G>,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
fn voronoi<'b, G: Geom<'b>>(
&self,
envelope: Option<&G>,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
Create a voronoi diagram. Read more
sourcefn intersection<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
fn intersection<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
Returns a geometry representing the intersection between self
and other
. Read more
sourcefn boundary(&self) -> GResult<Geometry<'a>>
fn boundary(&self) -> GResult<Geometry<'a>>
Returns the closure of the combinatorial boundary of self
. Read more
sourcefn is_closed(&self) -> GResult<bool>
fn is_closed(&self) -> GResult<bool>
Returns true
if start and end point are coincident. Read more
sourcefn length(&self) -> GResult<f64>
fn length(&self) -> GResult<f64>
Returns the length of self
. The unit depends of the SRID. Read more
sourcefn distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
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
sourcefn distance_indexed<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
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
sourcefn hausdorff_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
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
sourcefn hausdorff_distance_densify<'b, G: Geom<'b>>(
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
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
sourcefn frechet_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
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
sourcefn frechet_distance_densify<'b, G: Geom<'b>>(
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
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
sourcefn get_length(&self) -> GResult<f64>
fn get_length(&self) -> GResult<f64>
Returns the length of the given geometry. Read more
sourcefn extract_unique_points(&self) -> GResult<Geometry<'a>>
fn extract_unique_points(&self) -> GResult<Geometry<'a>>
Returns unique points of self
.
fn nearest_points<'b, G: Geom<'b>>(&self, other: &G) -> GResult<CoordSeq<'a>>
sourcefn get_x(&self) -> GResult<f64>
fn get_x(&self) -> GResult<f64>
Returns the X position. The given Geometry
must be a Point
, otherwise it’ll fail. Read more
sourcefn get_y(&self) -> GResult<f64>
fn get_y(&self) -> GResult<f64>
Returns the Y position. The given Geometry
must be a Point
, otherwise it’ll fail. Read more
sourcefn get_z(&self) -> GResult<f64>
fn get_z(&self) -> GResult<f64>
Returns the Z position. The given Geometry
must be a Point
, otherwise it’ll fail. Read more
sourcefn get_point_n(&self, n: usize) -> GResult<Geometry<'a>>
fn get_point_n(&self, n: usize) -> GResult<Geometry<'a>>
Returns the nth point of the given geometry. Read more
sourcefn get_start_point(&self) -> GResult<Geometry<'a>>
fn get_start_point(&self) -> GResult<Geometry<'a>>
Returns the start point of self
. Read more
sourcefn get_end_point(&self) -> GResult<Geometry<'a>>
fn get_end_point(&self) -> GResult<Geometry<'a>>
Returns the end point of self
. Read more
sourcefn get_num_points(&self) -> GResult<usize>
fn get_num_points(&self) -> GResult<usize>
Returns the number of points of self
. Read more
sourcefn get_num_interior_rings(&self) -> GResult<usize>
fn get_num_interior_rings(&self) -> GResult<usize>
Returns the number of interior rings. Read more
sourcefn get_num_coordinates(&self) -> GResult<usize>
fn get_num_coordinates(&self) -> GResult<usize>
Returns the number of coordinates inside self
. Read more
sourcefn get_num_dimensions(&self) -> GResult<usize>
fn get_num_dimensions(&self) -> GResult<usize>
Returns the number of dimensions used in self
. Read more
sourcefn get_coordinate_dimension(&self) -> GResult<Dimensions>
fn get_coordinate_dimension(&self) -> GResult<Dimensions>
Return in which coordinate dimension the geometry is. Read more
sourcefn make_valid(&self) -> GResult<Geometry<'a>>
fn make_valid(&self) -> GResult<Geometry<'a>>
This functions attempts to return a valid representation of self
. Read more
sourcefn get_num_geometries(&self) -> GResult<usize>
fn get_num_geometries(&self) -> GResult<usize>
Returns the number of geometries. Read more
sourcefn get_precision(&self) -> GResult<f64>
fn get_precision(&self) -> GResult<f64>
Returns the precision of self
. Read more
sourcefn set_precision(
&self,
grid_size: f64,
flags: Precision
) -> GResult<Geometry<'a>>
fn set_precision(
&self,
grid_size: f64,
flags: Precision
) -> GResult<Geometry<'a>>
Returns the precision of self
. Read more
sourcefn minimum_clearance(&self) -> GResult<f64>
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
sourcefn minimum_clearance_line(&self) -> GResult<Geometry<'a>>
fn minimum_clearance_line(&self) -> GResult<Geometry<'a>>
Returns the two-point LineString spanning of self
’s minimum clearance. Read more
sourcefn minimum_rotated_rectangle(&self) -> GResult<Geometry<'a>>
fn minimum_rotated_rectangle(&self) -> GResult<Geometry<'a>>
Returns the minimum rotated rectangle inside of self
. Read more
sourcefn minimum_width(&self) -> GResult<Geometry<'a>>
fn minimum_width(&self) -> GResult<Geometry<'a>>
Returns the minimum width inside of self
. Read more
sourcefn delaunay_triangulation(
&self,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
fn delaunay_triangulation(
&self,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
Returns a delaunay triangulation
around the vertices of self
. Read more
fn interpolate(&self, d: f64) -> GResult<Geometry<'a>>
fn interpolate_normalized(&self, d: f64) -> GResult<Geometry<'a>>
fn project<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>
fn project_normalized<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>
fn node(&self) -> GResult<Geometry<'a>>
sourcefn offset_curve(
&self,
width: f64,
quadrant_segments: i32,
join_style: JoinStyle,
mitre_limit: f64
) -> GResult<Geometry<'a>>
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
fn point_on_surface(&self) -> GResult<Geometry<'a>>
sourcefn polygonize_full(
&self
) -> GResult<(Geometry<'a>, Option<Geometry<'a>>, Option<Geometry<'a>>, Option<Geometry<'a>>)>
fn polygonize_full(
&self
) -> GResult<(Geometry<'a>, Option<Geometry<'a>>, Option<Geometry<'a>>, Option<Geometry<'a>>)>
Returns, in the tuple elements order: Read more
sourcefn to_prepared_geom<'c>(&'c self) -> GResult<PreparedGeometry<'c>>
fn to_prepared_geom<'c>(&'c self) -> GResult<PreparedGeometry<'c>>
Creates a new PreparedGeometry
from the current Geometry
. Read more
sourcefn get_geometry_n<'c>(&'c self, n: usize) -> GResult<ConstGeometry<'a, 'c>>
fn get_geometry_n<'c>(&'c self, n: usize) -> GResult<ConstGeometry<'a, 'c>>
Returns the 1-based nth geometry. Read more
sourcefn get_interior_ring_n<'c>(&'c self, n: u32) -> GResult<ConstGeometry<'a, 'c>>
fn get_interior_ring_n<'c>(&'c self, n: u32) -> GResult<ConstGeometry<'a, 'c>>
Returns the nth interior ring. Read more
sourcefn get_exterior_ring<'c>(&'c self) -> GResult<ConstGeometry<'a, 'c>>
fn get_exterior_ring<'c>(&'c self) -> GResult<ConstGeometry<'a, 'c>>
Returns the exterior ring. Read more
sourceimpl<'a, 'b, 'd, G: Geom<'b>> PartialEq<G> for ConstGeometry<'a, 'd>
impl<'a, 'b, 'd, G: Geom<'b>> PartialEq<G> for ConstGeometry<'a, 'd>
sourceimpl<'a, 'b, 'c> TryFrom<&'b ConstGeometry<'a, 'c>> for Geometry<f64>
impl<'a, 'b, 'c> TryFrom<&'b ConstGeometry<'a, 'c>> for Geometry<f64>
sourceimpl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry<f64>
impl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry<f64>
sourceimpl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry
impl<'a, 'c> TryFrom<ConstGeometry<'a, 'c>> for Geometry
impl<'a, 'd> Send for ConstGeometry<'a, 'd>
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> where
'a: 'b,
impl<'a, 'b> UnwindSafe for ConstGeometry<'a, 'b>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more