mod coord;
mod geometry;
mod geometry_collection;
mod linearring;
mod linestring;
mod multilinestring;
mod multipoint;
mod multipolygon;
mod point;
mod polygon;
mod util;
pub use crate::common::Dimension;
pub use coord::Coord;
pub use geometry::Wkb;
pub use geometry_collection::GeometryCollection;
pub use linearring::LinearRing;
pub use linestring::LineString;
pub use multilinestring::MultiLineString;
pub use multipoint::MultiPoint;
pub use multipolygon::MultiPolygon;
pub use point::Point;
pub use polygon::Polygon;
use crate::error::WkbResult;
pub fn read_wkb(buf: &[u8]) -> WkbResult<Wkb<'_>> {
Wkb::try_new(buf)
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum GeometryType {
Point,
LineString,
Polygon,
MultiPoint,
MultiLineString,
MultiPolygon,
GeometryCollection,
}
const HEADER_BYTES: u64 = 5;