sec_interp.core.utils.drillhole module

sec_interp.core.utils.drillhole.calculate_drillhole_trajectory(collar_point: Any, collar_z: float, survey_data: list[tuple[float, float, float]], section_azimuth: float, densify_step: float = 1.0, total_depth: float = 0.0) list[tuple[float, float, float, float, float, float]][source]

Calculate 3D trajectory of a drillhole using survey data.

sec_interp.core.utils.drillhole.interpolate_intervals_on_trajectory(trajectory: list[tuple], intervals: list[tuple[float, float, Any]], buffer_width: float) list[tuple[Any, list[tuple[float, float]], list[tuple[float, float, float]]]][source]

Interpolate interval attributes along drillhole trajectory.

Filters and maps geological intervals onto the 3D trajectory points that fall within the specified section buffer.

Parameters:
  • trajectory – List of (depth, x, y, z, dist_along, offset) tuples.

  • intervals – List of (from_depth, to_depth, attribute) tuples.

  • buffer_width – Maximum perpendicular offset to include a point.

Returns:

  • attribute: The metadata/geology associated with the interval.

  • points_2d: List of (distance, elevation) coordinates for rendering.

  • points_3d: List of (x, y, z) original coordinates for 3D export.

Return type:

List of tuples containing

sec_interp.core.utils.drillhole.project_trajectory_to_section(trajectory: list[tuple], line_geom: qgis.core.QgsGeometry, line_start: Any, distance_area: qgis.core.QgsDistanceArea) list[tuple[float, float, float, float, float, float, float, float]][source]

Project drillhole trajectory points onto section line.