vibespatial.constructive.segmentize

GPU-accelerated segmentize: split long segments by interpolation.

Segmentize splits geometry segments longer than max_segment_length by inserting linearly-interpolated intermediate points so that every output segment is at most max_segment_length long.

Points/MultiPoints pass through unchanged. For LineString/MultiLineString: segmentize coordinate sequences. For Polygon/MultiPolygon: segmentize each ring, preserving closure.

ADR-0033: Tier 1 NVRTC kernel (count + scatter), Tier 3a CCCL (exclusive_sum). ADR-0002: COARSE class – segment length threshold is user-specified;

constructive stays fp64 per ADR-0002.

Attributes

cp

Functions

segmentize_owned(...)

Segmentize geometries: split segments exceeding max_segment_length.

Module Contents

vibespatial.constructive.segmentize.cp = None
vibespatial.constructive.segmentize.segmentize_owned(owned: vibespatial.geometry.owned.OwnedGeometryArray, max_segment_length: float, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO) vibespatial.geometry.owned.OwnedGeometryArray

Segmentize geometries: split segments exceeding max_segment_length.

Inserts linearly-interpolated intermediate points so that no output segment exceeds the given length.

Parameters

max_segment_lengthfloat

Maximum allowed segment length. Segments longer than this are subdivided. Must be positive.

dispatch_modeExecutionMode

Execution mode selection (AUTO / CPU / GPU).

Returns

OwnedGeometryArray

New geometry array with densified coordinates.