sec_interp.core.domain.task_inputs module
Data Transfer Objects for async task inputs.
- class sec_interp.core.domain.task_inputs.DrillholeTaskInput(line_geometry_wkt: str, line_start_x: float, line_start_y: float, line_crs_authid: str, section_azimuth: float, buffer_width: float, collar_id_field: str, use_geometry: bool, collar_x_field: str, collar_y_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:
objectData Transfer Object for DrillholeGenerationTask.
Encapsulates all data required to project and process drillholes in a background thread without accessing QGIS API objects.
- line_geometry_wkt
Section geometry in WKT.
- Type:
str
- line_start_x
Start vertex X.
- Type:
float
- line_start_y
Start vertex Y.
- Type:
float
- line_crs_authid
CRS of the section line.
- Type:
str
- section_azimuth
Azimuth orientation in degrees.
- Type:
float
- buffer_width
Maximum horizontal projection buffer.
- Type:
float
- collar_id_field
ID field name.
- Type:
str
- use_geometry
Whether to use geometric coordinates for collars.
- Type:
bool
- collar_x_field
Fallback X field name.
- Type:
str
- collar_y_field
Fallback Y field name.
- Type:
str
- collar_z_field
Collar elevation field.
- Type:
str
- collar_depth_field
Total depth field.
- Type:
str
- collar_data
List of detached features.
- Type:
list[dict[str, Any]]
- survey_data
Dictionary mapping hole IDs to survey readings.
- Type:
dict[Any, list[tuple[float, float, float]]]
- interval_data
Dictionary mapping hole IDs to geological logs.
- Type:
dict[Any, list[tuple[float, float, str]]]
- pre_sampled_z
Dictionary of pre-calculated collar elevations.
- Type:
dict[Any, float]
- buffer_width: float
- collar_data: list[dict[str, Any]]
- collar_depth_field: str
- collar_id_field: str
- collar_x_field: str
- collar_y_field: str
- collar_z_field: str
- interval_data: dict[Any, list[tuple[float, float, str]]]
- line_crs_authid: str
- line_geometry_wkt: str
- line_start_x: float
- line_start_y: float
- pre_sampled_z: dict[Any, float]
- section_azimuth: float
- survey_data: dict[Any, list[tuple[float, float, float]]]
- use_geometry: bool
- class sec_interp.core.domain.task_inputs.GeologyTaskInput(line_geometry_wkt: str, line_start_x: float, line_start_y: float, crs_authid: str, master_profile_data: list[tuple[float, float]], master_grid_dists: list[tuple[float, tuple[float, float], float]], outcrop_data: list[dict[str, Any]], outcrop_name_field: str, tolerance: float = 0.001)
Bases:
objectData Transfer Object for GeologyGenerationTask.
Contains all necessary data to process geological profiles without accessing QGIS layers directly.
- line_geometry_wkt
Section geometry in WKT format.
- Type:
str
- line_start_x
X coordinate of section start vertex.
- Type:
float
- line_start_y
Y coordinate of section start vertex.
- Type:
float
- crs_authid
Authority ID for the CRS (e.g., ‘EPSG:4326’).
- Type:
str
- master_profile_data
Sampled topography elevations.
- Type:
list[tuple[float, float]]
- master_grid_dists
Grid distances for point sampling.
- Type:
list[tuple[float, tuple[float, float], float]]
- outcrop_data
Detached outcrop features (geometries and attrs).
- Type:
list[dict[str, Any]]
- outcrop_name_field
Name of the field containing unit info.
- Type:
str
- tolerance
Distance tolerance for intersection sampling.
- Type:
float
- crs_authid: str
- line_geometry_wkt: str
- line_start_x: float
- line_start_y: float
- master_grid_dists: list[tuple[float, tuple[float, float], float]]
- master_profile_data: list[tuple[float, float]]
- outcrop_data: list[dict[str, Any]]
- outcrop_name_field: str
- tolerance: float = 0.001