vibespatial.constructive.simplify¶
GPU-accelerated geometry simplification (Visvalingam-Whyatt).
Visvalingam-Whyatt is more GPU-friendly than Douglas-Peucker because it avoids recursion. Per-coordinate effective area computation, iterative elimination of vertices below the tolerance.
For LineString/MultiLineString: simplify coordinate sequences. For Polygon/MultiPolygon: simplify each ring, preserving closure. Points/MultiPoints pass through unchanged.
ADR-0033: Tier 1 NVRTC for per-coordinate area computation. ADR-0002: COARSE class — simplification tolerance is user-specified.
Attributes¶
Functions¶
|
Simplify geometries using Visvalingam-Whyatt algorithm. |
Module Contents¶
- vibespatial.constructive.simplify.cp = None¶
- vibespatial.constructive.simplify.logger¶
- vibespatial.constructive.simplify.simplify_owned(owned: vibespatial.geometry.owned.OwnedGeometryArray, tolerance: float, *, preserve_topology: bool = True, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.geometry.owned.OwnedGeometryArray¶
Simplify geometries using Visvalingam-Whyatt algorithm.
Parameters¶
- tolerancefloat
Simplification tolerance. Vertices with effective area below tolerance^2 are removed.
- preserve_topologybool
If True, ensures simplified geometries remain valid.
- dispatch_modeExecutionMode
Execution mode selection (AUTO / CPU / GPU).
- precisionPrecisionMode
Precision mode selection (AUTO / FP32 / FP64).
Returns¶
- OwnedGeometryArray
New geometry array with simplified coordinates.