Class ValidationFinding
- Namespace
- EncDotNet.S100.Validation
- Assembly
- EncDotNet.S100.Core.dll
A single finding emitted by an IValidationRule<TModel>.
public sealed record ValidationFinding : IEquatable<ValidationFinding>
- Inheritance
-
ValidationFinding
- Implements
- Inherited Members
Remarks
Findings are intended to be both machine-actionable (via RuleId)
and human-readable (via Message). Rule identifiers should
trace back to a clause of the relevant IHO product specification — for
example "S421-R-3.1" for clause 3.1 of S-421 — so that consumers
can cite the normative requirement that has been violated.
Either Point or BoundingBox (or neither) may be populated to give the finding a spatial location. This enables downstream consumers — such as the viewer's finding layer or an MCP agent — to surface findings spatially.
Properties
BoundingBox
Optional bounding rectangle associated with the finding (e.g. the envelope of an out-of-range coverage extent). Set on findings whose natural spatial extent is an area rather than a single point.
public BoundingBox? BoundingBox { get; init; }
Property Value
DatasetId
Identifier of the dataset the finding relates to, when the rule was evaluated in a context that has a dataset identity.
public string? DatasetId { get; init; }
Property Value
Message
Human-readable description of the finding.
public required string Message { get; init; }
Property Value
Point
Optional point location associated with the finding (e.g. the position of a waypoint outside the legal lat/lon range).
public GeoPosition? Point { get; init; }
Property Value
RelatedFeatureId
Identifier of the feature, information type, or other addressable
object within the dataset the finding relates to (typically a
gml:id).
public string? RelatedFeatureId { get; init; }
Property Value
RuleId
Stable identifier for the rule that emitted this finding, traceable
to a spec clause (e.g. "S421-R-3.1").
public required string RuleId { get; init; }
Property Value
Severity
The severity assigned to this finding.
public required ValidationSeverity Severity { get; init; }