sec_interp.core.services.drillhole.collar_processor module
Processing logic for Drillhole Collars (pure computation).
- class sec_interp.core.services.drillhole.collar_processor.CollarProcessor
Bases:
objectHandles pure projection of detached collar data.
- build_coordinate_map(collar_data: list[dict[str, Any]]) dict[Any, tuple[float, float]]
Build a mapping of hole IDs to collar coordinates.
- extract_and_project_detached(collar_data: dict[str, Any], line_points: list[tuple[float, float]], buffer_width: float, collar_id_field: str, collar_z_field: str, collar_depth_field: str, pre_sampled_z: dict[Any, float] | None = None) DrillholeProjection | None
Project a detached collar onto the section line.
- Parameters:
collar_data – Detached collar
{"id", "point", "attributes"}.line_points – Section line vertices as
(x, y)tuples.buffer_width – Maximum horizontal projection buffer.
collar_id_field – ID field name.
collar_z_field – Collar elevation field name.
collar_depth_field – Total depth field name.
pre_sampled_z – Optional map of pre-sampled elevations.
- Returns:
A
DrillholeProjectionif within the buffer, else None.