Expand description
§Plozone
High-precision 3D spatial zone management — 3D geofencing, octree-based hole scanning, and adaptive density partitioning.
This crate currently implements the no-feature core:
coord::EnuConverter— geodetic ⇄ ENU coordinate conversion (WGS84).zone— thezone::ZoneShapetrait, the serializablezone::Zoneenum, and several built-in custom shapes.octree::OctreeNode— adaptive-density octree for point clouds.store::ZoneStore— R-tree-indexed zone store working over bothZoneanddyn ZoneShape.scan— octree hole scanner and scan modes.
use plozone::{coord::EnuConverter, store::ZoneStore, zone::{Zone, ZoneEntry}};
let conv = EnuConverter::new(10.7626, 106.6601, 0.0);
let store = ZoneStore::from_entries(&[
ZoneEntry::new(1, Zone::Cylinder {
center: [10.7626, 106.6601], radius_m: 50.0, z_min: 0.0, z_max: 20.0,
}),
], &conv);
let hits = store.query_geodetic(10.7626, 106.6601, 5.0, &conv);
assert_eq!(hits.as_slice(), &[1]);Re-exports§
pub use coord::CoordSystem;pub use coord::EnuConverter;pub use octree::OctreeNode;pub use octree::depth_for_accuracy;pub use scan::Hole;pub use scan::ScanMode;pub use scan::ScanResult;pub use scan::run_scan;pub use scan::scan_holes;pub use scan::scan_holes_multiscale;pub use store::ZoneDiff;pub use store::ZoneStore;pub use zone::Zone;pub use zone::ZoneBuilder;pub use zone::ZoneEntry;pub use zone::ZoneShape;pub use zone::zone_to_shape;pub use zone::validate_polygon;pub use zone::PolygonError;