sec_interp.core.validation.project_validators module

Specialized validators for project components (QGIS-agnostic).

class sec_interp.core.validation.project_validators.CrsPlausibilityValidator

Bases: IValidator

Blocks when a layer’s declared CRS contradicts its coordinate values.

This is a best-effort guard against mislabelled CRS (e.g. geographic data declared as projected), which otherwise produces silently wrong profiles.

validate(params: ValidationParams, context: ValidationContext) → None

Add a hard error per layer whose extent looks inconsistent with its CRS.

class sec_interp.core.validation.project_validators.DEMValidator

Bases: IValidator

Validates Raster DEM requirements.

validate(params: ValidationParams, context: ValidationContext) → None

Validate Raster DEM requirements.

class sec_interp.core.validation.project_validators.DrillholeValidator

Bases: IValidator

Validates complex Drillhole data dependencies.

validate(params: ValidationParams, context: ValidationContext) → None

Validate complex Drillhole data dependencies.

class sec_interp.core.validation.project_validators.GeologyValidator

Bases: IValidator

Validates Geology layer and field requirements.

validate(params: ValidationParams, context: ValidationContext) → None

Validate Geology layer and field requirements.

class sec_interp.core.validation.project_validators.OutputValidator

Bases: IValidator, TranslatableMixin

Validates output path and range requirements.

validate(params: ValidationParams, context: ValidationContext) → None

Validate output path and range requirements.

class sec_interp.core.validation.project_validators.SectionValidator

Bases: IValidator

Validates section line requirements.

validate(params: ValidationParams, context: ValidationContext) → None

Validate cross-section line layer requirements.

class sec_interp.core.validation.project_validators.StructureValidator

Bases: IValidator

Validates Structural measurements requirements.

validate(params: ValidationParams, context: ValidationContext) → None

Validate Structural measurements requirements.

sec_interp.core.validation.project_validators.section_line_geometry_error(params: ValidationParams) → str

Return the first section-line geometry error, or an empty string.

Encodes the mandatory 2-point invariant plus the projected-CRS and non-zero-length constraints using only primitive parameters, so the SectionValidator and the GUI gating can share one rule. Missing primitives (None) skip their respective check.