# sec_interp.core.interfaces.profile_interface module

Interface for Profile services.

class sec_interp.core.interfaces.profile_interface.IProfileService

  Bases: `ABC`

  Abstract interface for the Topographic Profile Service.

  abstractmethod generate_topographic_profile(line_lyr: qgis.core.QgsVectorLayer, raster_lyr: qgis.core.QgsRasterLayer, band_number: int = 1, interval: float | None = None) → Any

    Generate topographic profile data by sampling elevation along a section line.

    Parameters:

      - line_lyr – The cross-section line vector layer.

      - raster_lyr – The DEM raster layer for elevation.

      - band_number – Raster band to sample (default: 1).

      - interval – Optional sampling interval. If None, uses raster resolution.

    Returns:

      List of (distance, elevation) tuples.

    Return type:

      ProfileData