Expand description
Extended traits for the geo-traits crate
This crate extends the geo-traits crate with additional traits and
implementations. The goal is to provide a set of traits that are useful for
implementing algorithms on top of the geo crate. Most of the methods are
inspired by the geo-types crate, but are implemented as traits on the
geo-traits types. Some methods returns concrete types defined in geo-types,
these methods are only for computing tiny, intermediate results during
algorithm execution.
The crate is designed to support migration of the geo crate to use the
traits defined in geo-traits by providing generic implementations of the
geospatial algorithms, rather than implementing algorithms on concrete types
defined in geo-types.
The crate is currently under active development and the API is subject to change.
Modules§
Macros§
- forward_
geometry_ collection_ trait_ ext_ funcs - Forwards
GeometryCollectionTraitExtmethods to the underlyinggeo_traits::GeometryCollectionTraitimplementation while preserving the extension trait wrappers. - forward_
geometry_ trait_ ext_ funcs - Forwards
GeometryTraitExtassociated types and methods to the underlyinggeo_traits::GeometryTraitimplementation while retaining the extension trait wrappers. - forward_
line_ string_ trait_ ext_ funcs - Forwards
LineStringTraitExtmethods to an underlyingLineStringTraitimplementation. - forward_
line_ trait_ ext_ funcs - Forwards
LineTraitExtmethods to an underlyingLineTraitimplementation. - forward_
multi_ line_ string_ trait_ ext_ funcs - Forwards
MultiLineStringTraitExtmethods to the underlyinggeo_traits::MultiLineStringTraitimplementation while keeping the extension trait wrappers intact. - forward_
multi_ point_ trait_ ext_ funcs - Forwards
MultiPointTraitExtmethods to the underlyinggeo_traits::MultiPointTraitimplementation while maintaining the extension trait wrappers. - forward_
multi_ polygon_ trait_ ext_ funcs - Forwards
MultiPolygonTraitExtmethods to the underlyinggeo_traits::MultiPolygonTraitimplementation while preserving the extension trait wrappers. - forward_
point_ trait_ ext_ funcs - Forwards
PointTraitExtmethods to the wrappedPointTraitimplementation. - forward_
polygon_ trait_ ext_ funcs - Forwards
PolygonTraitExtmethods to the underlyinggeo_traits::PolygonTraitimplementation while preserving the extension trait wrappers. - forward_
rect_ trait_ ext_ funcs - Forwards
RectTraitExtmethods to the underlyinggeo_traits::RectTraitimplementation while keeping the extension trait wrappers intact. - forward_
triangle_ trait_ ext_ funcs - Forwards
TriangleTraitExtmethods to the underlyinggeo_traits::TriangleTraitimplementation while returning extension trait wrappers.
Structs§
- Coord
Tag - Tag that identifies coordinate-like values.
- Geometry
Collection Tag - Tag that identifies geometry-collection-like geometries.
- Geometry
Tag - Tag that identifies generic geometry values.
- Line
String Tag - Tag that identifies line-string-like geometries.
- LineTag
- Tag that identifies line-segment-like geometries.
- Multi
Line String Tag - Tag that identifies multi-line-string-like geometries.
- Multi
Point Tag - Tag that identifies multi-point-like geometries.
- Multi
Polygon Tag - Tag that identifies multi-polygon-like geometries.
- Point
Tag - Tag that identifies point-like geometries.
- Polygon
Tag - Tag that identifies polygon-like geometries.
- RectTag
- Tag that identifies rectangle-like geometries.
- Triangle
Tag - Tag that identifies triangle-like geometries.
Enums§
- Geometry
Type Ext - Borrowed view into a concrete geometry type implementing the extension traits.
Traits§
- Coord
Trait Ext - Extension methods that bridge
CoordTraitwith concretegeo-typeshelpers. - GeoTrait
ExtWith Type Tag - Helper trait implemented by extension traits to expose their geometry tag. Each geometry type could only implement this trait once, so each geometry type has one unique tag. This helps us work around the single-orphan rule of Rust trait system and help us smoothly refactor the existing algorithms in georust/geo.
- GeoType
Tag - Marker trait implemented by all geometry type tags used for dispatch.
- Geometry
Collection Trait Ext - Extension trait that enriches
geo_traits::GeometryCollectionTraitwith Sedona-specific conveniences. - Geometry
Trait Ext - Extension trait that augments
geo_traits::GeometryTraitwith Sedona’s additional helpers and type tagging support. - Line
String Trait Ext - Additional convenience methods for
LineStringTraitimplementers that mirrorgeo-types. - Line
Trait Ext - Extra helpers for
LineTraitimplementers that mirrorgeo-typesAPIs. - Multi
Line String Trait Ext - Extension trait that layers additional ergonomics on
geo_traits::MultiLineStringTrait. - Multi
Point Trait Ext - Extension trait that augments
geo_traits::MultiPointTraitwith richer ergonomics and accessors. - Multi
Polygon Trait Ext - Extension trait that enriches
geo_traits::MultiPolygonTraitwith Sedona conveniences. - Point
Trait Ext - Extension methods that expose
geo-typesconveniences forPointTraitimplementers. - Polygon
Trait Ext - Extension trait that augments
geo_traits::PolygonTraitwith extension-aware accessors over exterior and interior rings. - Rect
Trait Ext - Extension trait that augments
geo_traits::RectTraitwith additional helpers for working with axis-aligned bounding boxes. - Triangle
Trait Ext - Extension trait that augments
geo_traits::TriangleTraitwith convenient coordinate accessors and adapters.