Module algorithm

Source
Expand description

This module includes all the functions of geometric calculations

Re-exports§

pub use kernels::Kernel;
pub use kernels::Orientation;
pub use area::Area;
pub use bool_ops::BooleanOps;
pub use bool_ops::OpType;
pub use bounding_rect::BoundingRect;
pub use minimum_rotated_rect::MinimumRotatedRect;
pub use centroid::Centroid;
pub use chaikin_smoothing::ChaikinSmoothing;
pub use chamberlain_duquette_area::ChamberlainDuquetteArea;
pub use closest_point::ClosestPoint;
pub use concave_hull::ConcaveHull;
pub use contains::Contains;
pub use convert::Convert;
pub use convert::TryConvert;
pub use convert_angle_unit::ToDegrees;
pub use convert_angle_unit::ToRadians;
pub use convex_hull::ConvexHull;
pub use cross_track_distance::CrossTrackDistance;
pub use coordinate_position::CoordinatePosition;
pub use coords_iter::CoordsIter;
pub use densify_haversine::DensifyHaversine;Deprecated
pub use dimensions::HasDimensions;
pub use euclidean_distance::EuclideanDistance;Deprecated
pub use euclidean_length::EuclideanLength;Deprecated
pub use extremes::Extremes;
pub use frechet_distance::FrechetDistance;
pub use geodesic_bearing::GeodesicBearing;
pub use geodesic_destination::GeodesicDestination;Deprecated
pub use geodesic_distance::GeodesicDistance;Deprecated
pub use geodesic_area::GeodesicArea;
pub use geodesic_intermediate::GeodesicIntermediate;Deprecated
pub use geodesic_length::GeodesicLength;Deprecated
pub use hausdorff_distance::HausdorffDistance;
pub use haversine_bearing::HaversineBearing;Deprecated
pub use haversine_destination::HaversineDestination;Deprecated
pub use haversine_distance::HaversineDistance;Deprecated
pub use haversine_intermediate::HaversineIntermediate;Deprecated
pub use haversine_length::HaversineLength;Deprecated
pub use haversine_closest_point::HaversineClosestPoint;
pub use interior_point::InteriorPoint;
pub use intersects::Intersects;
pub use is_convex::IsConvex;
pub use k_nearest_concave_hull::KNearestConcaveHull;
pub use line_interpolate_point::LineInterpolatePoint;
pub use line_intersection::LineIntersection;
pub use line_locate_point::LineLocatePoint;
pub use lines_iter::LinesIter;
pub use line_measures::metric_spaces::Euclidean;
pub use line_measures::metric_spaces::Geodesic;
pub use line_measures::metric_spaces::Haversine;
pub use line_measures::metric_spaces::Rhumb;
pub use line_measures::Bearing;
pub use line_measures::Densify;
pub use line_measures::Destination;
pub use line_measures::Distance;
pub use line_measures::InterpolatePoint;
pub use line_measures::Length;
pub use linestring_segment::LineStringSegmentize;
pub use linestring_segment::LineStringSegmentizeHaversine;
pub use map_coords::MapCoords;
pub use map_coords::MapCoordsInPlace;
pub use orient::Orient;
pub use relate::Relate;
pub use remove_repeated_points::RemoveRepeatedPoints;
pub use rotate::Rotate;
pub use scale::Scale;
pub use skew::Skew;
pub use affine_ops::AffineOps;
pub use affine_ops::AffineTransform;
pub use simplify::Simplify;
pub use simplify::SimplifyIdx;
pub use simplify_vw::SimplifyVw;
pub use simplify_vw::SimplifyVwIdx;
pub use simplify_vw::SimplifyVwPreserve;
pub use translate::Translate;
pub use triangulate_earcut::TriangulateEarcut;
pub use triangulate_spade::TriangulateSpade;
pub use vincenty_distance::VincentyDistance;
pub use vincenty_length::VincentyLength;
pub use winding_order::Winding;
pub use within::Within;
pub use outlier_detection::OutlierDetection;
pub use monotone::monotone_subdivision;
pub use monotone::MonoPoly;
pub use monotone::MonotonicPolygons;
pub use rhumb::RhumbBearing;Deprecated
pub use rhumb::RhumbDestination;Deprecated
pub use rhumb::RhumbDistance;Deprecated
pub use rhumb::RhumbIntermediate;Deprecated
pub use rhumb::RhumbLength;Deprecated

Modules§

affine_ops
Composable affine operations such as rotate, scale, skew, and translate
area
Calculate the area of the surface of a Geometry.
bool_ops
Boolean Ops such as union, xor, difference.
bounding_rect
Calculate the bounding rectangle of a Geometry.
centroid
Calculate the centroid of a Geometry.
chaikin_smoothing
Smoothen LineString, Polygon, MultiLineString and MultiPolygon using Chaikins algorithm.
chamberlain_duquette_area
Calculate the signed approximate geodesic area of a Geometry.
closest_point
Calculate the closest Point between a Geometry and an input Point.
concave_hull
Calculate the concave hull of a Geometry.
contains
Determine whether Geometry A completely encloses Geometry B.
convert
Convert the type of a geometry’s coordinate value.
convert_angle_unit
Convert coordinate angle units between radians and degrees.
convex_hull
Calculate the convex hull of a Geometry.
coordinate_position
Determine whether a Coord lies inside, outside, or on the boundary of a geometry.
coords_iter
Iterate over geometry coordinates.
cross_track_distance
Cross track distance
densify_haversine
Densify spherical geometry components
dimensions
Dimensionality of a geometry and its boundary, based on OGC-SFA.
euclidean_distance
Calculate the minimum Euclidean distance between two Geometries.
euclidean_length
Calculate the length of a planar line between two Geometries.
extremes
Calculate the extreme coordinates and indices of a geometry.
frechet_distance
Calculate the Frechet distance between two LineStrings.
geodesic_area
Calculate the Geodesic area and perimeter of polygons.
geodesic_bearing
Calculate the bearing to another Point on a geodesic.
geodesic_destination
Returns a new Point using a distance and bearing on a geodesic.
geodesic_distance
Calculate the Geodesic distance between two Points.
geodesic_intermediate
Calculate a new Point lying on a Geodesic arc between two Points.
geodesic_length
Calculate the Geodesic length of a line.
hausdorff_distance
Calculate the Hausdorff distance between two geometries.
haversine_bearing
Calculate the bearing to another Point, in degrees.
haversine_closest_point
Calculate the closest point on a Great Circle arc geometry to a given point.
haversine_destination
Calculate a destination Point, given a distance and a bearing.
haversine_distance
Calculate the Haversine distance between two Geometries.
haversine_intermediate
Calculate a new Point lying on a Great Circle arc between two Points.
haversine_length
Calculate the Haversine length of a Line.
interior_point
Calculate a representative Point inside a Geometry
intersects
Determine whether Geometry A intersects Geometry B.
is_convex
Determines whether a LineString is convex.
k_nearest_concave_hull
Calculate concave hull using k-nearest algorithm
kernels
Kernels to compute various predicates
line_interpolate_point
Interpolate a point along a Line or LineString.
line_intersection
Computes the intersection of two Lines.
line_locate_point
Locate a point along a Line or LineString.
line_measures
Line measurements like Bearing and Distance for various metric spaces like Euclidean, Haversine, Geodesic, and Rhumb.
lines_iter
Iterate over the lines in a geometry.
linestring_segment
Split a LineString into n segments
map_coords
Apply a function to all Coords of a Geometry.
minimum_rotated_rect
Calculate the minimum rotated rectangle of a Geometry.
monotone
Monotonic polygon subdivision
orient
Orient a Polygon’s exterior and interior rings.
outlier_detection
Detect outliers in a group of points using LOF
relate
Relate two geometries based on DE-9IM
remove_repeated_points
Remove (consecutive) repeated points
rhumb
Rhumb-line-related algorithms and utils This module provides rhumb-line (a.k.a. loxodrome) geometry operations. The distance, destination, and bearing implementations are adapted in part from their equivalents in Turf.js, which in turn are adapted from the Movable Type spherical geodesy tools. Turf.js is copyright its authors and the geodesy tools are copyright Chris Veness; both are available under an MIT license.
rotate
Rotate a Geometry by an angle given in degrees.
scale
Scale a Geometry up or down by a factor
simplify
Simplify Geometries using the Ramer-Douglas-Peucker algorithm.
simplify_vw
Simplify Geometries using the Visvalingam-Whyatt algorithm. Includes a topology-preserving variant.
skew
Skew a Geometry by shearing it at angles along the x and y dimensions
sweep
Planar sweep algorithm and related utils
translate
Translate a Geometry along the given offsets.
triangulate_earcut
Triangulate polygons using an ear-cutting algorithm.
triangulate_spade
Triangulate polygons using an (un)constrained Delaunay Triangulation algorithm.
vincenty_distance
Calculate the Vincenty distance between two Points.
vincenty_length
Calculate the Vincenty length of a LineString.
winding_order
Calculate and work with the winding order of Linestrings.
within
Determine whether Geometry A is completely within by Geometry B.

Traits§

StitchTriangles
Trait to stitch together split up triangles.
Vector2DOps
Defines vector operations for 2D coordinate types which implement CoordFloat