vibespatial.constructive.interiors

GPU-accelerated interior ring extraction.

For Polygon geometries, extracts interior rings (holes) by reading ring_offsets and geometry_offsets on device. Produces a MultiLineString OGA where each row’s parts are the interior rings of that polygon.

Non-Polygon families produce empty MultiLineString (zero parts). Null rows propagate as null.

ADR-0033: Tier 2 — pure CuPy offset arithmetic, no custom NVRTC kernel.

Attributes

cp

Functions

interiors_owned(...)

Extract interior rings from Polygon geometries.

interiors_native_tabular_result(owned, *[, ...])

Module Contents

vibespatial.constructive.interiors.cp = None
vibespatial.constructive.interiors.interiors_owned(owned: vibespatial.geometry.owned.OwnedGeometryArray, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO) vibespatial.geometry.owned.OwnedGeometryArray

Extract interior rings from Polygon geometries.

Returns OwnedGeometryArray of MultiLineString geometries where each row’s parts are the interior rings (holes) of the input polygon.

Parameters

ownedOwnedGeometryArray

Input geometries.

dispatch_modeExecutionMode or str, default AUTO

Execution mode hint.

precisionPrecisionMode or str, default AUTO

Precision mode. COARSE class; wired for observability.

Returns

OwnedGeometryArray

Interior ring geometries as MultiLineString.

vibespatial.constructive.interiors.interiors_native_tabular_result(owned: vibespatial.geometry.owned.OwnedGeometryArray, *, dispatch_mode: vibespatial.runtime.ExecutionMode | str = ExecutionMode.AUTO, precision: vibespatial.runtime.precision.PrecisionMode | str = PrecisionMode.AUTO, crs=None, geometry_name: str = 'geometry', source_rows=None, source_tokens: tuple[str, Ellipsis] = (), attrs: dict[str, object] | None = None)