sec_interp.core.domain.dtos module
Complex Data Transfer Objects.
- class sec_interp.core.domain.dtos.PreviewParams(raster_layer: Any, line_layer: Any, band_num: int, buffer_dist: float = 100.0, section_feature_id: int | None = None, color_mode: str = 'gradient', ramp_name: str | None = None, single_color_hex: str | None = None, smooth: bool = False, smooth_window: int = 30, outcrop_layer: Any | None = None, outcrop_name_field: str | None = None, struct_layer: Any | None = None, dip_field: str | None = None, strike_field: str | None = None, dip_scale_factor: float = 1.0, collar_layer: Any | None = None, collar_id_field: str | None = None, collar_use_geometry: bool = True, collar_x_field: str | None = None, collar_y_field: str | None = None, collar_z_field: str | None = None, collar_depth_field: str | None = None, survey_layer: Any | None = None, survey_id_field: str | None = None, survey_depth_field: str | None = None, survey_azim_field: str | None = None, survey_incl_field: str | None = None, interval_layer: Any | None = None, interval_id_field: str | None = None, interval_from_field: str | None = None, interval_to_field: str | None = None, interval_lith_field: str | None = None, max_points: int = 1000, canvas_width: int = 800, auto_lod: bool = True)
Bases:
objectConsolidated parameters for profile generation and preview.
- raster_layer
Resolved DEM raster layer object for sampling.
- Type:
Any
- line_layer
Resolved section line layer object.
- Type:
Any
- band_num
Raster band number to use for elevation.
- Type:
int
- buffer_dist
Search buffer for projecting data onto the section.
- Type:
float
- section_feature_id
Section feature id to use (first feature when None).
- Type:
int | None
- color_mode
Topographic profile color mode (“gradient” or “single”).
- Type:
str
- ramp_name
Color ramp name used in gradient mode.
- Type:
str | None
- single_color_hex
Hex color used in single-color mode.
- Type:
str | None
- smooth
Whether to smooth the topographic and geological profile.
- Type:
bool
- smooth_window
Smoothing window in metres (when
smoothis True).- Type:
int
- outcrop_layer
Optional resolved geological outcrop layer object.
- Type:
Any | None
- outcrop_name_field
Field name for geological unit names.
- Type:
str | None
- struct_layer
Optional resolved structural measurements layer object.
- Type:
Any | None
- dip_field
Field name for dip values.
- Type:
str | None
- strike_field
Field name for strike/azimuth values.
- Type:
str | None
- dip_scale_factor
Visual scale factor for dip lines.
- Type:
float
- collar_layer
Optional resolved drillhole collar layer object.
- Type:
Any | None
- collar_id_field
Field name for drillhole IDs in collar layer.
- Type:
str | None
- collar_use_geometry
Whether to use layer geometry for collar coordinates.
- Type:
bool
- collar_x_field
Field name for X coordinate.
- Type:
str | None
- collar_y_field
Field name for Y coordinate.
- Type:
str | None
- collar_z_field
Field name for Z coordinate.
- Type:
str | None
- collar_depth_field
Field name for total hole depth.
- Type:
str | None
- survey_layer
Optional resolved drillhole survey layer object.
- Type:
Any | None
- survey_id_field
Field name for drillhole IDs in survey layer.
- Type:
str | None
- survey_depth_field
Field name for downhole depth in survey.
- Type:
str | None
- survey_azim_field
Field name for azimuth in survey.
- Type:
str | None
- survey_incl_field
Field name for inclination in survey.
- Type:
str | None
- interval_layer
Optional resolved drillhole interval layer object.
- Type:
Any | None
- interval_id_field
Field name for drillhole IDs in interval layer.
- Type:
str | None
- interval_from_field
Field name for ‘from’ depth.
- Type:
str | None
- interval_to_field
Field name for ‘to’ depth.
- Type:
str | None
- interval_lith_field
Field name for lithology code/name.
- Type:
str | None
- max_points
Max number of points for simplified preview (LOD).
- Type:
int
- canvas_width
Width of the preview canvas in pixels.
- Type:
int
- auto_lod
Whether to automatically adjust LOD based on canvas width.
- Type:
bool
- auto_lod: bool = True
- band_num: int
- buffer_dist: float = 100.0
- canvas_width: int = 800
- collar_depth_field: str | None = None
- collar_id_field: str | None = None
- collar_layer: Any | None = None
- collar_use_geometry: bool = True
- collar_x_field: str | None = None
- collar_y_field: str | None = None
- collar_z_field: str | None = None
- color_mode: str = 'gradient'
- dip_field: str | None = None
- dip_scale_factor: float = 1.0
- interval_from_field: str | None = None
- interval_id_field: str | None = None
- interval_layer: Any | None = None
- interval_lith_field: str | None = None
- interval_to_field: str | None = None
- line_layer: Any
- max_points: int = 1000
- outcrop_layer: Any | None = None
- outcrop_name_field: str | None = None
- ramp_name: str | None = None
- raster_layer: Any
- section_feature_id: int | None = None
- single_color_hex: str | None = None
- smooth: bool = False
- smooth_window: int = 30
- strike_field: str | None = None
- struct_layer: Any | None = None
- survey_azim_field: str | None = None
- survey_depth_field: str | None = None
- survey_id_field: str | None = None
- survey_incl_field: str | None = None
- survey_layer: Any | None = None
- validate() None
Perform native validation of primitive parameters.
Layer validation is performed separately by the GUI via
ProjectValidatorusing detachedLayerMetadata.- Raises:
ValueError – If primitive parameters are missing or invalid.
- class sec_interp.core.domain.dtos.PreviewResult(topo: list[tuple[float, float]] | None=None, geol: list[GeologySegment] | None = None, struct: list[StructureMeasurement] | None = None, drillhole: Any | None = None, metrics: MetricsCollector = <factory>, buffer_dist: float = 0.0)
Bases:
objectConsolidated result set from profile generation.
- topo
Sampled topographic profile data.
- Type:
list[tuple[float, float]] | None
- geol
List of geological unit segments.
- Type:
list[sec_interp.core.domain.entities.GeologySegment] | None
- struct
List of projected structural measurements.
- Type:
list[sec_interp.core.domain.entities.StructureMeasurement] | None
- drillhole
Processed drillhole projection data.
- Type:
Any | None
- metrics
Performance metrics collector for the generation cycle.
- buffer_dist
Buffer distance used for this result.
- Type:
float
- buffer_dist: float = 0.0
- drillhole: Any | None = None
- geol: list[GeologySegment] | None = None
- get_distance_range() tuple[float, float]
Calculate the horizontal distance range based on topography.
Uses the first and last points of the sampled topography as the authoritative horizontal bounds of the section.
- Returns:
A tuple containing (min_distance, max_distance).
- get_elevation_range() tuple[float, float]
Calculate the global minimum and maximum elevation across all active layers.
Scans topography, geology, structural measurements, and drillhole data to find the absolute vertical bounds.
- Returns:
A tuple containing (min_elevation, max_elevation).
- metrics: MetricsCollector
- struct: list[StructureMeasurement] | None = None
- topo: list[tuple[float, float]] | None = None