sec_interp.core.domain.task_inputs module
Data Transfer Objects for async task inputs.
- class sec_interp.core.domain.task_inputs.DrillholeContext(line_points: list[tuple[float, float]], section_azimuth: float, buffer_width: float, collar_id_field: str, collar_z_field: str, collar_depth_field: str, collar_data: list[dict[str, ~typing.Any]], survey_data: dict[~typing.Any, list[tuple[float, float, float]]], interval_data: dict[~typing.Any, list[tuple[float, float, str]]], pre_sampled_z: dict[~typing.Any, float] = <factory>)
Bases:
objectFully-detached drillhole data (Extract output) for pure computation.
Produced by the GUI
DrillholeExtractoradapter and consumed by the QGIS-agnosticDrillholeService. Contains no live QGIS objects.- line_points
Section line vertices as
(x, y)tuples.- Type:
list[tuple[float, float]]
- section_azimuth
Section orientation in degrees.
- Type:
float
- buffer_width
Maximum horizontal projection buffer.
- Type:
float
- collar_id_field
ID field name.
- Type:
str
- collar_z_field
Collar elevation field.
- Type:
str
- collar_depth_field
Total depth field.
- Type:
str
- collar_data
Detached collars (
{"id", "point", "attributes"}).- Type:
list[dict[str, Any]]
- survey_data
hole_id -> [(depth, azim, incl)].
- Type:
dict[Any, list[tuple[float, float, float]]]
- interval_data
hole_id -> [(from, to, lith)].
- Type:
dict[Any, list[tuple[float, float, str]]]
- pre_sampled_z
hole_id -> pre-sampled collar elevation.
- Type:
dict[Any, float]
- buffer_width: float
- collar_data: list[dict[str, Any]]
- collar_depth_field: str
- collar_id_field: str
- collar_z_field: str
- interval_data: dict[Any, list[tuple[float, float, str]]]
- line_points: list[tuple[float, float]]
- pre_sampled_z: dict[Any, float]
- section_azimuth: float
- survey_data: dict[Any, list[tuple[float, float, float]]]
- class sec_interp.core.domain.task_inputs.GeologyContext(master_profile_data: list[tuple[float, float]], master_grid_dists: list[tuple[float, tuple[float, float], float]], outcrops: list[OutcropSegments], tolerance: float = 0.001)
Bases:
objectFully-detached geology data (Extract output) for pure computation.
Produced by the GUI
GeologyExtractoradapter and consumed by the QGIS-agnosticGeologyService. Contains no live QGIS objects.- master_profile_data
Sampled topography elevations
(dist, elev).- Type:
list[tuple[float, float]]
- master_grid_dists
Grid
(dist, (x, y), elev)for interpolation.- Type:
list[tuple[float, tuple[float, float], float]]
- outcrops
Detached outcrop intersection segments.
- tolerance
Distance tolerance for intersection sampling.
- Type:
float
- master_grid_dists: list[tuple[float, tuple[float, float], float]]
- master_profile_data: list[tuple[float, float]]
- outcrops: list[OutcropSegments]
- tolerance: float = 0.001
- class sec_interp.core.domain.task_inputs.OutcropSegments(unit_name: str, attributes: dict[str, Any], segments: list[tuple[float, float, str]])
Bases:
objectDetached intersection segments for a single outcrop feature.
- unit_name
Geological unit name.
- Type:
str
- attributes
Original feature attributes.
- Type:
dict[str, Any]
- segments
List of
(dist_start, dist_end, wkt)tuples, one per intersection segment along the section line.- Type:
list[tuple[float, float, str]]
- attributes: dict[str, Any]
- segments: list[tuple[float, float, str]]
- unit_name: str