sec_interp.core.services.drillhole_service module
- class sec_interp.core.services.drillhole_service.DrillholeService[source]
Bases:
IDrillholeServiceService for processing drillhole data.
- prepare_task_input(line_layer: QgsVectorLayer, buffer_width: float, collar_layer: QgsVectorLayer, collar_id_field: str, use_geometry: bool, collar_x_field: str, collar_y_field: str, collar_z_field: str, collar_depth_field: str, survey_layer: QgsVectorLayer, survey_fields: dict[str, str], interval_layer: QgsVectorLayer, interval_fields: dict[str, str], dem_layer: QgsRasterLayer | None = None, band_num: int = 1) DrillholeTaskInput[source]
Prepare detached domain data for async processing.
This method centralizes the extraction of data from QGIS layers in the Main Thread, creating a detached DrillholeTaskInput DTO.
- process_intervals(collar_points: list[tuple], collar_data: list[dict[str, Any]], survey_data: dict[Any, list[tuple]], interval_data: dict[Any, list[tuple]], collar_id_field: str, use_geometry: bool, collar_x_field: str, collar_y_field: str, line_data: Any, distance_area: Any, buffer_width: float, section_azimuth: float, survey_fields: dict[str, str], interval_fields: dict[str, str]) tuple[list, list][source]
Process drillhole interval data using detached structures.
- process_task_data(task_input: DrillholeTaskInput, feedback: Any | None = None) Any[source]
Process drillholes using detached domain data (Thread-Safe).
- project_collars(collar_data: list[dict[str, Any]], line_data: Any, distance_area: Any, 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, pre_sampled_z: dict[Any, float] | None = None) list[tuple[Any, float, float, float, float]][source]
Project collar points onto section line using detached domain data.