utiles_core/
lib.rs

1#![doc = include_str!("../README.md")]
2#![deny(clippy::pedantic)]
3#![deny(clippy::all)]
4#![deny(clippy::correctness)]
5#![deny(clippy::panic)]
6#![deny(clippy::perf)]
7#![deny(clippy::style)]
8#![deny(clippy::suspicious)]
9#![deny(clippy::complexity)]
10#![deny(clippy::unwrap_used)]
11#![warn(clippy::must_use_candidate)]
12#![allow(clippy::module_name_repetitions)]
13#![allow(clippy::similar_names)]
14
15#[doc(inline)]
16pub use crate::fns::*;
17#[doc(inline)]
18pub use crate::merge::*;
19#[doc(inline)]
20pub use crate::quadkey::*;
21pub use bbox::{geobbox_merge, BBox};
22#[doc(inline)]
23pub use errors::{UtilesCoreError, UtilesCoreResult};
24#[doc(inline)]
25pub use gdal::geotransform2optzoom;
26pub use lnglat::{wrap_lon, LngLat};
27pub use point::{Point2d, Point3d};
28pub use textiles::*;
29#[doc(inline)]
30pub use tile::Tile;
31#[doc(inline)]
32pub use tile_like::TileLike;
33pub use tile_strfmt::{TileStringFormat, TileStringFormatter};
34pub use tile_zbox::TileZBox;
35#[doc(inline)]
36pub use traits::{Coord2dLike, IsOk, LngLatLike, TileChildren1, TileParent};
37pub use web_geo_bounds::web_geo_bounds_union;
38pub use zoom::*;
39pub mod bbox;
40pub mod constants;
41
42mod errors;
43pub mod fns;
44
45pub mod gdal;
46pub mod geostats;
47pub mod lnglat;
48pub mod parsing;
49
50mod macros;
51mod merge;
52mod parent;
53#[cfg(feature = "pmtiles")]
54pub mod pmtiles;
55pub mod point;
56pub mod projection;
57pub mod quadkey;
58pub mod sibling_relationship;
59mod tests;
60mod textiles;
61pub mod tile;
62pub mod tile_data_row;
63mod tile_feature;
64mod tile_like;
65mod tile_strfmt;
66mod tile_tuple;
67pub mod tile_type;
68pub mod tile_zbox;
69mod tilecrz;
70mod traits;
71mod web_geo_bounds;
72pub mod zoom;
73
74// pub use macros::{point2d, utile, utile_yup};
75pub const VERSION: &str = env!("CARGO_PKG_VERSION");
76//
77// /// Tile macro to create a new tile.
78// ///  - do you need this? probably not
79// ///  - Did I write to figure out how to write a macro? yes
80// #[macro_export]
81// macro_rules! utile {
82//     ($x:expr, $y:expr, $z:expr) => {
83//         Tile::new($x, $y, $z)
84//     };
85// }
86//
87// #[macro_export]
88// macro_rules! utile_yup {
89//     ($x:expr, $y:expr, $z:expr) => {
90//         Tile::new($x, flipy($y, $z), $z)
91//     };
92// }
93//
94// /// point2d macro to create a new point.
95// /// Replacement for coord! macro from geo-types
96// ///
97// /// # Examples
98// ///
99// /// ```
100// /// use utiles_core::{point2d, Point2d};
101// /// let p = point2d!{ x: 1.0, y: 2.0 };
102// /// assert_eq!(p.x(), 1.0);
103// /// assert_eq!(p.y(), 2.0);
104// /// ```
105// #[macro_export]
106// macro_rules! point2d {
107//     { x: $x:expr, y: $y:expr } => {
108//         Point2d::new($x, $y)
109//     };
110// }
111
112pub mod prelude {
113    pub use crate::flipy;
114    pub use crate::point2d;
115    pub use crate::utile;
116    pub use crate::utile_yup;
117    pub use crate::Tile;
118    pub use crate::TileLike;
119}