# sec_interp.core.interfaces.structure_interface module

Interface for Structure services.

class sec_interp.core.interfaces.structure_interface.IStructureService

  Bases: `ABC`

  Abstract interface for the Structural Projection Service.

  abstractmethod project_structures(line_lyr: qgis.core.QgsVectorLayer, raster_lyr: qgis.core.QgsRasterLayer, struct_lyr: qgis.core.QgsVectorLayer, buffer_m: int, line_az: float, dip_field: str, strike_field: str, band_number: int = 1) → Any

    Project structural measurements onto the cross-section plane.

    Parameters:

      - line_lyr – The cross-section line vector layer.

      - raster_lyr – The DEM raster layer for elevation sampling.

      - struct_lyr – Vector layer containing structural measurements.

      - buffer_m – Search buffer distance in meters.

      - line_az – Azimuth of the section line in degrees.

      - dip_field – Name of the field containing dip values.

      - strike_field – Name of the field containing strike values.

      - band_number – Raster band to use for elevation (default: 1).

    Returns:

      List of StructureMeasurement objects.

    Return type:

      StructureData