# sec_interp.core.domain.entities module

Domain entities and basic aliases.

sec_interp.core.domain.entities.DomainGeometry

  A geometry represented in WKT (Well-Known Text) format.

class sec_interp.core.domain.entities.DrillholeProjection(hole_id: str, distance: float, elevation: float, offset: float, total_depth: float, points_3d: list[SpatialMeta] = <factory>, segments: list[GeologySegment] = <factory>)

  Bases: `object`

  Represents a projected drillhole on the section plane.

  hole_id

    Unique identifier for the drillhole.

    Type:

      str

  distance

    Horizontal distance from the profile start.

    Type:

      float

  elevation

    Elevation (Z) of the collar.

    Type:

      float

  offset

    Orthogonal distance from the section line.

    Type:

      float

  total_depth

    Total length of the drillhole.

    Type:

      float

  points_3d

    Optional list of spatial metadata points along the trajectory.

    Type:

      list[SpatialMeta]

  segments

    Optional list of geological segments along the hole.

    Type:

      list[GeologySegment]

  distance: float
  elevation: float
  hole_id: str
  offset: float
  points_3d: list[SpatialMeta]
  segments: list[GeologySegment]
  total_depth: float

sec_interp.core.domain.entities.ExportSettings

  Dictionary of export configuration parameters.

  alias of `dict`[`str`, `Any`]

class sec_interp.core.domain.entities.GeologySegment(unit_name: str, geometry_wkt: str | None, attributes: dict[str, ~typing.Any], points: list[tuple[float, float]], points_3d: list[tuple[float, float, float]] = <factory>, points_3d_projected: list[tuple[float, float, float]] = <factory>)

  Bases: `object`

  Represents a geological unit segment along the profile.

  unit_name

    Name of the geological unit.

    Type:

      str

  geometry_wkt

    WKT representation of the segment geometry (optional).

    Type:

      str | None

  attributes

    Dictionary containing original feature attributes.

    Type:

      dict[str, Any]

  points

    Sampled points (distance, elevation) representing the segment boundary.

    Type:

      list[tuple[float, float]]

  attributes: dict[str, Any]
  geometry_wkt: str | None
  points: list[tuple[float, float]]
  points_3d: list[tuple[float, float, float]]
  points_3d_projected: list[tuple[float, float, float]]
  unit_name: str

class sec_interp.core.domain.entities.InterpretationPolygon(id: str, name: str, type: str, vertices_2d: list[tuple[float, float]], attributes: dict[str, ~typing.Any] = <factory>, color: str = '#FF0000', created_at: str = '')

  Bases: `object`

  Represents a 2D digitized interpretation polygon on the section profile.

  id

    Unique identifier for the polygon.

    Type:

      str

  name

    User-defined name for the interpreted unit/feature.

    Type:

      str

  type

    Classification (e.g., ‘lithology’, ‘fault’, ‘alteration’).

    Type:

      str

  vertices_2d

    List of (distance, elevation) points defining the polygon.

    Type:

      list[tuple[float, float]]

  attributes

    Metadata for the interpretation.

    Type:

      dict[str, Any]

  color

    Visual representation color (HEX).

    Type:

      str

  created_at

    ISO timestamp of creation.

    Type:

      str

  attributes: dict[str, Any]
  color: str = '#FF0000'
  created_at: str = ''
  id: str
  name: str
  type: str
  vertices_2d: list[tuple[float, float]]

class sec_interp.core.domain.entities.InterpretationPolygon25D(id: str, name: str, type: str, geometry_wkt: str, attributes: dict[str, Any], crs_authid: str)

  Bases: `object`

  Represents a georeferenced 2.5D interpretation geometry (with M coordinates).

  id

    Inherited identifier.

    Type:

      str

  name

    Inherited name.

    Type:

      str

  type

    Inherited type.

    Type:

      str

  geometry_wkt

    Domain Geometry in WKT format.

    Type:

      str

  attributes

    Inherited and calculated attributes.

    Type:

      dict[str, Any]

  crs_authid

    CRS Auth ID (e.g. ‘EPSG:4326’).

    Type:

      str

  attributes: dict[str, Any]
  crs_authid: str
  geometry_wkt: str
  id: str
  name: str
  type: str

sec_interp.core.domain.entities.LayerDict

  Dictionary mapping layer names to QgsVectorLayer objects.

  alias of `dict`[`str`, QgsVectorLayer]

sec_interp.core.domain.entities.Point2D

  A 2D point represented as (x, y) or (distance, elevation).

  alias of `tuple`[`float`, `float`]

sec_interp.core.domain.entities.Point3D

  A 3D point represented as (x, y, z).

  alias of `tuple`[`float`, `float`, `float`]

sec_interp.core.domain.entities.PointList

  List of 2D points.

  alias of `list`[`tuple`[`float`, `float`]]

sec_interp.core.domain.entities.SettingsDict

  Dictionary of plugin settings and configuration values.

  alias of `dict`[`str`, `Any`]

class sec_interp.core.domain.entities.StructureMeasurement(distance: float, elevation: float, apparent_dip: float, original_dip: float, original_strike: float, attributes: dict[str, Any])

  Bases: `object`

  Represents a projected structural measurement on the section plane.

  distance

    Horizontal distance from the start of the profile.

    Type:

      float

  elevation

    Elevation (Z) at the projected point.

    Type:

      float

  apparent_dip

    Dip angle relative to the section plane.

    Type:

      float

  original_dip

    True dip measured in the field.

    Type:

      float

  original_strike

    True strike (azimuth) measured in the field.

    Type:

      float

  attributes

    Dictionary containing original feature attributes.

    Type:

      dict[str, Any]

  apparent_dip: float
  attributes: dict[str, Any]
  distance: float
  elevation: float
  original_dip: float
  original_strike: float

sec_interp.core.domain.entities.ValidationResult

  Tuple of (is_valid, error_message) from validation functions.

  alias of `tuple`[`bool`, `str`]