Skip to main content

geo_polygonize_core/
lib.rs

1//! A native Rust port of the JTS/GEOS polygonization algorithm.
2//!
3//! This crate allows you to reconstruct valid polygons from a set of lines,
4//! including handling of complex topologies like holes, nested shells, and disconnected components.
5//!
6//! # Features
7//! - **Robust Noding**: Uses Iterated Snap Rounding to handle dirty inputs.
8//! - **Performance**: SIMD-accelerated predicates and efficient memory layout.
9//! - **Wasm**: Optimized for WebAssembly environments.
10
11pub mod arrow_api;
12pub mod containment;
13pub mod diagnostics;
14pub mod error;
15pub mod ffi;
16pub mod graph;
17pub mod index;
18pub mod noding;
19pub mod options;
20pub mod polygonizer;
21pub mod tiling;
22pub mod types;
23pub mod utils;
24
25#[cfg(feature = "python")]
26pub mod python;
27
28#[cfg(test)]
29mod polygonizer_tests;
30
31pub use polygonizer::{Polygonizer, PolygonizerResult};
32pub use tiling::TiledPolygonizer;
33pub use types::{Coord3D, Line3D, Polygon3D};
34
35#[cfg(feature = "geoparquet")]
36pub mod geoparquet_api;
37
38#[cfg(feature = "flatgeobuf")]
39pub mod flatgeobuf_api;