# sec_interp.core.interfaces.geology_interface module

Interface for Geology services.

class sec_interp.core.interfaces.geology_interface.IGeologyService

  Bases: `ABC`

  Abstract interface for the Geological Profiling Service.

  abstractmethod generate_geological_profile(line_lyr: qgis.core.QgsVectorLayer, raster_lyr: qgis.core.QgsRasterLayer, outcrop_lyr: qgis.core.QgsVectorLayer, outcrop_name_field: str, band_number: int = 1) → Any

    Generate geological profile data by intersecting the section line with outcrop polygons.

    Parameters:

      - line_lyr – The cross-section line vector layer.

      - raster_lyr – The DEM raster layer for elevation.

      - outcrop_lyr – Vector layer containing geological outcrop polygons.

      - outcrop_name_field – The field name for geological unit names.

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

    Returns:

      List of GeologySegment objects.

    Return type:

      GeologyData