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 bearing::Bearing;
Deprecatedpub 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::Densify;
pub use densify_haversine::DensifyHaversine;
pub use dimensions::HasDimensions;
pub use euclidean_distance::EuclideanDistance;
pub use euclidean_length::EuclideanLength;
pub use extremes::Extremes;
pub use frechet_distance::FrechetDistance;
pub use geodesic_bearing::GeodesicBearing;
pub use geodesic_destination::GeodesicDestination;
pub use geodesic_distance::GeodesicDistance;
pub use geodesic_area::GeodesicArea;
pub use geodesic_intermediate::GeodesicIntermediate;
pub use geodesic_length::GeodesicLength;
pub use hausdorff_distance::HausdorffDistance;
pub use haversine_bearing::HaversineBearing;
pub use haversine_destination::HaversineDestination;
pub use haversine_distance::HaversineDistance;
pub use haversine_intermediate::HaversineIntermediate;
pub use haversine_length::HaversineLength;
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 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;
pub use rhumb::RhumbDestination;
pub use rhumb::RhumbDistance;
pub use rhumb::RhumbIntermediate;
pub use rhumb::RhumbLength;
Modules§
- Composable affine operations such as rotate, scale, skew, and translate
- Calculate the area of the surface of a
Geometry
. - bearingDeprecatedCalculate the bearing to another
Point
, in degrees. - Boolean Ops such as union, xor, difference;
- Calculate the bounding rectangle of a
Geometry
. - Calculate the centroid of a
Geometry
. - Smoothen
LineString
,Polygon
,MultiLineString
andMultiPolygon
using Chaikins algorithm. - Calculate the signed approximate geodesic area of a
Geometry
. - Calculate the closest
Point
between aGeometry
and an inputPoint
. - Calculate the concave hull of a
Geometry
. - Determine whether
Geometry
A
completely enclosesGeometry
B
. - Convert the type of a geometry’s coordinate value.
- Convert coordinate angle units between radians and degrees.
- Calculate the convex hull of a
Geometry
. - Determine whether a
Coord
lies inside, outside, or on the boundary of a geometry. - Iterate over geometry coordinates.
- Cross track distance
- Densify linear geometry components
- Densify spherical geometry components
- Dimensionality of a geometry and its boundary, based on OGC-SFA.
- Calculate the minimum Euclidean distance between two
Geometries
. - Calculate the length of a planar line between two
Geometries
. - Calculate the extreme coordinates and indices of a geometry.
- Calculate the Frechet distance between two
LineStrings
. - Calculate the Geodesic area and perimeter of polygons.
- Calculate the bearing to another
Point
on a geodesic. - Returns a new Point using a distance and bearing on a geodesic.
- Calculate the Geodesic distance between two
Point
s. - Calculate a new
Point
lying on a Geodesic arc between twoPoint
s. - Calculate the Geodesic length of a line.
- Calculate the Hausdorff distance between two geometries.
- Calculate the bearing to another
Point
, in degrees. - Calculate the closest point on a Great Circle arc geometry to a given point.
- Calculate a destination
Point
, given a distance and a bearing. - Calculate the Haversine distance between two
Geometries
. - Calculate a new
Point
lying on a Great Circle arc between twoPoint
s. - Calculate the Haversine length of a Line.
- Calculate a representative
Point
inside aGeometry
- Determine whether
Geometry
A
intersectsGeometry
B
. - Determines whether a
LineString
is convex. - Calculate concave hull using k-nearest algorithm
- Kernels to compute various predicates
- Interpolate a point along a
Line
orLineString
. - Computes the intersection of two Lines.
- Locate a point along a
Line
orLineString
. - Iterate over the lines in a geometry.
- Split a LineString into n segments
- Apply a function to all
Coord
s of aGeometry
. - Calculate the minimum rotated rectangle of a
Geometry
. - Monotonic polygon subdivision
- Orient a
Polygon
’s exterior and interior rings. - Detect outliers in a group of points using LOF
- Relate two geometries based on DE-9IM
- Remove (consecutive) repeated points
- 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 a
Geometry
by an angle given in degrees. - Scale a
Geometry
up or down by a factor - Simplify
Geometries
using the Ramer-Douglas-Peucker algorithm. - Simplify
Geometries
using the Visvalingam-Whyatt algorithm. Includes a topology-preserving variant. - Skew a
Geometry
by shearing it at angles along the x and y dimensions - Planar sweep algorithm and related utils
- Translate a
Geometry
along the given offsets. - Triangulate polygons using an ear-cutting algorithm.
- Triangulate polygons using an (un)constrained Delaunay Triangulation algorithm.
- Calculate the Vincenty distance between two
Point
s. - Calculate the Vincenty length of a
LineString
. - Calculate and work with the winding order of
Linestring
s. - Determine whether
Geometry
A
is completely within byGeometry
B
.
Traits§
- Defines vector operations for 2D coordinate types which implement CoordFloat