Skip to main content

Crate plozone

Crate plozone 

Source
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:

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;

Modules§

coord
Geodetic ⇄ ENU coordinate conversion (WGS84).
octree
Adaptive-density octree over ENU point clouds.
scan
Octree hole scanner.
store
R-tree-indexed zone store.
zone
Zone shapes — the ZoneShape trait, the serializable Zone enum, and a handful of built-in custom shapes.