Skip to main content

sedona_geo_traits_ext/
lib.rs

1// Licensed to the Apache Software Foundation (ASF) under one
2// or more contributor license agreements.  See the NOTICE file
3// distributed with this work for additional information
4// regarding copyright ownership.  The ASF licenses this file
5// to you under the Apache License, Version 2.0 (the
6// "License"); you may not use this file except in compliance
7// with the License.  You may obtain a copy of the License at
8//
9//   http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing,
12// software distributed under the License is distributed on an
13// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14// KIND, either express or implied.  See the License for the
15// specific language governing permissions and limitations
16// under the License.
17//! Extended traits for the `geo-traits` crate
18//!
19//! This crate extends the `geo-traits` crate with additional traits and
20//! implementations. The goal is to provide a set of traits that are useful for
21//! implementing algorithms on top of the `geo` crate. Most of the methods are
22//! inspired by the `geo-types` crate, but are implemented as traits on the
23//! `geo-traits` types. Some methods returns concrete types defined in `geo-types`,
24//! these methods are only for computing tiny, intermediate results during
25//! algorithm execution.
26//!
27//! The crate is designed to support migration of the `geo` crate to use the
28//! traits defined in `geo-traits` by providing generic implementations of the
29//! geospatial algorithms, rather than implementing algorithms on concrete types
30//! defined in `geo-types`.
31//!
32//! The crate is currently under active development and the API is subject to
33//! change.
34
35pub use coord::CoordTraitExt;
36pub use geometry::{GeometryTraitExt, GeometryTypeExt};
37pub use geometry_collection::GeometryCollectionTraitExt;
38pub use line::LineTraitExt;
39pub use line_string::LineStringTraitExt;
40pub use multi_line_string::MultiLineStringTraitExt;
41pub use multi_point::MultiPointTraitExt;
42pub use multi_polygon::MultiPolygonTraitExt;
43pub use point::PointTraitExt;
44pub use polygon::PolygonTraitExt;
45pub use rect::RectTraitExt;
46pub use triangle::TriangleTraitExt;
47
48mod coord;
49mod geometry;
50mod geometry_collection;
51mod line;
52mod line_string;
53mod multi_line_string;
54mod multi_point;
55mod multi_polygon;
56mod point;
57mod polygon;
58mod rect;
59mod triangle;
60
61pub use type_tag::*;
62mod type_tag;
63
64pub mod wkb_ext;