[−][src]Struct geos::Geometry
Representation of a GEOS geometry.
Example
use geos::{Geom, Geometry}; let point_geom = Geometry::new_from_wkt("POINT (2.5 3.5)") .expect("Invalid geometry"); assert_eq!(point_geom.get_x(), Ok(2.5)); assert_eq!(point_geom.get_y(), Ok(3.5));
Implementations
impl<'a> Geometry<'a>
[src]
pub fn new_from_wkt(wkt: &str) -> GResult<Geometry<'a>>
[src]
Creates a Geometry
from the WKT format.
Example
use geos::Geometry; let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry");
pub fn new_from_hex(hex: &[u8]) -> GResult<Geometry<'a>>
[src]
Create a new Geometry
from the HEX format.
Example
use geos::{Geom, Geometry}; let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry"); let hex_buf = point_geom.to_hex().expect("conversion to HEX failed"); // The interesting part is here: let new_geom = Geometry::new_from_hex(hex_buf.as_ref()) .expect("conversion from HEX failed"); assert_eq!(point_geom.equals(&new_geom), Ok(true));
pub fn new_from_wkb(wkb: &[u8]) -> GResult<Geometry<'a>>
[src]
Create a new Geometry
from the WKB format.
Example
use geos::{Geom, Geometry}; let point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry"); let wkb_buf = point_geom.to_wkb().expect("conversion to WKB failed"); // The interesting part is here: let new_geom = Geometry::new_from_wkb(wkb_buf.as_ref()) .expect("conversion from WKB failed"); assert_eq!(point_geom.equals(&new_geom), Ok(true));
pub fn build_area(&self) -> GResult<Geometry<'a>>
[src]
Creates an areal geometry formed by the constituent linework of given geometry.
You can find new illustrations on postgis documentation.
Available using the v3_8_0
feature.
Example
use geos::{Geom, Geometry}; let geom = Geometry::new_from_wkt("POINT(100 90)").expect("Invalid geometry"); let small_geom = geom.buffer(25., 8).expect("buffer failed"); let big_geom = geom.buffer(50., 8).expect("buffer failed"); let union_geom = small_geom.union(&big_geom).expect("union failed"); let build_area_geom = union_geom.build_area().expect("build_area failed"); // Looks like a donut. assert_eq!(union_geom.to_wkt_precision(1).unwrap(), "POLYGON ((150.0 90.0, 149.0 80.2, 146.2 70.9, 141.6 62.2, 135.4 54.6, \ 127.8 48.4, 119.1 43.8, 109.8 41.0, 100.0 40.0, 90.2 41.0, \ 80.9 43.8, 72.2 48.4, 64.6 54.6, 58.4 62.2, 53.8 70.9, 51.0 80.2, \ 50.0 90.0, 51.0 99.8, 53.8 109.1, 58.4 117.8, 64.6 125.4, \ 72.2 131.6, 80.9 136.2, 90.2 139.0, 100.0 140.0, 109.8 139.0, \ 119.1 136.2, 127.8 131.6, 135.4 125.4, 141.6 117.8, 146.2 109.1, \ 149.0 99.8, 150.0 90.0))");
pub fn polygonize<T: Borrow<Geometry<'a>>>(
geometries: &[T]
) -> GResult<Geometry<'a>>
[src]
geometries: &[T]
) -> GResult<Geometry<'a>>
Description from postgis:
Creates a GeometryCollection containing possible polygons formed from the constituent linework of a set of geometries.
Example:
use geos::{Geom, Geometry}; let geom1 = Geometry::new_from_wkt("POLYGON((-71.040878 42.285678,\ -71.040943 42.2856,\ -71.04096 42.285752,\ -71.040878 42.285678))") .expect("Failed to create geometry"); let geom2 = Geometry::new_from_wkt("POLYGON((-71.17166 42.353675,\ -71.172026 42.354044,\ -71.17239 42.354358,\ -71.171794 42.354971,\ -71.170511 42.354855,\ -71.17112 42.354238,\ -71.17166 42.353675))") .expect("Failed to create geometry"); let polygonized = Geometry::polygonize(&[geom1, geom2]).expect("polygonize failed"); assert_eq!(polygonized.to_wkt().unwrap(), "GEOMETRYCOLLECTION (POLYGON ((-71.0408780000000064 42.2856779999999972, \ -71.0409429999999986 42.2856000000000023, \ -71.0409599999999983 42.2857520000000022, \ -71.0408780000000064 42.2856779999999972)), \ POLYGON ((-71.1716600000000028 42.3536750000000026, \ -71.1720260000000025 42.3540440000000018, \ -71.1723899999999929 42.3543579999999977, \ -71.1717940000000056 42.3549709999999990, \ -71.1705110000000047 42.3548550000000006, \ -71.1711200000000019 42.3542380000000023, \ -71.1716600000000028 42.3536750000000026)))");
pub fn polygonizer_get_cut_edges<T: Borrow<Geometry<'a>>>(
&self,
geometries: &[T]
) -> GResult<Geometry<'a>>
[src]
&self,
geometries: &[T]
) -> GResult<Geometry<'a>>
pub fn line_merge(&self) -> GResult<Geometry<'a>>
[src]
Merges Multi Line String
geometry into a (set of) Line String
.
Warning
If you use this function on something else than a Multi Line String
or a
Line String
, it'll return an empty Geometry collection
.
Example
use geos::{Geom, Geometry}; let lines = Geometry::new_from_wkt("MULTILINESTRING((-29 -27,-30 -29.7,-36 -31,-45 -33),\ (-45 -33,-46 -32))") .expect("Invalid geometry"); let lines_merged = lines.line_merge().expect("line merge failed"); assert_eq!( lines_merged.to_wkt_precision(1).unwrap(), "LINESTRING (-29.0 -27.0, -30.0 -29.7, -36.0 -31.0, -45.0 -33.0, -46.0 -32.0)", );
pub fn reverse(&self) -> GResult<Geometry<'a>>
[src]
Reverses the order of the vertexes.
Available using the v3_7_0
feature.
Example
use geos::{Geom, Geometry}; let line = Geometry::new_from_wkt("LINESTRING(1 10,1 2)") .expect("invalid geometry"); let reversed_line = line.reverse().expect("reverse failed"); assert_eq!( reversed_line.to_wkt_precision(1).unwrap(), "LINESTRING (1.0 2.0, 1.0 10.0)", );
pub fn simplify(&self, tolerance: f64) -> GResult<Geometry<'a>>
[src]
Returns a simplified version of the given geometry.
pub fn topology_preserve_simplify(
&self,
tolerance: f64
) -> GResult<Geometry<'a>>
[src]
&self,
tolerance: f64
) -> GResult<Geometry<'a>>
Returns a simplified version of the given geometry. It will avoid creating invalid derived geometries.
pub fn set_srid(&mut self, srid: usize)
[src]
Set SRID of self
.
Example
use geos::{Geom, Geometry}; let mut point_geom = Geometry::new_from_wkt("POINT (2.5 2.5 4.0)") .expect("Invalid geometry"); point_geom.set_srid(4326); assert_eq!(point_geom.get_srid(), Ok(4326));
pub fn normalize(&mut self) -> GResult<()>
[src]
Normalizes self
in its normalized/canonical form. May reorder vertices in polygon rings,
rings in a polygon, elements in a multi-geometry complex.
Example
use geos::{Geom, Geometry}; let mut geom = Geometry::new_from_wkt( "GEOMETRYCOLLECTION(POINT(2 3), MULTILINESTRING((0 0, 1 1),(2 2, 3 3)))", ).expect("Invalid geometry"); geom.normalize().expect("normalize failed"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "GEOMETRYCOLLECTION (MULTILINESTRING ((2.0 2.0, 3.0 3.0), (0.0 0.0, 1.0 1.0)), \ POINT (2.0 3.0))");
pub fn create_empty_polygon() -> GResult<Geometry<'a>>
[src]
Creates an empty polygon geometry.
Example
use geos::{Geom, Geometry}; let geom = Geometry::create_empty_polygon().expect("Failed to build empty polygon"); assert_eq!(geom.to_wkt().unwrap(), "POLYGON EMPTY");
pub fn create_empty_point() -> GResult<Geometry<'a>>
[src]
Creates an empty point geometry.
Example
use geos::{Geom, Geometry}; let geom = Geometry::create_empty_point().expect("Failed to build empty point"); assert_eq!(geom.to_wkt().unwrap(), "POINT EMPTY");
pub fn create_empty_line_string() -> GResult<Geometry<'a>>
[src]
Creates an empty line string geometry.
Example
use geos::{Geom, Geometry}; let geom = Geometry::create_empty_line_string().expect("Failed to build empty line string"); assert_eq!(geom.to_wkt().unwrap(), "LINESTRING EMPTY");
pub fn create_empty_collection(type_: GeometryTypes) -> GResult<Geometry<'a>>
[src]
Creates an empty collection.
The type_
must be one of:
GeometryTypes::GeometryCollection
GeometryTypes::MultiPoint
GeometryTypes::MultiLineString
GeometryTypes::MultiPolygon
Example
use geos::{Geom, Geometry, GeometryTypes}; let geom = Geometry::create_empty_collection(GeometryTypes::MultiPolygon) .expect("Failed to build empty collection"); assert_eq!(geom.to_wkt().unwrap(), "MULTIPOLYGON EMPTY");
pub fn create_polygon<'b>(
exterior: Geometry<'a>,
interiors: Vec<Geometry<'b>>
) -> GResult<Geometry<'a>>
[src]
exterior: Geometry<'a>,
interiors: Vec<Geometry<'b>>
) -> GResult<Geometry<'a>>
Creates a polygon formed by the given shell and array of holes.
Note
exterior
must be a LinearRing
.
Example
use geos::{Geom, Geometry}; let geom = Geometry::new_from_wkt("LINEARRING(75.15 29.53,77 29,77.6 29.5, 75.15 29.53)") .expect("Invalid geometry"); let polygon_geom = Geometry::create_polygon(geom, vec![]) .expect("create_polygon failed"); assert_eq!( polygon_geom.to_wkt_precision(1).unwrap(), "POLYGON ((75.2 29.5, 77.0 29.0, 77.6 29.5, 75.2 29.5))", );
pub fn create_geometry_collection(
geoms: Vec<Geometry<'a>>
) -> GResult<Geometry<'a>>
[src]
geoms: Vec<Geometry<'a>>
) -> GResult<Geometry<'a>>
Create a geometry collection.
Example
use geos::{Geom, Geometry}; let geom1 = Geometry::new_from_wkt("POLYGON((0 0, 10 0, 10 6, 0 6, 0 0))") .expect("Invalid geometry"); let geom2 = Geometry::new_from_wkt("POINT (3.0 4.0)").expect("Invalid geometry"); let geom = Geometry::create_geometry_collection(vec![geom1, geom2]) .expect("Failed to build multipolygon"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "GEOMETRYCOLLECTION (POLYGON ((0.0 0.0, 10.0 0.0, 10.0 6.0, 0.0 6.0, 0.0 0.0)), \ POINT (3.0 4.0))");
pub fn create_multipolygon(polygons: Vec<Geometry<'a>>) -> GResult<Geometry<'a>>
[src]
Create a multi polygon geometry.
Example
use geos::{Geom, Geometry}; let geom1 = Geometry::new_from_wkt("POLYGON((0 0, 10 0, 10 6, 0 6, 0 0))") .expect("Invalid geometry"); let geom2 = Geometry::new_from_wkt("POLYGON((3 3, 10 3, 10 6, 3 6, 3 3))") .expect("Invalid geometry"); let geom = Geometry::create_multipolygon(vec![geom1, geom2]) .expect("Failed to build multipolygon"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "MULTIPOLYGON (((0.0 0.0, 10.0 0.0, 10.0 6.0, 0.0 6.0, 0.0 0.0)), \ ((3.0 3.0, 10.0 3.0, 10.0 6.0, 3.0 6.0, 3.0 3.0)))");
pub fn create_multiline_string(
linestrings: Vec<Geometry<'a>>
) -> GResult<Geometry<'a>>
[src]
linestrings: Vec<Geometry<'a>>
) -> GResult<Geometry<'a>>
Create a multiline string geometry.
Example
use geos::{Geom, Geometry}; let geom1 = Geometry::new_from_wkt("LINESTRING (1.0 2.0, 3.0 4.0)").expect("invalid geometry"); let geom2 = Geometry::new_from_wkt("LINESTRING (5.0 6.0, 7.0 8.0)").expect("invalid geometry"); let geom = Geometry::create_multiline_string(vec![geom1, geom2]) .expect("Failed to build multiline string"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "MULTILINESTRING ((1.0 2.0, 3.0 4.0), (5.0 6.0, 7.0 8.0))");
pub fn create_multipoint(points: Vec<Geometry<'a>>) -> GResult<Geometry<'a>>
[src]
Creates a multi point geometry.
Example
use geos::{Geom, Geometry}; let geom1 = Geometry::new_from_wkt("POINT (1.0 2.0)").expect("Invalid geometry"); let geom2 = Geometry::new_from_wkt("POINT (3.0 4.0)").expect("Invalid geometry"); let geom = Geometry::create_multipoint(vec![geom1, geom2]) .expect("Failed to build multipoint"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "MULTIPOINT (1.0 2.0, 3.0 4.0)");
pub fn create_point(s: CoordSeq<'a>) -> GResult<Geometry<'a>>
[src]
Creates a point geometry.
Example
use geos::{CoordDimensions, CoordSeq, Geom, Geometry}; let coords = CoordSeq::new_from_vec(&[&[1., 2.]]) .expect("failed to create CoordSeq"); let geom = Geometry::create_point(coords).expect("Failed to create a point"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "POINT (1.0 2.0)");
pub fn create_line_string(s: CoordSeq<'a>) -> GResult<Geometry<'a>>
[src]
Creates a line string geometry.
Example
use geos::{CoordDimensions, CoordSeq, Geom, Geometry}; let coords = CoordSeq::new_from_vec(&[&[1., 2.], &[3., 4.]]) .expect("failed to create CoordSeq"); let geom = Geometry::create_line_string(coords).expect("Failed to create a line string"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "LINESTRING (1.0 2.0, 3.0 4.0)");
pub fn create_linear_ring(s: CoordSeq<'a>) -> GResult<Geometry<'a>>
[src]
Creates a linear ring geometry.
Example
use geos::{CoordDimensions, CoordSeq, Geom, Geometry}; let coords = CoordSeq::new_from_vec(&[&[75.15, 29.53], &[77., 29.], &[77.6, 29.5], &[75.15, 29.53]]) .expect("failed to create CoordSeq"); let geom = Geometry::create_linear_ring(coords) .expect("Failed to create a linea ring"); assert_eq!(geom.to_wkt_precision(1).unwrap(), "LINEARRING (75.2 29.5, 77.0 29.0, 77.6 29.5, 75.2 29.5)");
Trait Implementations
impl<'a> Clone for Geometry<'a>
[src]
fn clone(&self) -> Geometry<'a>
[src]
Also passes the context to the newly created Geometry
.
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<'a> ContextHandling for Geometry<'a>
[src]
type Context = Arc<ContextHandle<'a>>
fn get_raw_context(&self) -> GEOSContextHandle_t
[src]
fn clone_context(&self) -> Arc<ContextHandle<'a>>
[src]
impl<'a> ContextInteractions<'a> for Geometry<'a>
[src]
fn set_context_handle(&mut self, context: ContextHandle<'a>)
[src]
Set the context handle to the geometry.
use geos::{ContextInteractions, ContextHandle, Geometry}; let context_handle = ContextHandle::init().expect("invalid init"); context_handle.set_notice_message_handler(Some(Box::new(|s| println!("new message: {}", s)))); let mut point_geom = Geometry::new_from_wkt("POINT (2.5 2.5)").expect("Invalid geometry"); point_geom.set_context_handle(context_handle);
fn get_context_handle(&self) -> &ContextHandle<'a>
[src]
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))));
fn get_last_error(&self) -> Option<String>
[src]
fn get_last_notification(&self) -> Option<String>
[src]
impl<'a> Drop for Geometry<'a>
[src]
impl<'a> Geom<'a> for Geometry<'a>
[src]
fn get_type(&self) -> GResult<String>
[src]
fn geometry_type(&self) -> GeometryTypes
[src]
fn is_valid(&self) -> bool
[src]
fn is_valid_reason(&self) -> GResult<String>
[src]
fn get_coord_seq(&self) -> GResult<CoordSeq<'a>>
[src]
fn area(&self) -> GResult<f64>
[src]
fn to_wkt(&self) -> GResult<String>
[src]
fn to_wkt_precision(&self, precision: u32) -> GResult<String>
[src]
fn is_ring(&self) -> GResult<bool>
[src]
fn intersects<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn crosses<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn disjoint<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn touches<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn overlaps<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn within<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn equals<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn equals_exact<'b, G: Geom<'b>>(
&self,
other: &G,
precision: f64
) -> GResult<bool>
[src]
&self,
other: &G,
precision: f64
) -> GResult<bool>
fn covers<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn covered_by<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn contains<'b, G: Geom<'b>>(&self, other: &G) -> GResult<bool>
[src]
fn buffer(&self, width: f64, quadsegs: i32) -> GResult<Geometry<'a>>
[src]
fn is_empty(&self) -> GResult<bool>
[src]
fn is_simple(&self) -> GResult<bool>
[src]
fn difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
[src]
fn envelope(&self) -> GResult<Geometry<'a>>
[src]
fn sym_difference<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
[src]
fn union<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
[src]
fn get_centroid(&self) -> GResult<Geometry<'a>>
[src]
fn unary_union(&self) -> GResult<Geometry<'a>>
[src]
fn voronoi<'b, G: Geom<'b>>(
&self,
envelope: Option<&G>,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
[src]
&self,
envelope: Option<&G>,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
fn intersection<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
[src]
fn convex_hull(&self) -> GResult<Geometry<'a>>
[src]
fn boundary(&self) -> GResult<Geometry<'a>>
[src]
fn has_z(&self) -> GResult<bool>
[src]
fn is_closed(&self) -> GResult<bool>
[src]
fn length(&self) -> GResult<f64>
[src]
fn distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
[src]
fn distance_indexed<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
[src]
fn hausdorff_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
[src]
fn hausdorff_distance_densify<'b, G: Geom<'b>>(
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
[src]
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
fn frechet_distance<'b, G: Geom<'b>>(&self, other: &G) -> GResult<f64>
[src]
fn frechet_distance_densify<'b, G: Geom<'b>>(
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
[src]
&self,
other: &G,
distance_frac: f64
) -> GResult<f64>
fn get_length(&self) -> GResult<f64>
[src]
fn snap<'b, G: Geom<'b>>(
&self,
other: &G,
tolerance: f64
) -> GResult<Geometry<'a>>
[src]
&self,
other: &G,
tolerance: f64
) -> GResult<Geometry<'a>>
fn extract_unique_points(&self) -> GResult<Geometry<'a>>
[src]
fn nearest_points<'b, G: Geom<'b>>(&self, other: &G) -> GResult<CoordSeq<'a>>
[src]
fn get_x(&self) -> GResult<f64>
[src]
fn get_y(&self) -> GResult<f64>
[src]
fn get_z(&self) -> GResult<f64>
[src]
fn get_point_n(&self, n: usize) -> GResult<Geometry<'a>>
[src]
fn get_start_point(&self) -> GResult<Geometry<'a>>
[src]
fn get_end_point(&self) -> GResult<Geometry<'a>>
[src]
fn get_num_points(&self) -> GResult<usize>
[src]
fn get_num_interior_rings(&self) -> GResult<usize>
[src]
fn get_num_coordinates(&self) -> GResult<usize>
[src]
fn get_num_dimensions(&self) -> GResult<usize>
[src]
fn get_coordinate_dimension(&self) -> GResult<Dimensions>
[src]
fn make_valid(&self) -> GResult<Geometry<'a>>
[src]
fn get_num_geometries(&self) -> GResult<usize>
[src]
fn get_srid(&self) -> GResult<usize>
[src]
fn get_precision(&self) -> GResult<f64>
[src]
fn set_precision(
&self,
grid_size: f64,
flags: Precision
) -> GResult<Geometry<'a>>
[src]
&self,
grid_size: f64,
flags: Precision
) -> GResult<Geometry<'a>>
fn get_x_max(&self) -> GResult<f64>
[src]
fn get_x_min(&self) -> GResult<f64>
[src]
fn get_y_max(&self) -> GResult<f64>
[src]
fn get_y_min(&self) -> GResult<f64>
[src]
fn minimum_clearance(&self) -> GResult<f64>
[src]
fn minimum_clearance_line(&self) -> GResult<Geometry<'a>>
[src]
fn minimum_rotated_rectangle(&self) -> GResult<Geometry<'a>>
[src]
fn minimum_width(&self) -> GResult<Geometry<'a>>
[src]
fn delaunay_triangulation(
&self,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
[src]
&self,
tolerance: f64,
only_edges: bool
) -> GResult<Geometry<'a>>
fn interpolate(&self, d: f64) -> GResult<Geometry<'a>>
[src]
fn interpolate_normalized(&self, d: f64) -> GResult<Geometry<'a>>
[src]
fn project<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>
[src]
fn project_normalized<'b, G: Geom<'b>>(&self, p: &G) -> GResult<f64>
[src]
fn node(&self) -> GResult<Geometry<'a>>
[src]
fn offset_curve(
&self,
width: f64,
quadrant_segments: i32,
join_style: JoinStyle,
mitre_limit: f64
) -> GResult<Geometry<'a>>
[src]
&self,
width: f64,
quadrant_segments: i32,
join_style: JoinStyle,
mitre_limit: f64
) -> GResult<Geometry<'a>>
fn point_on_surface(&self) -> GResult<Geometry<'a>>
[src]
fn polygonize_full(
&self
) -> GResult<(Geometry<'a>, Option<Geometry<'a>>, Option<Geometry<'a>>, Option<Geometry<'a>>)>
[src]
&self
) -> GResult<(Geometry<'a>, Option<Geometry<'a>>, Option<Geometry<'a>>, Option<Geometry<'a>>)>
fn shared_paths<'b, G: Geom<'b>>(&self, other: &G) -> GResult<Geometry<'a>>
[src]
fn to_hex(&self) -> GResult<CVec<u8>>
[src]
fn to_wkb(&self) -> GResult<CVec<u8>>
[src]
fn to_prepared_geom(&self) -> GResult<PreparedGeometry<'a>>
[src]
fn clone(&self) -> Geometry<'a>
[src]
fn get_geometry_n<'c>(&'c self, n: usize) -> GResult<ConstGeometry<'a, 'c>>
[src]
fn get_interior_ring_n<'c>(&'c self, n: u32) -> GResult<ConstGeometry<'a, 'c>>
[src]
fn get_exterior_ring<'c>(&'c self) -> GResult<ConstGeometry<'a, 'c>>
[src]
impl<'a, 'b, G: Geom<'b>> PartialEq<G> for Geometry<'a>
[src]
impl<'a> Send for Geometry<'a>
[src]
impl<'a> Sync for Geometry<'a>
[src]
impl<'a, T: Borrow<Point<f64>>> TryFrom<&'a [T]> for GGeometry<'a>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a [T]) -> Result<GGeometry<'a>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'a Geometry> for GGeometry<'b>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a Geometry) -> Result<GGeometry<'b>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'a LineString<f64>> for GGeometry<'b>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a LineString<f64>) -> Result<GGeometry<'b>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'a MultiPolygon<f64>> for GGeometry<'b>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a MultiPolygon<f64>) -> Result<GGeometry<'b>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'a Point<f64>> for GGeometry<'b>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a Point<f64>) -> Result<GGeometry<'b>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'a Polygon<f64>> for GGeometry<'b>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'a Polygon<f64>) -> Result<GGeometry<'b>, Self::Error>
[src]
impl<'a, 'b> TryFrom<&'b Geometry<'a>> for Geometry<f64>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: &'b GGeometry<'a>) -> Result<Geometry<f64>, Self::Error>
[src]
impl<'a> TryFrom<Geometry<'a>> for Geometry<f64>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: GGeometry<'a>) -> Result<Geometry<f64>, Self::Error>
[src]
impl<'a> TryFrom<Geometry<'a>> for Geometry
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: GGeometry<'a>) -> Result<Geometry, Self::Error>
[src]
impl<'a> TryFrom<Geometry> for GGeometry<'a>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: Geometry) -> Result<GGeometry<'a>, Self::Error>
[src]
impl<'a> TryFrom<LineString<f64>> for GGeometry<'a>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: LineString<f64>) -> Result<GGeometry<'a>, Self::Error>
[src]
impl<'a> TryFrom<MultiPolygon<f64>> for GGeometry<'a>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: MultiPolygon<f64>) -> Result<GGeometry<'a>, Self::Error>
[src]
impl<'a> TryFrom<Point<f64>> for GGeometry<'a>
[src]
type Error = Error
The type returned in the event of a conversion error.
fn try_from(other: Point<f64>) -> Result<GGeometry<'a>, Self::Error>
[src]
impl<'a> TryFrom<Polygon<f64>> for GGeometry<'a>
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for Geometry<'a>
impl<'a> Unpin for Geometry<'a>
impl<'a> UnwindSafe for Geometry<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,