# sec_interp.core.services.structure_service module

Structure Data Processing Service.

This module handles the calculation of apparent dips and projection of structural measurements (planes, lines) onto the section plane.

class sec_interp.core.services.structure_service.StructureService

  Bases: `IStructureService`

  Service for projecting structural measurements onto cross-sections.

  This service handles the filtering and projection of structural measurements (dip/strike) onto a cross-section plane to calculate apparent dip.

  detach_structures(struct_lyr: qgis.core.QgsVectorLayer, line_geom: qgis.core.QgsGeometry, buffer_m: float) → list[dict[str, Any]]

    Extract structural features within buffer into detached dictionaries.

    Uses a spatial index filter via a buffer around the section line.

    Parameters:

      - struct_lyr – Structural measurements vector layer.

      - line_geom – Section line geometry.

      - buffer_m – Buffer distance in meters.

    Returns:

      List of detached dictionaries containing WKT and attributes.

  project_structures(line_geom: qgis.core.QgsGeometry, line_start: qgis.core.QgsPointXY, da: qgis.core.QgsDistanceArea, raster_lyr: qgis.core.QgsRasterLayer, struct_data: list[dict[str, Any]], buffer_m: float, line_az: float, dip_field: str, strike_field: str, band_number: int = 1) → list[StructureMeasurement]

    Project detached structural measurements onto the section plane.

    Calculates stations (distance along section), elevations from DEM, and apparent dips based on the section orientation.

    Parameters:

      - line_geom – Section line geometry.

      - line_start – Section start point.

      - da – Distance calculator.

      - raster_lyr – Elevation raster layer.

      - struct_data – List of detached structural data.

      - buffer_m – Projection buffer (m).

      - line_az – Section azimuth in degrees.

      - dip_field – Field name for dip angle.

      - strike_field – Field name for strike azimuth.

      - band_number – Raster band for elevation.

    Returns:

      Sorted list of projected StructureMeasurement objects.

    Return type:

      StructureData

  tr(message: str) → str

    Translate a message using QCoreApplication.